Frederick P. Brooks Jr

 

컴퓨터를 만든 15 인의 과학자 : Dennis Shasha. Cathy Lazere 공저, 박영숙 옮김, 세종연구원, 1998 (원서 : Out of Their Minds : 1995)

 

 

사물이 작동하도록 만드는 일의 기쁨

과학자들이란 자신의 실험실에서는 마치 신과 같은 존재이다. 그들은 게임의 규칙, 즉 어떤 질문을 제기해야 하며 어떤 방법을 사용할 것인지 등을 결정한다. 그들의 유일한 의무는 자신들이 사용하는 절차와 연구 결과를 동료들에게 보고하는 것 뿐이다. 수많은 위대한 인물들을 포함해 대부분의 과학자들은 다른 사람들이 그 결과를 이상적인 실험실 환경에서 혼잡한 바깥 세계로 끌어 내게 만드는 것을 선호한다. 하지만 프레드 브룩스는 다르다.

1961 년 프레드 브룩스는 IBM 의 한 부서에 전용으로 설치할 컴퓨터 라인을 설계 제작하는 싸움을 거의 마무리하는 중이었다. 회사의 경영진은 모든 부서 간에 작동할 수 있는 단일 제품 라인을 원했다. 놀랍게도 브룩스는 IBM System/360 이라는 작품을 이끌어 가도록 요청받았다. 그의 그룹은 성공을 거두어, IBM 이 이 후 30 년에 걸쳐 컴퓨터 분야에서 우위를 차지하도록 만들었다.

IBM 을 떠난 후 브룩스는 채펄 힐에 자리한 노스 캐롤라이나 대학에서 컴퓨터 과학과를 세우고 이끌어갔다. 그는 또한 그래픽 분야의 연구 프로젝트를 지휘하기도 하였다. 그 작업은 현재 가상 현실이라고 불리는 산업의 기초를 확고히 다지는 데 도움이 되었다. 브룩스의 연구 철학은 두 줄기 흐름을 보이는 그의 생애에서 늘 변함없이 생동하고 있었다. 그것은 다른 누군가의 문제를 해결하여, 자신의 해법이 그것에 유효하도록 만드는 것이었다.

  누군가가 우리에게 "당신이 하고 있는 일은 당신이 즐기는 만큼 값진 것이지만, 내게는 아무런 도움도 되지 않습니다." 라는 말을 할 수 있을 때, 우리는 항상 성실한 태도를 견지할 수 있습니다.

브룩스가 이야기를 할 때면 언제나 그의 출생지인 노스 캐롤라이나의 온화한 억양을 들을 수 있다. 사실 그는 성인이 되고 난 후 대부분의 세월을 고향 근처에서 살았다. 브룩스는 1931 년 더럼에서 태어나 그 근방의 작은 마을인 노스 캐롤라이나 주 그린빌에서 성장하였다. 의사의 아들이었던 브룩스는 일찍부터 과학과 컴퓨터에 흥미를 보였다.

  난 13 살 나던 해 (1944) 잡지에 하버드 마크 I (Havard Mark I) 에 대한 기사가 실린 것을 보면서 컴퓨터에 매료당했습니다. 난 그 분야에서 내가 구할 수 있는 모든 자료를 읽었고, 파산 정리 세일을 하는 곳을 찾아 낡은 사무 기기들을 수집하기 시작했습니다.

IBM 과 하버드가 손잡고 추진한 전시 공동 연구의 산물이었던 마크 I 은 포탄의 무게, 각도, 풍향, 속도같은 요인들을 토대로 전함 대포의 탄도를 계산해 냈다. 이 거대한 계산기 (50 × 10 × 8 피트) 의 전기 계수기는 작동할 때 큰 소음을 냈지만, 그 시끌벅적한 열기에도 불구하고 속도는 오늘날의 개인용 컴퓨터에 비해 약 1 억 배나 느렸다 (그 기계는 3 헤르츠의 시계를 가지고 있었다). 고등학교 시절 브룩스는 전후 상황에서 전자공학이 가지는 강한 매력에 사로잡혀 버렸다.

  우리 고등학교에는 무선통신 클럽과 전기공학 클럽이 있었습니다. 그 고등학교에서 아주 훌륭한 과학 교사였던 로빈슨 (Robinson) 선생님이 우리에게 그 모든 과외 활동을 장려하였지요. 우리는 오락용 음향 효과를 만들어 내고, 댄스 파티의 음악을 준비하기도 했습니다.

  여름이면 난 생활비를 위해서 금속박판을 두드려 담배 저장 창고로 들어가는 배기관을 만드는 일을 했습니ㅣ다. 그린빌은 담배 벨트의 정중앙에 위치한 곳이었지요.

브룩스는 듀크 대학에서 물리학을 전공하고 부전공으로 수학을 선택하였다. 그의 졸업 학기 프로젝트는 진공관으로 폐쇄 회로 텔레비전 시스템을 제작하는 것이었다. 그는 물리학을 좋아하긴 했지만, 보다 젊은 분야에 마음이 끌리는 것을 느꼈다.

  난 물리학을 담당한 해럴드 루이스 (Harold Lewis) 교수에게 나의 가장 큰 관심이 컴퓨터와 맞는다고 설명하였습니다. 그러자 그분은 "이제 와서 처음부터 시작해 유리한 위치에 이르는 것은 불가능하다. 그러기엔 이미 너무 늦어 버렸다. 하지만 1 차 착륙은 잡을 수 있을 것이다." 라는 말씀을 하셨습니다.

