컴퓨터 과학자로서의 삶

버틀러 램슨 (1986)​†​

버틀러 램슨(Butler W Lampson)은 1943년 12월 23일에 미국 워싱턴 D.C.에서 태어났다. 그의 부친이 외교관이었기 때문에 램슨이 어렸을 때는 아버지를 따라 튀르키예와 독일에서 살았다.

우리는 튀르키예에서 독일로 이사했습니다. 크리스티안[?] 뒤셀도르프에 살았는데 거기서 야채를 싫어하게 되었지요. 왜냐하면 뒤셀도르프는 영국령의 일부였는데 거기서 일 년 동안 영국 군사학교에 다녔기 때문이죠. 그 학교는 영국 군대의 요리법에 대한 영광스러운 전통을 모두 따르고 있었습니다. (다행히 지금은) 그 영향에서 대부분 벗어난 상태이기는 하지만 여전히 미니 양배추brussel sprout는 입에 댈 수가 없습니다.​1​

그는 로렌스빌 스쿨이라는 고등학교에 다녔다. 이곳은 뉴저지에 위치했고 프린스턴에서 6마일 정도 떨어져 있는, 유서 깊은 엘리트 기숙학교였다. 이 시기에 그는 처음으로 컴퓨터를 접하게 된다. 1958년이었다.

내가 프린스턴에 아주 가까운 고등학교에 다닐 적에, 친구 한 녀석이 프린스턴 대학교의 작은 연구실에 설치된 [IBM] 650 컴퓨터를 발견했습니다. 그 컴퓨터는 별로 쓰는 사람이 없었고 그래서 그 녀석은 그곳에서 일하는 여성을 어떻게 잘 구워삶아서 아무도 안 쓰는 시간에 우리가 쓸 수 있게끔 만들었습니다. 그렇게 해서 나는 처음으로 프로그램을 짜게 되었습니다.​1​

우리가 뭐 특별나게 중요한 걸 만들지는 않았습니다. 하지만 그렇게 해서 나는 처음으로 컴퓨팅의 세계를 접했습니다.​2​

램슨은 하버드 대학교에 입학했다. 그는 물리학을 전공했지만 컴퓨터와의 인연은 계속 이어졌다. 안식년을 보내기 위해 모교로 돌아와 있던 켄 아이버슨​‡​으로부터 APL 언어에 대해 배웠고, 케임브리지 전자가속기Cambridge Electron Accelerator에서 촬영한 사진을 분석하기 위한 프로그램을 PDP-1에서 작성하기도 했다.​3​


1964년에 하버드 대학교 물리학과를 졸업한 그는 프린스턴 대학원에 진학하려 했으나 입학 허가를 받지 못했다. 그래서 그는 캘리포니아 버클리 캠퍼스의 물리학과에 진학했다. 그는 입학하기 전 여름에 로스앨러모스에서 잠시 인턴 생활을 했다. 원래는 물리학에 연관된 일을 하기로 되어 있었으나, 그의 프로그래밍 경험을 알게 된 그룹에 의해 결국은 대형 포트란 프로그램만 작성하다가 끝났다고 한다.​2​

9월에 버클리에 입학한 그는 10월에 샌프란시스코에서 열린 추계 합동 컴퓨터 학술대회Fall Joint Computer Conference에 갔다가 스티브 러셀과 조우하게 된다. 러셀은 그에게, 버클리 캠퍼스의 코리 홀 건물에서 몰래 진행되고 있는 지니Genie 프로젝트에 관해 알려주었다. 그렇게 해서 램슨은 아무 표식도 없는 문을 열고 들어가, 어느 넓은 방에서 혼자 열심히 프로그램을 짜고 있던 피터 도이치를 만나게 된다.


여기서 약간의 배경 설명이 필요할 듯하다. 먼저 스티브 러셀이 어떻게 램슨과 도이치를 둘 다 알고 있었는지부터 살펴보자. 스티브 러셀은 MIT 인공지능연구소의 핵심 프로그래머였다.​4​ 그는 리스프Lisp 인터프리터를 만들었고, 그 유명한 스페이스워Spacewar! 게임을 만든 사람이기도 하다. 버틀러 램슨은 하버드 대학교에 다녔으므로 MIT와는 직접적인 관련이 없다. 하지만 램슨은 당시 PDP-1 컴퓨터로 많은 프로그래밍을 했고, 스티브 러셀도 PDP-1 컴퓨터를 많이 사용했으므로 두 사람은 자연스럽게 알고 지내는 사이가 되었던 것으로 추측된다. 러셀은 램슨보다 6살이 많다.

