거의 모든 인터넷의 역사 (7) – 유닉스와 리눅스

linux

앞선 연재에서 AT&T와 벨 연구소의 흥망성쇠와 트랜지스터에서 시작된 실리콘 밸리에 대해서 언급한 바 있지만, 벨 연구소의 역할은 거기에서 끝나지 않았다. 당시 AT&T는 미국 전역의 전화시장을 독점하고 있었고, 벨 연구소는 최첨단 네트워크 기술을 개발하는 곳으로 세계적인 명성을 떨치고 있었다. 벨 연구소의 반도체 연구자인 윌리엄 쇼클리의 서부로의 이동에서 탄생한 실리콘 밸리는 시대적인 측면에서도 중요한 의미를 가지는데, 당시 반도체는 주로 미사일 등의 제어장치에 사용됐던 까닭에 군사기술 관련 연구기관이 밀집된 서부에 자리잡기 좋은 환경이 되었다. 윌러엄 쇼클리의 8명의 제자들이 페어차일드 반도체에서 독립해 설립한 인텔은 훗날 PC의 핵심인 CPU를 생산하여 세계적인 기업이 되었다.

유닉스와 UC 버클리, 그리고 C언어

유닉스(Unix)는 교육 및 연구 기관에서 즐겨 사용되는 범용으로 여러 명이 동시에 시간을 나누어 컴퓨터를 이용할 수 있도록 하는 범용 운영체제이다. 1969년 벨 연구소 직원인 켄 톰슨(Ken Thompson), 데니스 리치(Dennis Ritchie), 브라이언 커니건(Brian Kernighan), 더글러스 매클로이(Douglas McIlroy) 등은 다양한 시스템 사이에서 서로 이식할 수 있고, 다중 작업과 다중 사용자를 지원할 수 있는 운영체제를 설계하게 된다.

유닉스 시스템은 일반 텍스트 파일, 명령행 인터프리터, 계층적인 파일 시스템, 장치 및 특정한 형식의 프로세스 간 통신을 파일로 취급하는 등 현대적인 운영체제의 모든 형태를 갖추고 있었다. 처음에는 CPU 칩과 직접 소통할 수 있는 컴퓨터 친화적인 어셈블리 언어로 개발이 되었지만, 다양한 시스템에 쉽게 이식하기 위한 목적으로 인간이 보다 읽기 쉽고, 고치기 쉬운 C 언어라는 프로그래밍 언어를 고안해서 새롭게 프로그래밍을 하게 되는데, 이렇게 해서 1973년에 새롭게 유닉스가 재탄생한다. C 언어를 처음으로 고안한 데니스 리치는 이후 브라이언 케미건과 함께 1972년 <The C Programming Language> 라는 책을 출간해서 C 언어를 일반에 소개하는데, 이 언어는 이후 전 세계 컴퓨터 프로그래밍의 표준언어로 자리잡으면서 유닉스를 넘어서서 컴퓨터와 인간을 연결짓고 소통하도록 만드는 언어로 확고하게 자리잡는다.

유닉스 시스템은 다양한 운영체제의 시초가 되었는데, 대학이나 연구기관에서 채택이 되거나 상업용 운영체제를 만드는 스타트업들이 발전시킨 여러 가지 운영체제로 향후 발전하게 된다. 대표적인 것들이 BSD, 솔라리스(Solaris), HP-UX, AIX 등이 있으며, 애플의 OS X, iOS 등도 유닉스 기반의 Darwin에서 출발한 것이므로 유닉스의 자손으로 간주할 수 있다. 또한, 오픈소스 진영에서도 유닉스와 유사한 운영체제를 많이 만들게 되는데, 가장 중요한 운영체제가 바로 리눅스(Linux)이다.

리차드 스톨만과 리눅스

