또 다른 유닉스가 나올 수 있을까? 새로운 운영체제가 갑자기 나타나서 몇 십 년 내에 세상을 지배할 수 있을까? 나는 유닉스에 대해 이야기할 때 이 질문을 자주 받는다. 내 대답은 ‘아니오’로, 적어도 현재는 그렇다. 혁명은 일어나지 않을 것이다. 더 그럴듯하게 이야기하자면, 운영체제는 계속 진화하겠지만, 유닉스의 유전자는 오래 살아남을 것이다.
하지만 컴퓨팅의 다른 영역에서 비슷한 성공이 일어날 수 있다. 언제든 창조력이 넘치는 사람들이 있고 좋은 관리자도 있게 마련이며, 하드웨어는 매우 저렴하고 훌륭한 소프트웨어는 흔히 무료다. 반면 이제는 규제가 없는 환경이 드물고, 산업계 연구는 50년 전보다 훨씬 줄어든 데다, 제약 하에 단기 목표에 집중하며 학계 연구도 항상 자금 지원에 묶여 있다.
그래도 나는 낙관적이다. 훌륭한 아이디어는 개인에게서 나온다고 믿기 때문이다.
예를 들어 초창기 유닉스에 공헌한 사람의 수는 매우 적었다. 핵심은 켄 톰프슨 한 명이라고 볼 수 있다. 그는 내가 여태까지 만난 사람 중에 최고의 프로그래머이자 비길 데 없이 독창적인 사고방식의 소유자다. 켄과 함께 유닉스의 공동 창시자로 연결되는 데니스 리치는 매우 중요한 기여자였고, 그가 만든 C 프로그래밍 언어는 초창기 유닉스의 발전에 중심 요소이자 여전히 컴퓨팅의 만국 공통어다.
프로그래머들이 매일 사용하는 언어 중 얼마나 많은 것들이 한두 명이 작업한 결과인지 조사해보는 데서 교훈을 얻을 수 있다. 자바(제임스 고슬링), C++(비야네 스트롭스트룹), 펄(래리 월), 파이썬(귀도 반 로섬), 자바스크립트(브렌던 아이크)를 포함한 거의 모든 주요 프로그래밍 언어가 여기에 해당한다. 프로그래밍을 더 쉽고 안전하게 해주는 새로운 언어가 계속 나올 거라고 충분히 예상할 수 있다. 또한 그러한 흐름이 단 하나의 언어로 귀결되지는 않을 거라고 보는 것이 타당할 것이다. 모든 목적에 우수한 단일 언어가 만들어지기에는 너무 많은 트레이드 오프가 존재하기 때문이다.
스타트업에서 시작해서 조 단위 가치의 기업이 된 구글, 페이스북, 아마존, 트위터, 우버와 다른 많은 회사들은 한두 명의 기발한 아이디어에서 비롯됐다. 이러한 사례는 더 나오겠지만, 새 아이디어가 나오고 새 회사가 나타나면 기존의 큰 회사가 재빨리 낚아챌 가능성도 있다. 기발한 아이디어는 지켜질 것이고, 발명자들은 충분히 보상을 받겠지만, 큰 물고기가 작은 물고기를 꽤 빨리 잡아먹을 것이다.
훌륭한 관리도 또 다른 성공 요소다. 이 점에서는 더글러스 매클로이가 단연 돋보인다. 뛰어난 지적 능력과 비할 데 없는 기술적 판단력, 동료가 개발한 것이라면 뭐든지 처음으로 사용해보는 관리 스타일을 지닌 리더였다. 유닉스 자체와 C, C++ 같은 언어, 많은 유닉스 도구가 모두 더글러스의 훌륭한 안목과 날카로운 비평 덕분에 개선됐다. 사용자 설명서부터 수십 권의 영향력 있는 책까지 유닉스와 관련된 온갖 종류의 문서도 마찬가지다. 나는 이점에 대해 개인적인 경험을 들어 증언할 수 있다. 더글러스는 내가 1968년에 쓴 박사 논문의 외부 검토자였고, 내가 쓴 기술 문서와 책에 예리한 논평을 제공했으며, 50년이 넘게 지난 지금도 내 글에 관심을 갖고 보고 있다.
벨 연구소 관리자들은 기술적으로 유능했고, 특히 1127 센터 관리자들은 더욱 그랬기에 좋은 연구를 평가할 줄 알았다. 또한 간섭하지 않는 방향을 추구했기에 특정 프로젝트를 밀어주거나 특정한 접근법을 강요하지 않았다. 벨 연구소에서 30년 넘게 일하는 동안 나는 무슨 연구를 할지 지시받은 적이 없다. 윌리엄 베이커의 뒤를 이어 벨 연구소 연구 부문 부소장으로 일한 브루스 해네이(N. Bruce Hannay)는 『A History of Engineering and Science in the Bell System』(1983)에서 다음과 같이 이야기했다.
"연구 과학자에게 선택의 자유는 극도로 중요합니다. 연구란 미지의 영역을 탐구하는 일이고, 여기에는 어떤 길을 택해야 할지 알려주는 로드맵이 없기 때문입니다. 각각의 과학적 발견은 연구의 다음 경로에 영향을 미치며, 누구도 발견을 예측하거나 예정할 수 없습니다. 그래서 벨 연구소 관리자들은 연구자들에게 가능한 최대한의 자유를 제공합니다. 이는 벨 연구소의 목적과 일치합니다. 연구하는 사람들은 그들의 창조적인 능력 때문에 선택됐고, 우리는 그들이 창조력 을 최대한 발휘할 것을 장려합니다."
이러한 '거의 절대적인 자유'에 대해 내가 지금까지 봤던 가장 좋은 예는 켄 톰프슨과 조 콘던이 자신들이 만든 체스 컴퓨터 벨로 했던 연구다. 어느날 벨 연구소 연구소장인 윌리엄 베이커가 유닉스 방으로 특별한 방문객을 데려왔고, 켄은 벨을 자랑했다. 방문객은 왜 벨 연구소가 컴퓨터 체스 연구를 지원하는지 물었다. 전화와 아무 관련이 없어 보였기 때문이다. 윌리엄 베이커가 대신 대답했다. “벨은 특수 목적 컴퓨터를 실험한 것으로, 이는 새로 운 회로 설계 및 구현 도구의 개발로 이어졌습니다. 그리고 벨 연구소가 다른 분야에서도 눈에 띄도록 해주었습니다.” 켄은 어떤 해명도 할 필요가 없었다.
좋은 연구를 하는 큰 비결은 훌륭한 사람들을 채용하고, 그들이 연구할 흥미로운 주제가 있는지 확인한 다음, 장기적인 안목을 취하고, 방해가 되지 않게 비켜주는 것이다. 물론 완벽하지는 않았지만, 벨 연구소 연구 부문은 이 일을 전반적으로 잘했다.
당시 컴퓨팅은 기술적인 공백 상태에 놓여 있지 않았다. 트랜지스터 발명에서 집적회로 발명으로 이어진 시대상은 50년 동안 컴퓨팅 하드웨어가 계속 기하급수적으로 작아지고 빨라지고 저렴해졌음을 의미한다. 하드웨어가 향상되면서 소프트웨어는 더 쉬워졌고, 우리가 소프트웨어를 어떻게 만들어야 할지 이해하는 방식도 개선됐다. 유닉스는 기술 발전의 물결을 탔고, 다른 많은 운영체제도 마찬가지였다.
서문에서 말한 것처럼 유닉스는 어쩌면 특이점(singularity)이었을 수 있다. 즉 컴퓨팅 세상을 바꾼 상황들의 유일무이한 조합 말이다. 나는 운영체제 분야에서 우리가 다시 이런 현상을 볼 것 같지는 않다. 하지만 몇몇 재능 있는 사람들이 훌륭한 아이디어와 환경적 지원에 힘입어 그들의 발명으로 세상을 바꾸는 일이 다시 일어나지 말라는 법은 없다.
나에게 벨 연구소와 1127 센터는 놀라운 경험이었다. 무한한 가능성, 그리고 그 가능성을 최대한 활용한 최고 수준의 동료와 함께한 시간과 장소였다. 이 정도의 창조 과정을 공유하는 경험을 할 만큼 운 좋은 사람은 거의 없다. 특히 그 경험을 공유한 친구와 동료를 만날 수 있었던 것은 가장 큰 행운이었다.
"우리가 지키고자 했던 것은 그저 프로그래밍을 하기에 좋은 환경이 아니라 유대감을 형성할 수 있는 시스템이었습니다. 우리는 경험을 통해 공동 컴퓨팅의 본질이 (...) 단지 천공기 대신에 터미널로 프로그램을 입력하는 것이 아니라 밀접한 소통을 북돋우는 것이라는 점을 알았습니다."
- 데니스 리치, 「The Evolution of the Unix Time-sharing System」, 1984년 10월
이전 글 : 허팝만 따라 해봐! - 채널 구독자와 조회수를 늘리는 방법이 있나요?②
다음 글 : [취업과 이직을 위한 알고리즘 인터뷰] 코딩 테스트가 무엇인지 알아보고 준비를 돕는 프로그래밍 사이트 4군데를 소개합니다.
최신 콘텐츠