여러분은 자신도 모르게 리눅스를 매일 사용하고 있습니다.
매일 85만대 이상의 안드로이드폰이 개통되고 있으며
반면에 윈도우폰은 3만대 정도에 불과하다는
보고서가 있습니다
즉 여러분이 이 동영상을 보고 있는 순간에
이미 100대의 안드로이드폰이 판매되었다는 것을 말합니다.
매일 대략 70만대 가량의 TV가 판매되는데
이 중 대부분은 리눅스를 사용하고 있습니다.
80%의 금융거래가 리눅스를 통해 이루어지며
90%의 슈퍼컴퓨터가 리눅스 상에서 동작합니다
구글, 트위터, 페이스북, 아마존 같은 기업들도 모두 리눅스를 사용합니다.
그런데 리눅스는 어떻게 이런 일들을 가능하게 만들었을까요?
윈도우즈나 iOS등의 다른 운영체제와 달리
리눅스는 회사, 국가, 시장을 넘어선 협력을 통해 만들어진
컴퓨터 역사 상 가장 큰 협력 프로젝트입니다.
2005년부터 대략 8백개에 이르는 회사에 속한
8천명 이상의 개발자들이 리눅스 커널 개발에 참여하여
천오백만 줄에 달하는 코드가 작성되었습니다.
그 중 백오십만줄의 코드는 최근 몇 년간 작성된 것입니다.
참고로 호메로스의 "일리아드"라는 서사시는 15만 줄 정도의 분량입니다.
"전쟁과 평화"라는 소설은 56만개의 단어로 이루어져 있습니다.
하지만 이것은 단지 리눅스가 이렇게 많은 줄의 코드로 작성되었기 때문 만은 아닙니다.
그것은 리눅스가 얼마나 신속히 개발되고 배포되는가에 대한 문제이기도 합니다.
예를 들어, 리눅스의 새 버전은 2~3달에 한번씩 발표됩니다.
반면에 경쟁사들은 수년에 한번씩 새 버전을 내놓습니다.
이것은 리눅스의 독특한 개발 프로세스에 의해 가능합니다.
개발자들이 리눅스 커널에 새로운 코드를 집어넣으려고 할 때는
변경 사항들을 "패치"라고 부르는 단위로 분할합니다.
패치는 소스코드 상에서 수정되고, 추가되고, 삭제되는
부분들을 명시하고 있습니다.
각각의 패치는 새 기능을 더하거나, 새로운 장치를 지원하거나, 문제점을 고치거나
성능을 개선하거나, 코드를 이해하기 쉽게 재작성하는 등의 일을 수행합니다.
개발자들은 자신의 패치를 관련된 메일링리스트에 보내
다른 개발자들로부터 피드백을 받도록 합니다.
패치가 충분히 검토되었다고 판단되면,
메인테이너라고 부르는 고참 커널 개발자들이 이를 취합합니다.
메인테이너들은 커널 내의 다양한 분야를 관리합니다.
이것이 패치가 메인라인에 반영될 것을 보장하지는 않지만,
긍정적인 신호라는 것은 확실합니다.
이제 패치는 보다 광범위한 검증 단계를 거치게 됩니다
메인테이너가 패치에 대한 리뷰를 마치면
패치에 서명(sign off)을 한 후, 리눅스의 창시자인 리누스 토발즈에게로 보내는데
리누스 토발즈는 어떤 패치를 포함시킬지에 대한 최종 승인 권한을 가지고 있습니다.
매 버전이 발표될 때마다
대략 1만개 정도의 패치가 포함됩니다.
평균적으로 매 시간 당 6개 정도의 패치가 적용되는데
이러한 리눅스의 개발 속도는 비할 데 없이 빠릅니다.
오늘날 리눅스는 모바일, 기업 시장, 웹 환경,
데이터 센터, 슈퍼컴퓨팅 등의 시장을 석권하고 있습니다.
리눅스의 미래는 어떨까요? 협업을 통해 우리는 언제라도 준비된 자세일 것입니다.