리눅스와 오픈소스 운동을 이야기하기 위해서는 반드시 언급하고 넘어가야 하는 인물이 하나 있는데, 괴짜 천재로도 불리는 리처드 스톨만(Richard Stallman)이다. 리차드 스톨만은 1953년 뉴욕에서 태어났는데, 그가 처음 컴퓨터를 만난 것은 IBM 의 뉴욕 과학센터(New York Scientific Center)에서 포트란 언어로 수치해석 프로그램을 만들기 위해 일을 시작하면서 부터이다. 고등학교를 졸업한 여름방학 기간에 IBM의 일과 함께 록펠러 대학의 생물학과에서 실험실 조교로 자원봉사를 하였는데, 당시 그를 지도했던 지도교수는 그가 미래에 훌륭한 생물학자가 될 것이라고 믿었다고 한다.

하버드 대학 물리학과에 입학한 리처드 스톨만은 1학년을 마칠 때 이미 수학을 잘하는 학생으로 널리 알려지기 시작했는데, 그의 소문을 듣고 MIT의 인공지능(Artificial Intelligence) 연구실에서 그를 만나 설득을 해서 인공지능 연구실의 프로그래머가 되도록 만든다. 생물학과 물리학, 수학, 그리고 컴퓨터 과학으로 연결되는 그의 커리어는 MIT의 노버트 위너를 연상시키기도 한다.

MIT의 인공지능 연구실은 그를 해커의 사회로 이끌게 된다. 리차드 스톨만은 해커 커뮤니티에서 자신의 컴퓨터 계정이름인 “rms”라는 이름을 자신의 이름을 대신하여 이용했는데, 최초의 해커사전(Hacker’s Dictionary)에도 자신을 “Richard Stallman” 이라고 쓰지 말고 ‘rms’로 불러달라고 하였다. MIT의 일을 하면서도, 리차드 스톨만은 1974년 하버드 대학 물리학과를 수석으로 졸업하는데, 학부를 졸업하고 대학원 역시 물리학으로 MIT로 진학을 한 리차드 스톨만은, 학문과 프로그래밍 모두를 하기 보다는 컴퓨터 프로그래밍 쪽에 집중하기로 하고 MIT에서의 박사학위 과정을 포기한다. 대신 MIT AI 연구실에서 연구를 하면서 여러 논문을 발표했는데, 이때 발표한 논문 중에는 아직도 인공지능 분야에 있어 가장 중요한 연구 중의 하나로 일컬어지는 것도 있다.

1970년대 말에서 1980년대 초 리차드 스톨만이 주도했던 해커문화는 생각처럼 일반화되지 못했다. 그 보다는 마이크로소프트를 비롯한 주요 소프트웨어 회사들은 복사를 방지하고, 동시에 비슷한 소프트웨어가 탄생할 수 없도록 소스코드에 대한 저작권 및 관리를 강화하는 방향으로 움직인다. 대부분 복사와 재배포를 금지하는 방향으로 라이센스 정책이 구성되었고, 이런 변화는 일부 소프트웨어 회사의 정책이 아니라 일반적으로 당연히 받아들여지는 분위기가 정착되기 시작하였다. 그런데, 이런 분위기의 변화는 리차드 스톨만과 함께 MIT에서 많은 일을 같이 했던 브루스터 칼(Brewster Kahle)이 미국 저작권법 개정에 1976년에 주도적으로 참여하면서 이루어졌다. 이에 대해 리차드 스톨만은 “인간성에 대한 범죄(crime against humanity)”라는 강한 표현을 쓰며 사용자의 자유의지를 가로막는 행위라면서 강력히 반발한다. 또한 MIT 인공지능 연구실 역시 인공지능 언어인 LISP 기반의 새로운 소프트웨어 회사 설립사건과 관련하여 서로 다른 접근방식과 철학의 두 명의 연구자들의 벤처기업 설립으로 파가 갈리면서, 심각한 내분에 휩싸인다. 이런 일련의 사건을 겪으면서 리차드 스톨만은 소프트웨어 사용자들의 자유의지와 권리를 중시하고, 자신의 소프트웨어를 이웃들과 공유하고, 또한 사용자가 추가적인 연구나 에너지를 투입해서 새로운 소프트웨어를 창출할 수 있는 기회를 빼앗아서는 안된다는 신념에 입각하여 Free 소프트웨어 프로젝트인 GNU 프로젝트를 1983년 9월 발표한다.