첫 번째 착륙은 하버드에서 하워드 에이킨 (Howard Aiken) 과 함께 하게 되었다. 그는 바로 브룩스가 수년 전에 읽은 기사에서 다루어졌던 마크 I 을 설계한 인물이었다. 에이킨은 마크 1 호 이 후 IBM 과 결별하였다. 그는 전자 진공관을 사용하기를 원한 반면, IBM 측에서는 계속해서 전기-기계식 계전기를 선호하였기 때문이었다. 에이킨은 젊은 브룩스에게 큰 감명을 주었다.

  그는 강인한 사람이었습니다. 약 6 피트 3 인치 가량의 키에 눈썹은 치켜올라가고 스포크형 (Spockian) 귀를 가지고 있었지요.

  그가 몹시 화가 난 채로 누군가를 내려다 볼 때면 마치 악마의 화신을 보고 있는 듯한 모습으로 느껴졌지요. 거의 언제나 그는 사람들에게 큰 용기를 북돋아 주는 인물이었습니다. 논문을 쓰는 동안엔 매일같이 그 전날 이후로 작성된 부분을 읽어 볼 기대에 차서 사무실에 나오곤 했습니다. 그 덕에 나를 비롯한 일부 학생들은 3 년만에 박사 프로그램을 마칠 수 있었습니다.

그 학생들 중에는 켄 아이버슨 (Ken Iverson) 도 포함되어 있었다. 그는 엄격하고 간소하지만 강력한 프로그래밍 언어 APL 을 고안해 내어 1979 년 튜링상을 수상하였다.

브룩스가 1954 년 논문 작업 준비를 마쳤을 무렵, 에이킨의 실험실은 자체 개발한 최신 컴퓨터로 공군에서 사용될 마크 IV 의 설계를 마무리한 상태였다. 이전 모델들과 마찬가지로 마크 IV 역시 과학적 계산과 엔지니어링에 사용될 것이었다.

에이킨은 업무용 계산에는 전혀 다른 설계가 요구될 것이라는 확신을 가지고 브룩스에게 그것을 시도해 보도록 요청하였다. 브룩스의 혁신적 설계는 1956 년 IBM 과 함께 진행한 극히 야심적인 스트레치 컴퓨터의 작업에 이르는 디딤돌이 되었다.

 

  스트레치는 처음으로 제품이 인도된 1961 년 CDC6600 이 등장할 때까지 세계에서 가장 빠른 수퍼 컴퓨터로 인정받았습니다. 당시 제작된 것은 모두 9 대였고, 가격은 약 천만 달러 수준이었습니다. 그것은 순전히 과학용 수퍼 컴퓨터로 설계된 것이었습니다. 최초의 제품은 로스 알라모스 과학 연구소 [고에너지 물리학 및 무기 (weapons) 연구소] 로 보내졌습니다.

  우리는 흔히 하비스트 (Harvest) 라고 불리는 국가 안전보장회의에서 사용될 문자 처리기 부속품 (스캐너) 을 제작했습니다. 그것은 크기가 스트레치 본체의 약 세 배에 달했지요. 아주 인상적인 기계였습니다.

스트레치는 현대 컴퓨터 설계의 여러 가지 개념들을 개척하였다. 맨 먼저 존 코크 (John Cocke) 와 하우드 콜스키 (Harwood Kolsky) 가 명령 파이프라인을 발명하였다.

'파이프라이닝 (Pipelining)' 은 컴퓨터에서 어셈블리 라인, 즉 일관작업열에 상응하는 개념이다. 자동차 생산의 어셈블리 라인이 수많은 상이한 자동차 조립 부품들을 각기 다른 완성 단계에서 움직이는 것처럼, 파이프라인 처리 컴퓨터는 다양한 연산 (덧셈, 뺄셈, 곱셈, 나눗셈 등) 의 집합체를 상이한 완성 단계에서 진행시킨다. 그것의 순수한 효과는 그 컴퓨터가 어떤 단일한 단계를 완료하는 데 걸리는 시간 내에 하나의 새로운 결과를 완성해 낸다는 것이다. 이 방법은 처음부터 전체 결과를 산출하는 것에 비해 훨씬 더 시간을 절약시켜 준다.

코크는 훗날 예를 들면 PowerPC 칩의 기초가 된 RISC, 즉 축소 명령 세트 컴퓨터 (reduced instruction set computer) 의 개발과 효율적인 언어 번역에 관한 많은 아이디어에 자극을 주었다. 또한, 브룩스와 듀라 스웨니 (Dura Sweeney) 는 차단 가능한 (maskable) 인터럽트의 개념을 고안해 냈다.

'인터럽트 (interrupt)' 는 전화에 비교할 수 있다. 당신이 열성적인 젊은 이사이며 창문이 없는 작은 방 크기의 한 사무실에서 각기 번호가 다른 몇 대의 전화를 가지고 있다고 상상해 보자. 회사에서 확실하게 직급이 상승되려면 조직이나 당신의 경력에서 사람들이 어느 정도의 영향력을 갖는지에 따라 각각의 전화 번호를 지정한다. 자연스럽게 사장에겐 1 번 전화의 번호를, 부사장에겐 2 번 전화의 번호를 부여하는 식으로 각 전화의 번호를 지정할 것이다. 사장이 전화를 걸면 당신은 다른 전화의 벨이 울리는 것을 무시하거나 혹은 '차단 (mask)' 하고 싶을 것이다. 만일, 당신이 무언가 아주 중요한 일을 하는 중이라서 사장조차도 방해해서는 안 될 경우라면 모든 전화를 차단해 버린다.

