고인이 된 데니스 리치 from Wikipedia.org



2011년 10월 12일 데니스 리치가 사망했다는 뉴스가 전해졌다. 보통의 사람들에게는 그렇게 대단한 뉴스가 아니었을 수 있겠지만, 컴퓨터 과학을 조금이라도 아는 사람이라면 그의 죽음에 모두가 조의를 표했을 것이다. 그런데, 그가 사망하기 불과 1주일 전인 10월 5일에 스티브 잡스가 세상을 떠났다. 아마도 스티브 잡스처럼 전 세계 수 많은 사람들의 애도와 축복을 받은 죽음도 별로 없을 것이다. 그래서인지, 일주일 뒤의 데니스 리치의 죽음에 대해 개인적으로 너무나 사람들이 무심했다는 생각이 들었다. 스티브 잡스도 훌륭한 업적을 냈지만, 오늘날 현대적 운영체제의 원형인 유닉스를 공동개발하고, 수 많은 개발자들의 필수적인 프로그래밍 언어로 수십 년의 시간을 지배했던 C언어의 창시자인 데니스 리치가 만들어낸 사회적 가치는 개인적으로 스티브 잡스를 뛰어넘는다고 생각한다. 그래서, 간단히 그의 인생과 업적에 대해서 알아보고자 한다.



벨 연구소의 과학자 아버지와 아들


데니스 리치는 1941년 9월 9일 뉴욕 인근의 소도시인 브롱스빌(Bronxville)에서 태어났다. 그의 아버지인 알리스테어 리치(Alistair E. Ritchie)도 유명한 컴퓨터 과학자로 벨 연구소에서 오랫동안 일을 하면서 스위치회로(switching circuit) 이론을 정립한 인물이다. 데니스 리치는 하버드 대학에서 물리학과 응용수학 학위를 따고, 1967년 아버지가 일하던 벨 연구소에 입사를 한다. 


벨 연구소에서 그는 유닉스 연구를 다른 팀원들과 함께 공동으로 진행하는데, 여기에서 평생을 그와 함께 하게 되는 동료 브라이언 커니건(Brian Kernighan)을 만난다. 데니스 리치와 브라이언 커니건은 유닉스를 개발하면서 유닉스를 다양한 컴퓨터에 이식할 수 있도록 하기 위해 C 언어를 고안하고, 전설적인 프로그래밍 책인 "The C Programming Language"를 저술하게 되는데, 이 책은 브라이언 커니건과 데니스 리치의 성을 따서 "K&R"이라는 애칭으로 불리게 된다. 데니스 리치가 유닉스 개발에서 맡은 부분은 서로 다른 컴퓨터와 플랫폼에 유닉스를 포팅하는 것으로 유닉스의 대중화에 가장 중요한 부분이었다.


C 언어는 유닉스 프로젝트를 진행하기 위해서 탄생한 부산물이었지만, 유닉스의 성공과는 별도로 엄청난 성공을 거두게 된다. C 언어는 다양한 애플리케이션 뿐만 아니라, 현대적인 대부분의 운영체제와 여러 컴퓨팅 기능을 가진 기계들을 동작시키는 가장 기초적인 언어로 수 많은 개발자들의 사랑을 받았다. 그리고, C 언어의 기본적인 문법을 기초로 하여 현재 가장 인기있는 프로그래밍 언어들이 탄생하게 된다.


이런 공로를 인정받아 1983년 유닉스의 주개발자였던 켄 톰슨(Ken Thompson)과 데니스 리치는 컴퓨터 과학계의 노벨상이라고 할 수 있는 튜링 어워드(Turing Award)를 수상했으며, 1999년에는 클린턴 대통령에게 기술부분 최고의 영예인 국가기술혁신메달(National Medal of Technology and Innovation)을 수여받았다.



오픈소스 문화의 시초가 되다


켄 톰슨에 따르면 1969년 벨 연구소에서 유닉스를 만들게 된 동기가 당시 퇴물과도 같았던 PDP-7에서 스페이스워 게임을 돌릴 수 있도록 하기 위해서 였다고 한다. 어찌보면 별 것도 아닌 것을 위해 말도 안되는 엄청난 일을 벌인 셈인데, 더 놀라운 것은 그의 이런 계획에 데니스 리치를 포함한 최고의 과학자들이 모두 열정적으로 매달렸다는 점이다. 그들의 이런 성향은 오늘날의 시각에서는 이해하기가 쉽지 않지만, 당시 대항문화와 열정으로 가득찬 젊은이들의 문화에서는 충분히 가능한 일이었다.


데니스 리치와 켄 톰슨은 특히나 공동체 지향적인 성향이 강했다고 하는데, 그래서 자신들이 만든 프로그램에 대해서 어떠한 대가도 바라지 않고 친절하게 수 많은 사람들에게 설명을 해주곤 하였다. 특히 이들이 영향을 많이 준 그룹이 캘리포니아 버클리 대학의 컴퓨터 과학자들 이었는데, 켄 톰슨과 데니스 리치는 1970년 대에 서부연안 유닉스 사용자 모임 등을 통해서 유닉스 코드를 한 줄씩 읽어주면서 직접 설명을 하고, 며칠 간 많은 사람들에게 유닉스의 정신을 전파했다고 한다. 


데니스 리치와 켄 톰슨은 자신들이 만든 유닉스가 많은 사람들에게 이용되기를 원했고, 이들의 의지를 이어받아서 버클리 대학의 프로그래머들이 많은 개선을 통해 BSD 유닉스를 탄생시킨다. 이들의 생각들은 리차드 스톨만의 자유소프트웨어재단(FSF, Free Software Foundation)와 오픈소스 운동으로 이어지게 된다.



앞서도 언급했지만, 이렇게 위대한 업적을 남긴 데니스 리치의 죽음은 스티브 잡스의 죽음에 비해 너무나 적은 사람들에게 기억이 되었다. 여기에 대해 컴퓨터 역사가로 유명한 폴 케루지(Paul E. Ceruzzi)는 다음과 같은 말을 남겼다.


리치는 레이더의 아래에 있다. 그의 이름은 널리 알려지지 않았다. 그러나, 당신이 현미경을 가지고 컴퓨터의 내부를 들여다볼 수 있다면, 그의 업적은 그 내부의 어디에나 존재하고 있다.

 


참고자료:


저작자 표시 비영리
신고

WRITTEN BY
하이컨셉
미래는 하이컨셉, 하이터치의 세계라고 합니다. 너무 메마르고 딱딱한 이야기보다는 글로벌 시대에 어울리는 세계 각국의 이야기, 그리고 의학과 과학을 포함한 미래에 대한 이야기의 세계로 여러분을 초대합니다.

받은 트랙백이 없고 ,


앞선 연재에서 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) 운영체제도 모두 리눅스를 조상으로 하여 파생된 것이다. 


...

(다음 회에 계속 ...)


참고자료:

C (programming language) 위키피디아 홈페이지

RIchard Stallman 위키피디아 홈페이지


저작자 표시 비영리
신고

WRITTEN BY
하이컨셉
미래는 하이컨셉, 하이터치의 세계라고 합니다. 너무 메마르고 딱딱한 이야기보다는 글로벌 시대에 어울리는 세계 각국의 이야기, 그리고 의학과 과학을 포함한 미래에 대한 이야기의 세계로 여러분을 초대합니다.

받은 트랙백이 없고 ,