피터 도이치는 램슨에 비해 3살이나 어리다. 램슨이 코리 홀에서 도이치를 처음 보았을 때 램슨은 물리학과 대학원생이었지만 도이치는 전기전자과 학부생이었다. 도이치는 12살 때 컴퓨터 프로그래밍에 빠져 들었다. 그의 아버지는 MIT 물리학과 교수였다. 도이치는 아버지가 학교에서 가져온 유니백Univac 컴퓨터 사용설명서를 들춰보다가 컴퓨팅의 세계에 사로잡혔다. 그는 MIT의 컴퓨터 센터를 돌아다녔고 아무도 컴퓨터를 사용하지 않을 때 신나게 프로그래밍을 했다. 그의 프로그래밍 실력은 입소문을 타고 번졌고 아직 고등학생이던 그가 작성하다가 버린 종이를 대학생들이 몰래 꺼내 볼 정도였다고 한다.​5​ 그러니 당시 MIT 인공지능연구소에서 일하던 러셀이 도이치에 관해 관심을 가지고 있었음은 당연했을 것이다.

마지막으로, 왜 지니 프로젝트는 표식도 없는 문 뒤에 숨어서 진행해야만 했을까? 그 이유는 이 프로젝트가 ARPA의 지원을 받았기 때문이었다. ARPA는 미 국방부 산하 기관이다. 그런데 1964년은 미 서부 지역의 대학들에서 정치적 목소리가 불거져 나오기 시작한 해​§​이며, 캘리포니아 버클리 캠퍼스는 그 중심에 있었다. 따라서 미 국방부의 지원을 받아 진행하는 프로젝트를 굳이 공개적으로 노출할 필요는 없었으리라는 추측이 가능하다.​¶​


지니 프로젝트의 목표는 시분할time-sharing 컴퓨터 시스템 개발이었다. 1964년이면 이미 MIT에서 CTSS라는 최초의 시분할 운영체제를 개발한 이후이다. 그리고 ARPA의 IPTO에서 대학 연구 과제 지원을 담당하고 있던 릭라이더Licklider는 MIT에서 추진하던, 차세대 시분할 시스템을 위한 MAC 프로젝트를 대대적으로 지원하기로 한 상태였다. 그럼에도 불구하고 릭라이더Licklider는 미 서부에 있는 버클리에서도 시분할 시스템을 개발하도록 지원했다.

지니 프로젝트는 버클리의 데이비드 에반스 교수가 책임자였지만 대학원생인 멜 퍼틀이 실질적인 리더였다. 멜 퍼틀은 사이언티픽 데이터 시스템즈Scientific Data Systems의 SDS 930 컴퓨터에 시분할 운영체제를 구현할 생각이었다. 이를 위해 약간의 하드웨어 변경이 필요했다.

SDS 930​#​

램슨은 지니 프로젝트에 완전히 매료되었다. 그는 운영체제의 일부와 몇 개의 프로그래밍 언어를 개발했다. 자연스럽게 그는 물리학에 대한 흥미를 잃었고 컴퓨터 과학으로 방향을 틀었다.

이론 물리는 어느 때고 상당히 협소한 분야입니다. 붙잡고 해야 할 중요한 것들이 상대적으로 적습니다. 그래서 최소한 노벨상을 노릴 만한 주제를 가지고 있지 않다면 그 분야에 크게 기여하기가 아마도 어려울 겁니다. 그리고 나는 내가 그런 걸 잘한다고 생각지 않았습니다.​2​

지니 프로젝트가 끝나고 1967년에 램슨은 전기공학 및 컴퓨터과학으로 박사 학위를 받고, 곧바로 조교수로 임명되었다. 1968년에 램슨은 Cal TSS(Time-Sharing System) 개발에 합류한다. Cal TSS는 버클리가 정부로부터 제공받은 CDC 6400 컴퓨터에 시분할 시스템을 구현하는 프로젝트였다. Cal TSS는 몇 가지 점에서 흥미롭다. 우선, 능력 기반capability-based 보안 시스템을 최초로 구현한 시스템이라는 점이 눈에 띈다.​**​ 또 하나는 이 프로젝트에 참여한 사람들의 면면이다. 짐 그레이Jim Gray, 찰스 시모니Charles Simonyi, 하워드 스터지스Howard Sturgis, 브루스 린지Bruce Lindsay 등이 있는데 이들은 후에 각자의 분야에서 큰 명성을 떨쳤다.