실제로 오늘날 모든 컴퓨터들이 이러한 체계를 사용하고 있다. 에드거 코드 (Edgar F. Codd) (훗날 관계 데이터 베이스의 발명으로 1981 년 튜링상 수상) 는 스트레치에 인터럽트 부속 시스템을 사용하여 최초의 대화식 운영 시스템을 구성하였다. 그것은 오늘날 모든 사람이 당연한 기능으로 여기고 있는 것처럼, 사용자가 키보드에서 입력을 하고 스크린 상에서 그 분자를 볼 수 있도록 만들어 주었다. 하지만 컴퓨터를 인터럽트하면서 전자적 혼동을 일으키지 않기 위해서는 직접 키를 누럴야 한다. 즉, 컴퓨터를 항상 분별력 있는 상태로 유지시키기 위해 차단을 행하는 것이다.

스트레치 프로젝트는 컴퓨터 용어집에도 영구적인 자취를 남겼다. 수석 설계사 워너 부콜즈 (Werner Bucholz) 는 '바이트 (byte)' 라는 단어를 만들어 냈다. 그것은 문자를 수용하기에 충분한 길이를 가지는 일련의 1 과 0 들을 의미한다. 8 비트 바이트에 저장될 수 있는 256 가지의 가능한 값은 대부분의 유럽 언어 알파벳에서 하나의 문자 (문자, 숫자 또는 구두법 부호) 를 수용하기에 충분하다. 우리가 예를 들어 900 메가바이트의 하드 디스크 [판매원의 통용어로 900멕 (megs)] 를 가진 컴퓨터를 요구할 때 사용하는 바이트라는 표현이 바로 스트레치 설계사들이 사용한 것과 같은 의미이다.

50 년대부터 스트레치 프로젝트가 서서히 마무리될 무렵까지, IBM 은 과학적 컴퓨터 산업에서 선두를 지켰다. 그것이 가능했던 것은 대체로 낮은 비용의 7090 하드웨어와 고급 프로그래밍 언어 포트란 (배커스에 대한 장 참조) 이 거둔 성공의 덕택이었다. 그러나 상업적 자료 처리에 관련된 시장의 65 퍼센트를 두고 치열한 경쟁이 벌어져 RCA, 제너럴 일렉트릭, 유니박 (Univac) 등을 비롯한 그 밖의 컴퓨터들이 아주 강력하게 대두되었다.

1960 년 브룩스는 잠시 법인의 연구소에서 맡았던 일을 마무리하고 뉴욕 주 포킵시에서 시스템 설계의 최고 책임자가 되었다. 그 곳에서 IBM 은 회사 전체를 통틀어 가장 큰 기계들을 설계하였다 (그리고 지금도 계속 설계 중이다). 시스템 설계사는 기계의 전반적인 설계를 결정한다. 거기에 요구되는 메모리의 용량, 처리할 수 있는 자료의 유형, 그것이 따르게 될 명령들의 세부 사항, 파이프라인 관리 방법 등이 포함된다. 브룩스의 팀은 스트레치를 토대로 만든 설계안을 제출하였다.

  최고 관리진에서는 하나의 부서에 국한되는 형태의 생산 라인은 새로 필요없다는 결론을 내렸습니다. 부서 간에 교류가 이루어지는 생산 라인이 요구되었던 것입니다. 그날 밤 나의 상관이 교체되었습니다. 밥 에반스 (Bob Evans) 가 그 자리를 물려받았지요.

브룩스는 그 결정에 반대하여 싸웠지만 결국엔 지고 말았다.

  그렇게 하여 분쟁은 결국 1961 년 6 월 종결되었습니다. 밥 에반스는 모든 관리자들에게 포킵시의 연구실을 떠나 새러토가 스프링스로 올라오도록 철 수 명령을 내렸습니다. 그 결정의 필연적 결과였던 완전히 새로운 일단의 프로젝트들을 전원에게 재할당하기 위한 조치였지요. 난 내 밑에 있는 사람들이 그 어려운 상황에서 무사히 살아 남을 수 있도록 만들기 위해 그 곳으로 갔습니다. 나 자신은 다시 연구 부서로 밀려날 것이라 짐작하고 있었지요. 하지만 너무나 놀랍게도 그들은 내게 새로운 생산 라인을 맡아 달라고 요청하엿습니다. 그것도 설계 관리자로서가 아니라 엔지니어링과 마케팅, 프로그래밍, 설계 등을 내 수하에 두는 프로젝트 관리자가 되어 달라는 것이었습니다.

  그 싸움이 진행되는 동안 밥 에반스와 나는 정말로 맞붙어 싸우는 입장이었습니다. 한 번은 그가 전화를 걸어 "당신이 승진한 걸 알려드립니다." 라고 하더군요. 난 "그래요, 감사합니다." 하고 대답했지요. 그러나 그는 이런 말을 했습니다. "난 그 일과 아무 고나련도 없었다는 걸 알아 주시기 바랍니다."

브룩스는 자신이 할 수 있는 최고의 팀을 조직하였다. 거기엔 그 부서에서 가장 뛰어난 설계사들 뿐만 아니라, 진 암달 (Gene Amdahl) (이후 IBM 의 경쟁사가 되는 암달 컴퓨터사를 설립), 존 코크, 엘레인 보엠 (Elaine Boehm) 등이 포함되어 있었고, 그들은 모두 IBM 리서치 빌딩에서 ABC 라는 기계를 제작하고 있었던 사람들이었다. 그들은 12 월까지 높은 수준의 설계안을 제출하였다. 한 달 후, 회사 경영진에서는 IBM System/360 패밀리를 구성할 컴퓨터들의 개발을 승인하였다.

그 착상은 아주 단순하였다. 즉, 어떤 사용자가 360 패밀리에 속하는 어떤 한 대의 기계에 사용될 프로그램을 작성하면, 그 패밀리내에서 그보다 큰 모든 기계들 (그리고 그보다 작은 대부분의 기계들) 에서도 동일한 프로그램이 실행될 수 있다는 것이었다. 이것은 성장 가도에 있는 어떤 회사가 작은 기계를 구입하여 그것에 사용될 소프트웨어를 만든 다음, 사세 확장에 따라 보다 큰 기계들이 요구될 때에도 동일한 소프트웨어를 사용할 수 있다는 것을 의미하였다. (60 년대의 벼락 경기 하에서 이것은 매력적인 장점이었다.) 그처럼 패밀리 내의 긴밀한 유사성을 실현시키기 위해서는 각각의 기계가 동일한 명령을 엄밀하게 동일한 방법으로 처리해야 하며, 모든 지원 소프트웨어가 표준화되어야 했다.

1990 년대 중반 현재에는 이같은 발상이 누구에게도 놀랄 만한 것이 아니다. IBM 뿐 아니라 인텔, 모토로라 등을 비롯한 다른 대부분의 컴퓨터 회사들에서도 이같은 표준화 명령에 대한 발상을 지원하고 있기 때문이다. 하지만 1960 년대 초 당시로선 어떤 회사도 이러한 입지를 받아들이려 하지 않았다. 브룩스가 360 의 설계를 지휘하고 있었던 것과 거의 같은 시기에 RCA 의 엔지니어들은 공동으로 이용할 수 있는 한 패밀리의 기계들을 설계하는 일을 단호히 거부하였다.

이 사안에서는 IBM 의 마케팅 편향이 RCA 를 비롯한 다른 경쟁자들의 기술 편향과 겨루어 명백한 승리를 거두었다. 하드웨어에 대한 분투는 순조롭게 진척되어, 1964 년 초 IBM 은 7 개의 기계로 구성된 360 패밀리를 발표할 준비를 완료하였다. 적어도 그들은 그렇게 생각했다. 하지만 운영 시스템의 개발은 희망이 없는 막다른 궁지에 빠지고 말았다.

  난 에반스에게 가서 이렇게 말했습니다. "날 다른 부서로 가게 해 주십시오. 그 곳의 상황은 배가 침몰하고 있는 형국입니다." 그의 답변은 "행운을 빈다" 는 것이었고, 그렇게 해서 난 그 때부터 한 해 동안 프로그래밍 시스템 부서에서 운영 시스템을 담당하게 되었습니다.

  내가 맨 처음으로 시행한 일은 그 팀을 숲으로 보내 운영 시스템을 구성할 새로운 기획안을 제출하도록 한 것이었습니다.

새로운 설계에 담긴 기본적인 기술상의 혁신은 그 패밀리에 속한 모든 기계들이, 단지 테이프만 가지고 있는 경우와는 전혀 다르게 최소한 하나의 디스크를 가진다는 사실을 이용하는 것이었다. 카세트 테이프를 특정한 위치까지 감아야 했던 경험이 있는 사람이라면 누구나 테이프가 '순차적인 (sequential)' 장치라는 걸 알고 있을 것이다. 테이프상의 x 지점에서 y 지점까지 이동하려면 모든 중간 지점을 거치면서 테이프를 감아야 한다. 반면에, 디스크는 '임의 접근 (random access)' 장치이다. x 지점에서 y 지점으로 이동할 때에는 읽기/쓰기 헤드를 해당 트랙으로 이동시키면 된다. 이 방식은 속도가 보다 빠르고, x 와 y 의 거리에도 거의 영향을 받지 않는다. 브룩스와 그의 팀원들은 그 역시 디스크를 가지고 있는 스트레치에 대한 코드 (Codd) 의 연구 사례를 통해, 디스크는 물리적 메모리의 크기 (가장 큰 기계가 1 메가바이트 미만) 보다 훨씬 더 큰 프로그램도 실행할 수 있게 만들어 준다는 사실을 깨달았다.

System/360 운영 시스템은 1965 년 4 월 최초로 선적되었다. 그것은 주기억 장치가 32,000 바이트인 작은 기계로부터 500,000 바이트 (1/2 메가바이트) 의 주기억 장치를 가진 기계에 이르기까지, 각기 다른 7 대의 컴퓨터에서 작동하였다. 그 기계들 중 가장 큰 것이라 해도 속도나 메모리 용량이 오늘날 개인용 컴퓨터의 1/100 에도 못미쳤지만, 기업들은 그 기계들을 가지고 전체 사업을 운영하였다. 실제로 그 기계들은 아주 잘 팔려 IBM 의 수많은 세일즈맨들이 그 기계가 나온 지 단 몇 시간만에 자신들의 총 연간 할당량을 다 팔아 버렸다.