1984년 2월 MIT를 그만 둔 리차드 스톨만은 GNU 프로젝트에 헌신하기로 결심한다. 1985년 GNU 선언(manifesto)를 통해 유닉스와 호환이 되는 공짜 운영체제인 GNU를 만드는 이유와 철학을 일반에 알리고, 곧 이어 비영리재단인 FSF(Free Software Foundation)를 설립해서 공짜 소프트웨어 프로그래머들을 고용하고 이들의 정신과 활약을 전세계에 퍼뜨리는 역할을 자임하였다. 그는 재단으로부터 아무런 월급도 받지 않았으며, 새로운 문화와 철학을 알리기위해 카피레프트(copyleft) 운동을 펼치면서, 소프트웨어 부분에 적용할 새로운 라이센스인 GNU GPL(General Public License) 등을 발표한다. 그의 이러한 활동은 이후 나타나게 되는 CCL(Creative Commons License)과 같은 다른 산업영역에서의 새로운 라이센스 정책을 포함하여, 공익와 사회적가치에 중점을 둔 새로운 철학 및 정책의 탄생에 엄청난 영향을 주게 된다. 또한, 이런 문화적인 운동과 함께 본인이 직접 프로그래머로서 GNU 운영체제를 이루는 텍스트 편집기(Emacs), 컴파일러(GCC), 디버거(gdb), 빌드도구(gmake) 등과 같은 가장 핵심적인 유틸리티들을 직접 작성하였다. 그의 이런 노력에 화답을 하고, 세계적인 영향력을 행사할 수 있게 만드는 사람은 의외로 미국이 아닌 핀란드에서 나타난다. 1991년 핀란드의 대학생이었던 리누스 토발즈(Linus Torvalds)는 GNU 개발도구를 이용해서 운영체제의 핵심인 리눅스 커널을 개발하는데, 그의 커널은 그동안 개발은 되었지만 많은 부분 문제가 있었던 GNU 프로젝트 커널을 대체하면서 실체화가 가능한 운영체제로 거듭나게 되는데, 이것이 바로 오늘날 운영체제 계보에 있어 가장 커다란 영향력을 행사하고 있는 리눅스(Linux)이다.

리눅스는 소프트웨어 산업에 있어 무수한 영향력을 행사한 기념비적인 소프트웨어이다. 비록 그 자체가 어떠한 비즈니스 모델도 가지지 못했고, 이를 이용해서 직접적인 돈을 벌었다는 사람들도 나오지 못했지만 역사를 돌아보면 실제로 이와 연관된 사업규모는 따지지 못할 정도로 크다. IBM은 리눅스를 주된 운영체제로 채택하면서 컴퓨터 하드웨어 주도의 기업에서 완전히 지식서비스 기반의 회사로 변신하는 계기가 되며, 그들의 서버는 최고의 리눅스 서버로 자리잡게 되었다. 소프트웨어 측면에서도 오늘날 아이폰과 함께 전세계를 호령하는 모바일 운영체제인 안드로이드를 비롯하여, 삼성전자가 주도하는 타이젠(Tizen), 그리고 최근 새로운 대안으로 떠오르는 양대산맥인 우분투(Ubuntu)와 모질라의 파이어폭스(Firefox) 운영체제도 모두 리눅스를 조상으로 하여 파생된 것이다. (다음 회에 계속 …)

참고자료:
Unix 위키피디아 홈페이지
C (programming language) 위키피디아 홈페이지
RIchard Stallman 위키피디아 홈페이지

글 : 정지훈
출처 : http://highconcept.tistory.com/2947

%d bloggers like this: