자유롭다고 할 때의 자유/1 장
이 문서는 {{머리말}} 정보가 없습니다. 도움을 주시려면 토론 문서에 의견을 남기거나, 문서를 편집하여 "{{머리말 필요}}"를 다음과 같이 바꾸고 최소한 제목과 저자 변수를 작성하세요.{{머리말 | 제목 = | 부제 = | 저자 = | 이전 = | 다음 = | 설명 = }} |
자유롭다고 할 때의 자유 - 샘 윌리엄스
1 장: 프린터 하나 때문에[1]
새 프린터가 먹통이 되었다. 또.
매사추세츠 공과 대학 인공지능 연구소의 직원 소프트웨어 프로그래머 리처드 스톨먼은, 아주 어렵게 오작동을 발견했다. 50 쪽짜리 파일을 사무실의 레이저 프린터로 전송하고 나서 한 시간 뒤에, 스물일곱 살의 스톨먼은 잘 되어가던 일을 멈추고 인쇄물을 챙기러 갔다. 도착해 보니, 프린터의 출구에는 종이 네 장만 얹혀 있었다. 더 좌절스럽게도, 그 네 장은 다른 사람 것이었고, 즉 스톨먼의 인쇄와 다른 누군가의 인쇄의 남은 부분은 연구소 전산망의 배관 어딘가에 갇혀 있으리라는 뜻이었다.
소프트웨어 프로그래머에게는 기계를 기다려 줘야 한다는 직업 재해가 있는 것이고, 그래서 스톨먼은 너무 좌절하지 않기로 했다. 그래도, 기계를 기다려야 하는 것과 기계에 매달려야 하는 것의 차이는 상당히 컸다. 종이가 한 장 한 장 나오는 것을 지켜보면서 프린터 앞에 서 있어야 되는 것은 이번이 처음이 아니었다. 기계와 그것을 통제하는 소프트웨어의 효율을 개선하는 데에 밤낮의 대부분을 쏟고 있는 사람으로서, 스톨먼은 자연스럽게 기계를 확 따고 들여다보고 문제를 색출해내고픈 충동을 느꼈다.
불행히도, 스톨먼의 컴퓨터 프로그래머적 기술은 기계공학의 영역에는 이르지 못했다. 막 인쇄된 문서들이 기계에서 쏟아져나오는 동안, 스톨먼에겐 프린터 먹통 문제를 피해갈 수 있는 다른 방법들을 숙고해볼 기회가 있었다.
인공지능 연구소의 직원들이 새 프린터를 두 팔 벌려 환영했던 게 얼마나 되었던가? 스톨먼은 생각했다. 이 기계는 제록스 사의 기증품이었다. 최첨단 시제품으로서, 잘 팔린 제록스 복사기의 변형판이었다. 다만 복사를 하는 대신, 전산망을 타고 오는 소프트웨어 데이터를 가지고 그럴싸해 보이는 문서를 만들어내는 것이었다. 세계적으로 유명한 제록스 팔로 알토 연구 시설 기술자들의 작품으로, 십 년 이내에 컴퓨터 산업을 장악할 데스크톱 인쇄 혁명의 맛보기라 할 수 있었다.
최고의 새 장비를 써보고 싶다는 본능적 충동에 사로잡힌 인공지능 연구소의 프로그래머들은 신속히 새 기계를 연구소의 복잡한 전산 인프라스트럭처에 통합했다. 즉시 만족스러운 결과가 나왔다. 연구소의 낡은 레이저 프린터와는 다르게, 새 제록스 기계는 빨랐다. 종이는 초당 1 매씩 튀어나왔으며, 20 분 걸릴 인쇄가 2 분짜리 작업이 되었다. 새 기계는 또 더 정확했다. 원은 타원이 아니라 원처럼 생겨서 나왔다. 직선은 미약한 사인파가 아니라 직선처럼 생겨서 나왔다.
어떤 의도나 목적에든, 그것은 거부하기 어려운 선물이었다.
기계의 결함들이 드러나기까지는 몇 주가 채 걸리지 않았다. 단점 중에서도 으뜸은 종이에 곧잘 체하는 체질이었다. 기술자 근성을 가진 프로그래머들은 금세 결함의 원인을 파악했다. 복사기니까, 기계 곁에는 대개 인간 사용자가 서 있었다. 이 인간 사용자들이 언제든 종이 걸림을 해결해 줄 수 있으리라 본 제록스의 기술자들은 다른 성가신 문제를 해결하는 데에 시간과 정력을 쏟았다. 공학 용어로 말하자면, 사용자 주의가 체계에 내장되어 있었다.
기계를 인쇄기 용도로 바꾸면서, 제록스 기술자들은 인간과 기계의 관계에 미묘하고도 중대한 변화를 적용했다. 기계를 인간 사용자 한 명에게 복종시키는 대신, 연결된 인간 사용자 전원에게 복종시킨 것이다. 인간 사용자는 기계 바로 앞에 서 있는 것이 아니라, 망 한쪽 끝에서 인쇄 명령을 보내면 그것이 기계에서 기계로 전달되어, 올바른 목적지에 적절한 형태로 도달하기를 기다려야 했다. 마침내 직접 가서 출력물을 보고서야, 의도가 얼마나 조금밖에 전달되지 못했는지 알게 되는 것이다.
스톨먼은 일찍이 문제를 파악하고 해결책을 제시했다. 몇 년 전, 연구소가 아직 옛날 인쇄기를 쓰던 시절, 스톨먼은 인쇄기를 제어하는 소프트웨어를 직접 열어 고침으로써 연구소의 PDP-11 기계의 인쇄기에 있었던 비슷한 문제를 해결한 바 있었다. 종이 걸림을 없애지는 못했지만, 주기적으로 인쇄기를 확인해서 연구소의 중앙 컴퓨터인 PDP-10으로 보고케 하는 소프트웨어 명령을 PDP-11에 넣을 수는 있었다. 한 사람의 부주의로 모든 인쇄 작업이 밀리는 일을 막기 위해, 스톨먼은 용지가 걸리면 인쇄 대기 중인 모든 사용자에게 알림을 보내도록 하는 명령도 PDP-11에 넣었다. 알림은 "용지가 걸렸으니 고쳐 주십시오"와 비슷한 간단한 것이었고, 이것이 당장 인쇄를 해야 하는 사람들에게 전달되었기 때문에, 문제가 이내 해결될 공산은 컸다.
다른 해법에 비해, 스톨먼의 것은 간접적이되 명쾌했다. 문제의 기계적인 측면을 해결하지는 못했지만, 기계와 사용자 간의 정보 순환을 만듦으로서 그 다음으로 좋은 효과를 냈다. 몇 줄의 소프트웨어 코드를 추가한 것만으로, 인공지능 연구소 직원들은 매주 인쇄기를 보러 왔다갔다 하느라 당비되는 낭비되는 10에서 15 분의 시간을 절약할 수 있었다. 프로그래밍 용어로 말하자면, 스톨먼의 해법은 전체 망의 증폭된 지성 덕을 보았다.
"알림을 받으면, 다른 사람이 그걸 고칠 거라고 생각할 수는 없었죠." 그 원리를 회상하며 스톨먼은 말한다. "인쇄기를 꼭 보러 가야 했습니다. 인쇄기가 말썽을 일으킨 지 1~2 분이면 두세 명 정도가 알림을 받고 인쇄기를 고치러 왔죠. 대개 그 두세 명 중에 최소한 한 명은 어떻게 그걸 고쳐야 하는지 알고 있었습니다." 그런 영리한 해법이 인공지능 연구소와 그 프로그래머 원주민들의 특징이었다. 물론, 인공지능 연구소 최고의 프로그래머들은 프로그래머라는 용어를 업신여기고, 보다 속어적인 직함인 해커를 선호했다. 이 직함은 창의적인 우스개에서 기존의 소프트웨어와 컴퓨터 체계를 개량하는 것에 이르기까지 온갖 활동을 가리켰다. 그러나 이 직함에 숨겨진 것은, 미국적 책략(Yankee's ingenuity)이라는 구식 개념이었다. 해커가 되려면, 소프트웨어 프로그램을 만드는 것은 시작에 불과하다는 철학을 받아들여야 했다. 프로그램을 개선하는 것이야말로 해커의 기술을 진정 시험하는 일이었다.
그런 철학은 제록스 같은 회사가 해커들의 주된 집결지에 기계와 소프트웨어를 기증하는 정책을 세우게 한 중대한 원인이었다. 해커들이 소프트웨어를 개선하면, 기업들은 이 개선들을 다시 빌려다 상용 개정판에 넣을 수 있었다. 기업 용어로 말하자면, 해커들은 영향력 있는 공동체 자산이었으며 최소 비용으로 꾸릴 수 있는 보조 연구개발 부서였다.
(번역 중)
역주
편집- ↑ 이 장의 제목(For Want of a Printer)은 구전 〈못 하나 때문에〉(For Want of a Nail)에서 왔다. 〈못 하나 때문에〉는 못 하나가 없어 말의 편자를 잃고 말의 편자 하나가 없어 말을 잃고 말 한 마리가 없어 기사를 잃는 식으로 이어지다 끝내 왕국이 멸망하고 마는, 그리고 그 모든 것은 단지 못 하나가 모자랐기 때문에 일어났다는 내용의 짧은 구전이다.