7 대의 기계에 들어간 전체 하드웨어 설계 비용은 약 2 억 달러정도였다. 그리고 모든 기계가 동일한 코어 명령 집합을 가지고 있었기 때문에, 3 억 5 천만 달러의 소프트웨어 비용은 7 대의 기계가 공동으로 부담하였다. 설계자들은 자신들이 미래를 향한 큰 일들을 세상에 알리고 예언할 수 있다고 느꼈다.

  우리가 가지고 있었던 1965 년의 한 논문은 그 구조가 여러 해 동안 존속될 것이며, 여러 세대의 기계들이 그것을 실현할 것이라고 예측하였습니다. 그리고 그것은 분명히 32 비트 번지 체계로 가게 될 것이었습니다.

그 구조는 실제로 30 년간 지속되었다. 1980 년대 중반부터는 31 비트 번지 (2 기가바이트 메모리들에서 자료를 인출할 수 있는) 체계가 표준이 되었고 [역주. 2 의 보수 (two's complement) 체계를 사용하므로 32 비트 번지 체계에서 맨 앞의 비트는 양/음수 표시에 사용되어 실제로는 31 비트만이 유효함], 48 비트 번지 기계들이 현재 진행 중이다.

System/360 운영 시스템이 그러했던 것처럼, 그 직계 후손인 MVS, 즉 다중 작업 가상 기억 장치 (multitasking virtual storage) 가 지금까지도 대부분의 대형 IBM 본체에서 실행되고 있다.

그 프로젝트를 관리하면서 브룩스는 소프트웨어 개발과 관련하여 혹독한 교훈을 얻었다. 그는 대표적인 논문집 『신화적인 인월 The Mythical Man-Month』에서 그에 대한 견해를 밝혔다. 브룩스는 오비드 (Ovid) 에서 트루먼 (Truman) 에 이르기까지 역사 속의 다른 관리자들을 인용하여, 기업의 소프트웨어 관리자들에게서 보이는 비경제적인 관행들, 특히 어떤 작업의 완성 속도를 가속화하기 위해 작업 인력을 추가하는 방침에 대해 유감을 표현했다. 브룩스가 말한 것처럼 '여자가 몇 명이 할당되든 상관 없이 아이를 낳는 데에는 9 개월이 걸린다.' 그는 또한 기술적인 프로젝트 리더십에 관한 이론도 개발하였다.

  난 관리자와 별도로 시스템 설계사를 두는 것이 중요하다고 생각합니다. 또한, 설계의 이행 과정에서 전체 설계에 개인의 지적 숙련도를 유지하는 수석 설계사를 가지는 것도 그만큼 중요하지요. 그렇게 해야만 비로소 설계에 의지할 수 있게 됩니다.

『신화적인 인월』에서는 하나를 제작한 다음 그것을 던져 버리라고 말했습니다. 하지만 이제 더 이상 그런 이야기를 하지 않습니다. 이제는 최소한의 것을 만들고 그것을 그 분야에 공식적으로 내놓아 피드백을 얻어 가면서 점차적으로 기능을 추가하라고 말합니다. 명세, 제작, 테스트로 이어지는 폭포형의 모델은 소프트웨어엔 전혀 맞지 않습니다. 사용자와의 상호 작용이 명세의 개발에 결정적인 요소가 되기 때문이지요. 제작과 테스트를 겸하면서 명세를 개발해야 합니다.

폭포형 모델은 추상적 명세 (specification) 가 프로그램 구성을 거쳐 테스트로 이어지는 방식이다. 에드스거 다이크스트라나 레즐리 램포트처럼 증명이 가능할 정도로 정확한 명세를 가지고 시작하여 그것으로부터 정확한 프로그램을 이끌어 내는 방식을 제안하는 컴퓨터 과학자들에겐 그 형태가 여전히 선택안으로 의미를 가진다. 그리고 안전에 결정적으로 중요한 소프트웨어라면 이것이 가장 합리적이다. 그 누구도 항공전자공학 제어 시스템을 변경하기 전에 어떤 비행기가 추락하였다는 이야기를 듣게 되기를 기다릴 수는 없는 것이다. 하지만 연구 소프트웨어나 심지어 사무용품의 소프트웨어에 대해서는, 브룩스를 비롯한 많은 사람들이 가능한 한 최종 사용자에게 설계 아이디어를 얻는 방식을 지지하고 있다.

그러나 브룩스는 『신화적인 인월』에서 모든 내용에 우선하여 프로그래밍의 창조적 활동에 대한 경의를 표한다.

"어린아이가 자신이 만든 진흙 만두를 보고 기뻐하는 것처럼, 성인들도 무언가를 만드는 일을 즐거워합니다. 특히, 자신이 직접 설계한 물건일 경우라면 더욱 들뜨게 마련이지요. 난 이러한 기쁨이 나뭇잎 한 장, 눈꽃 한 송이가 모두 제각각이고 새로운 데에서 볼 수 있는 신이 누린 창조의 기쁨과 꼭 닮았다고 생각합니다."

1964 년 브룩스는 IBM 을 떠나 채펄 힐에 있는 노스 캐롤라이나 대학에서 컴퓨터 과학과를 세우기로 결심하였다. 브룩스가 그러한 행동을 하려 한 깊은 이면에는 어떤 개인적 이유가 있었다.

  기본적으로 기독교 신자인 나는 신이 가라고 명시하는 대로 가야하는 사람입니다. 따라서, 나는 이 일을 받아들이라는, 문자 그대로 명백한 부름을 받았다고 느꼈습니다. 진정으로 사람들의 성장을 도울 수 있는 기회는 그들이 이미 일을 가지고 있을 때보다는 대학 수준에서 훨씬 더 풍부합니다. 그리고 그것은 내게 주어진 소명의 일부이지요. 나의 소명은 한편으론 가르치는 일이고, 또 한편으론 기술적인 연구에 보다 가까이 접근하고 싶은 바람입니다.

당시 진정한 컴퓨터 과학과라고 볼 수 있는 것은 전국적으로 푸르듀에 있는 학교 단 한 곳 뿐이었다. 그 시절엔 컴퓨터 과학이 수학과나 전자공학과에 종속되어 있었다. 브룩스는 곧바로 학문적 독립성이 지니는 장점을 발견하였다.

  우리는 자유롭게 사람을 고용할 수 있었고, 다른 분야에서 인용한 기준이 아니라 바로 컴퓨터 과학의 기준에 따라 연구 방향을 선택할 수 있었습니다.

  또한, 우리는 규모가 작은 학과에서는 스탠퍼드 엔지니어링 스쿨의 학장 프레드릭 터먼 (Frederick Terman) [실리콘 밸리의 아버지] 이 '최고 우수성 전략 (peaks of excellence strategy)' 이라 불렀던 것을 채용해야 한다고 결론지었습니다. 그것은 몇몇 분야를 뽑아 그 내부에 결정적인 큰 교수단을 세우고 그 밖의 하위 분야들은 그대로 내 버려 두는 방식이었지요.

  난 소프트웨어 엔지니어링을 고려해 보았습니다. 그 때나 지금이나 내 사고 방식으로 보면, 소프트웨어 엔지니어링에서 주요한 지적 문제들은 규모의 문제, 즉 어떻게 작은 프로그램들을 작성할 것인가가 아니라 어떤 식으로 큰 프로그램의 복잡성을 관리할 것인가하는 문제입니다. 그런데 그 대학은 대형 소프트웨어 프로젝트들을 수행하기에 적합한 곳이 아니었습니다.

  그래서 우린 컴퓨터 그래픽 소프트웨어와 자연어 처리를 선택하기로 결정했습니다.

그 결정을 내리게 된 데에는 그에 앞서 스케치패드의 발명자 이반 서덜랜드 (Ivan Sutherland) 가 선포하였던 혁명에 대한 사명감이 바탕에 깔려 있었다.

  1965 년 서덜랜드 3 년마다 개최되는 IFIPS [국제 정보 처리 학회 연합 (International Federation of Information Processing societies)] 회의에서의 연설을 통해 커다란 전망을 제시하였습니다. 나도 그 자리에 있었지요. 우리는 오늘날까지도 그가 내세운 도전을 따르고 있습니다.

  그는 "스크린을 가상 세계로 들어가는 창문으로 생각하십시오. 컴퓨터 그래픽 연구의 과업은 그 창문의 그림이 실제처럼 보이고, 실제처럼 들리고, 실제처럼 상호 작용하고, 실제처럼 느껴지도록 만드는 것입니다." 라고 말했습니다. 난 "그것이 바로 핵심입니다." 라고 동의하였지요. 그 때부터 나는 줄곧 그 도전을 위한 작업을 해 왔습니다. 언젠가는 그것에 도달할 것입니다.

서덜랜드가 묘사한 것은 현재 우리에게 가상 현실이라고 알려져 있는 것이다. 그러나 1965 년 당시로 되돌아가보면, 그의 꿈을 실현하는 데 하드웨어가 거의 희망을 주지 못하는 실정이었다.

연속적인 동작처럼 보이는 착각을 일으키려면 컴퓨터의 화면 표시가 최소한 영화의 속도에 해당되는 초당 24 프레임 이상이 되어야 한다. 각각의 프레임은 '관찰자 (viewer)' 가 실제로 움직일 때마다 스크래치에서 계산되어야 한다.

브룩스의 동료인 헨리 푹스 (Henry Fuchs) 와 존 폴턴 (John Poulton) 은 현재 픽셀-플레인즈 (Pixel-Planes) 라는 최신 기술의 기계들을 개발하고 있다. 그 기계에 포함되는 수십만 개의 프로세서는 1 초당 몇 백만 개의 명암이 들어간 컬러 삼각형들을 그려 낸다. 이 기계들도 단지 중간 정도의 해상도를 만들어 낼 뿐이다. 그리고 이들의 속도는 서덜랜드가 처음 작업을 시작한 1965 년의 기계들에 비해 약 백만 배 정도 빠르다.

따라서, 브룩스가 새로운 학과를 신설할 당시엔 완전 동화상 (full-motion) 비디오라는 걸 생각도 할 수 없었지만, 그는 세 가지 기준에서 자신의 팀이 그 목표를 향해 나아갈 수 있을 것이라고 믿었다.

첫째, 그는 당시의 기술 수준에 적합한 그림의 문제를 발견하기 시작하였다. 둘째, 그는 컴퓨터 그래픽이 단지 현실을 시뮬레이트하는 것 자체로 그치는 것이 아니라, 지능 확대라는 목표를 가지고 그 일을 하는 것이라고 주장하였다.

  1969 년, 나는 교무처장이었던 찰스 모로 (Charles J. Morrow) 교수를 찾아가 이렇게 말했습니다. "우린 어려운 문제에 착수할 때 의식과 기계가 협력을 하는 지능 확대 시스템을 만들 준비가 되었고 필요한 사항들도 갖추었습니다. 이 교수단에서 가장 지능을 확대시킬 만한 가치가 있는 사람은 누구일까요?"

  그리고 나서 내가 필요로 하는 것은 많은 기하학적 내용과 많은 계산상의 내용, 그리고 수많은 패턴 인식이 수반되는 문제라고 설명했습니다.

  그는 이렇게 말했지요. "지금껏 아무도 내게 그 질문을 한 적이 없었습니다. 집에 가서 그것에 관해 생각해 보겠소." 다음날 그는 아래와 같이 가능성 있는 공동 연구자들을 길 게 나열한 리스트로 자신의 반응을 보여 주었습니다.

  운전 시뮬레이터상의 고속도로 안전 요원들, 실시간 (real-time) 의 온라인 견적을 원한 사람들을 위해 낮은 비용의 주택 공급을 설계하는 도시 계획자들, 만일 벽을 옮긴다면 프로젝트 비용을 얼마나 달라지게 만들 수 있을까? 은하계의 구조에 관심이 있는 천문학자들, 지하수 저장고에 관심이 있는 지질학자들.

선택 사항들을 두루 옮겨 다니면서 브룩스는 자신의 연구에 대한 세 번째 기준을 발전시켰다. 그 기준은 바로 컴퓨터 그래픽은 지능을 확대시켜야 할 뿐 아니라, 사람들의 실생활에 영향을 미치는 문제들까지 해결해야 한다는 것이었다. 브룩스는 곧 그 연구가 이루어 내야 할 과제에 부합하는 문제를 찾아 냈다.

  모로가 언급한 사람들 가운데에는 생화학과의 단백질 화학자인 잰 허먼스 (Jan Hermans) 도 포함되어 있었습니다. 그는 단백질 접지 (protein folding) 의 문제에 대한 아이디어를 가지고 있었지요.

아직까지도 미해결 상태인 단백질 접지의 문제는 아미노산의 순서만 주어졌을 때 3 차원 공간에서 단백질의 형태를 결정하는 것이다.

  우린 그 문제에 대한 연구에 착수하였습니다. 훗날 UNC 학부 교수단의 일원이 되는 윌리엄 라이트 (William V. Wright) 가 IBM 2250 그래픽 단말기 상에서 분자의 3 차원 구조를 가시화하는 시스템을 실행하는 데 대한 논문을 썼습니다.

허먼스와의 첫 번재 프로젝트 이후 브룩스의 그룹은 곧바로 듀크의 결정학자 (crystallographer) 인 김 선호와의 협력을 진척시켰다. 김은 X-레이 회절을 사용하여 핵산 분자의 상세한 3 차원 분자 구조의 계산을 시도하고 있었다.

  그 당시로 돌아가보면, 사람들은 황동 모형과 거울, 그리고 리처즈 박스 (Richards box) 라고 부르는 전자 밀도의 지도를 오려낸 플라스틱판을 사용하는 방식으로 그것을 수행하였습니다.

화학자들은 자신들이 가정한 어떤 구조의 축소 모형을 제작한 다음, 그것의 전자 분배가 실험과 일치할 때까지 그 모형을 적용시킨다. 더욱 더 좌절을 일으키기 쉬운 작업들도 상상할 수 있지만, 그럴 가능성은 크지 않다.

  이 물건들은 약 1 미터 가량 높이의 입방체로 만들어졌으며, 그 결합은 2 센티미터를 옹스트롬 단위로 축소한 것입니다. 만일, 3 천 개의 원자가 가지고 있을 경우, 그들 중 잘못된 일부를 빼버리기 전에 그 모두를 올바른 것으로 받아들이는 것은 정말 어려운 일이었습니다. 그 일을 모두 마치고 나면 다림추와 미터자를 가지고 각 원자의 3-D 배위 결합 (coordinates) 을 측정할 수 있게 되지요.

  그래서 우리는 보다 다루기 쉬운 그래픽 리처즈 박스를 제작할 수 있어야 한다고 말했습니다. 1974 년 마침내 그 시스템이 싹을 틔웠고, 그것은 김 선호가 황동 모형을 만들지 않고도 tRNA 분자의 원자 배위를 찾아낼 수 있도록 도움을 주었습니다.

김은 브룩스 컴퓨터팀과 완전한 동반자 관계에서 일을 하였다. 그의 열성적인 참여는 개발 과정에 최종 사용자를 참가시킨다는 브룩스의 생각에 확신을 주었다.

  김은 훌쩍 건너 와서 하루밤에 여덟 시간씩이나 그의 분자 조각들을 이리저리 움직여 보며 모든 전자 밀도 측정치를 국부적으로 만족시키면서 긴밀하게 연결된 전체 패턴을 얻어 내려고 노력하였습니다.

  나중에 그는 일어서서 국립 보건 연구소의 현장 시찰관에게 이전엔 데이터를 맞추는 데 3 개월이나 걸리던 일을 이제 매주 할 수 있게 되었다고 말했습니다.

또한, 이 성공적인 1974 년의 실험은 인공 지능에 대비되는 지능 확대의 상대적 가치에 대한 브룩스의 확신을 더욱 강화시켰다.

  인공 지능의 접근 방식은 의식을 대체하는 것이지요. 그런데 우리의 접근 방식은 언제나 의식을 그 시스템의 정중앙에 두는 것입니다.

  인공 지능 학계에서는 25 년이 흐른 지금 이 발상으로 돌아와 있습니다. 하지만 그들의 출발점은 그와 달랐지요. 그들은 이렇게 말하곤 했습니다. "우리는 이 문제들을 해결하게 될 것입니다. 의식은 필요치 않습니다." 하지만 실제로 우리는 의식을 정말 필요로 합니다.

브룩스는 다음의 세 가지 지능적 행동에서는 언제나 사람들이 컴퓨터보다 나을 것이라 믿는다.

  첫 번째는 패턴 인식 (pattern recognition)입니다. 한 달 된 아기는 엄마를 자신이 한 번도 바라본 적이 없는 방향에서, 그리고 한 번도 경험한 적이 없는 조명 상태 하에서도 식별할 수 있습니다.

  두 번째는 판단 평가 (judgement evaluation) 입니다. 사람들은 자동차 판매상의 주차장 주변을 돌아보며 수많은 기준의 복합적인 기능을 사용하여 자동차를 선택합니다. 그들은 컴퓨터가 그다지 잘 해내지 못하는 일을 하는 것이지요.

  세 번째는 맥락 탐색 (context searching), 즉 명백하게 무관한 사실들에 주의를 기울이는 것입니다. 말할 나위도 없이 이것은 대단한 천재성입니다.

  이 분야에서 내가 알고 있는 가장 멋진 이야기는 톰 왓슨 (Tom Watson) 2 세 (전직 IBM 사장) 가 들려 준 것입니다. 그가 콜로라도 주샤이엔 스프링스에 위치한 지하의 북미 방공 지휘 부대를 방문 중이었을 때 알 게 되었습니다. 그들의 레이더가 달이 떠오르는 것을 포착했던 것으로 경위가 밝혀졌지요.

  그날 밤 지휘 대장은 캐나다인이었습니다. 그는 "어, 오늘 밤엔 그들이 공격을 하지 않았을 텐데." 라고 했고, 누군가가 "왜 그렇지요, 대장님?" 하고 묻자, "크루셰프가 뉴욕에 있거든." 하고 대답했습니다.

  여러분이 특권 계급이 될 때까지는 공들여 만든 원칙을 가지고 컴퓨터 시스템을 구성할 수 있을 것이며, 그 원칙들은 이처럼 명백하게 관련 없는 사실들에는 관심을 쏟게 만들지 않을 것입니다.

컴퓨터는 이러한 과업에서 언제나 실패만 하는 것일까? 이 책에서 소개하는 다섯 명의 인공 지능 연구자들은 각자 기계의 한계에 대해 상이한 견해를 가지고 있다. 에드워드 파이겐바움 (Edward Feigenbaum) 은 인간과 기계 사이의 공생 협력의 필요성에 대해 기본적으로 브룩스와 같은 의견이며, 그에 따라 자신이 개발한 전문가 시스템의 영역들을 정의하였다. 더그 레넛 (Doug Lenat) 은 사이크 (Cyc) 프로젝트를 진행하면서, 브룩스가 언급하였던 맥락의 문제를 극복하기 위해 모든 생명체에 관한 충분한 지식을 그 프로젝트에 집어 넣으려 노력하고 있다. 존 매커시는 각기 다른 사실들이 서로 관련될 수 있는 방법을 결정하는 데 대한 논리적 접근 방법, 즉 브룩스가 판단 평가라 불렀던 문제를 연구 중이다. 그리고 대니 힐리스의 연결 기계 (Connection Machine) 나 그 후계자들은 인간이 힘들이지 않고 해낼 수 있는 패턴 인식 작업들을 훌륭하게 실행하는 것으로 입증될 것이다. 하지만 이 성실한 과학자들 가운데 누구도 아직까지 성공을 거두진 못하였다.

브룩스가 이끌고 있는 연구팀은 다른 지능 확대 장치들을 제작하였다. 화학자들은 헤드 세트와 로봇 암을 사용하여 분자들 사이를 날아다니며 조작을 할 수 있다 [현재 생체공학 회사인 제넨테크 (Genentech) 사에서 사용하고 있는 기술].

건축가들은 건물을 짓기 전에 그 건물 내부를 이곳 저곳 걸어다녀 볼 수 있으며, 방사선학자들은 종양에 쪼일 광선의 방향을 계획할 수 있다. 하지만 그 팀에선 오락 분야는 상대도 하려 하지 않았다. 많은 기업과 대학 연구 센터들은 일부 도발적인 해커들이 '텔레딜도닉스 (teledildonics)' 라는 고리표를 붙인 것까지 포함해 잠재적으로 수익성이 있는 이 분야에 초점을 맞추어 왔다. 그러나 브룩스는 그렇지 않았다.

  만일, 가상 현실의 실체가 내가 개인의 발전이나 사회에 거의 해로운 영향만 미친다고 생각하는 텔레비전의 연장으로 나타나게 될 것이라면, 난 제외시켜 주십시오. 누군가 다른 사람이 대신할 수 있을 겁니다.

브룩스의 말이 그의 동료들에 비해 보다 도덕적으로 들린다면, 그 이유는 그의 강한 종교적 신념 때문일 것이다.

  과학에는 특정한 공통의 윤리적 기준들이 있지만, 기독교 신앙은 그것을 이행하는 데 대해 보다 많은 생각을 하도록 만듭니다. 자신이 더욱 중요하다고 생각하는 것에 대해 연구하도록 인도하는 것이지요.