Cal TSS 프로젝트에 참여하는 와중에도 램슨은 지니 프로젝트의 다음 단계를 프로젝트 구성원들과 함께 고민했다. 이들은 지니 프로젝트의 경험을 바탕으로 ‘제대로’ 된 ‘대형’ 시분할 시스템을 만들고 싶었다. 그런 규모의 프로젝트는 학교 내에서 진행하기 어려움을 깨달은 그들은 회사를 차리고 외부 투자를 끌어들이기로 마음먹었다. 1969년에 램슨은 멜 퍼틀, 피터 도이치, 척 새커 등과 함께 BCC(Berkeley Computer Corporation)라는 회사를 설립했다. 멜 퍼틀은 큰 투자액을 유치했고 이들은 대형 시분할 시스템을 하드웨어에서부터 직접 구현하는 도전에 나섰다.​5​

2년 동안 4백만 불이라는 거금을 쏟아부었지만 결과는 비관적이었다. 한 대의 시제품을 만들었지만 너무 복잡해서 불안정했고 예상했던 만큼의 성능이 나오지 않았다. BCC는 이제 가라앉는 배였다. 그런데 바로 이때 BCC의 창고형 사무실에 귀인이 나타났다. 릭라이더의 뒤를 이어서 ARPA의 IPTO를 이끌었던 밥 테일러였다. 그는 당시 최고의 사무기기 회사였던 제록스에 컴퓨터 연구소를 설립하기 위한 작업을 진두지휘하고 있었다. ‘미래의 사무실’을 만들려는 제록스의 야심에 동참할 젊은 피를 찾던 테일러에게 BCC의 인력은 금광이나 다름없었다. 결국 램슨을 포함하여 척 새커, 피터 도이치, 찰스 시모니, 짐 미첼 등이 1971년에 제록스 팔로알토 연구소에 합류했다.


‘미래의 사무실’을 위해 제록스 팔로알토 연구소에 모인 이들은, 먼저 자신들이 사용할 컴퓨터를 구해야 했다. 이들이 원했던 것은 당시 가장 인기 있던 PDP-10 컴퓨터였지만, 안타깝게도 회사에서는 이를 허락해 주지 않았다. 제록스는 컴퓨터 업계에 본격적으로 발을 담그기 위해서 SDS를 인수한 상태였고 따라서 SDS의 경쟁사인 DEC이 판매하는 PDP-10을 구매하도록 허용하지 않았다. 결국 램슨을 포함한 팔로알토의 인력들은 직접 PDP-10 호환 컴퓨터를 만들기로 결심했다. 2년의 개발 기간 후에 마침내 MAXC라는 이름의 컴퓨터가 모습을 드러냈다. MAXC는 경영진이나 언론에게 시연하기 위해 만든 기계가 아니라, 연구원이 직접 사용하기 위해 만든 기계였다. 그리고 실제로 톡톡히 역할을 해내었다. 뿐만 아니라 이 시스템을 개발하면서 얻은 지식, 경험, 도구들은 알토Alto 컴퓨터에 그대로 사용되었다.​††​

버틀러는 제록스 팔로알토 연구소의 모든 혁신에 관여했다고 해도 과언이 아니다. 그는 MAXC에서부터 시작해서 알토Alto, 그리고 알토의 후속작인 도라도Dorado에 이르기까지 시스템의 전체 구조 설계와 프로세서 마이크로코드 작성에 관여했다. 또한 제록스 팔로알토 연구소의 대표작인 레이저프린터와 이더넷을 포함하여 문서편집기, 프로그래밍 언어, 보안 등에서 눈부신 기여를 했다.


한때는 현금을 주체하지 못할 정도로 잘 나가던 제록스였지만 경쟁자와 경쟁제품의 등장으로 힘을 잃기 시작했다. 1983년에 마침내 제록스 팔로알토 연구소는 큰 소용돌이에 빠지고 만다. 컴퓨터 연구를 이끌어가던 밥 테일러가 회사의 압력으로 자리에서 물러났다. 그러자 그를 따르던 연구원들이 크게 동요했다. 결국 램슨은 여러 동료 연구원과 함께 밥 테일러를 따라 DEC의 시스템 연구 센터로 자리를 옮겼다. 이곳에서 그는 분산 이메일 시스템을 개발하면서 분산 시스템 설계, 보안, 네트워크에 관한 연구에서 좋은 성과를 냈다.

1995년에 램슨은 다시 새로운 모험에 도전했다. 그는 DEC를 떠나 마이크로소프트 연구소에 합류했다. 그는 태블릿 컴퓨터용 소프트웨어, 보안, 일반 사용자 프로그래밍 등의 분야에서 연구를 계속하고 있다.

1 2 3 4 5