- 82세의 Ken Thompson이 Unix 운영체제의 탄생 초기와 Bell Labs 시절의 자유로운 실험 문화를 회상
- 그는 Multics 프로젝트 실패 이후 남은 컴퓨터를 활용해 우연히 Unix의 핵심 구조를 구축하게 된 과정을 설명
- Unix 개발팀은 PDP-11을 확보해 비공식적으로 운영체제를 발전시켰으며, 내부의 유머와 동료애로 가득한 “Unix Room”을 형성
- Bell Labs의 개방적 환경은 C 언어와 Unix의 성장, 그리고 이후 Go 언어 개발로 이어지는 협업 문화의 기반이 됨
- Thompson은 Unix가 ‘오픈소스 이전의 개방성’을 실천한 공동체적 실험이었다고 강조하며, 그 정신이 현대 기술 문화에 남아 있다고 평가
Unix의 탄생과 Bell Labs의 실험 문화
- Ken Thompson은 1960년대 중반 Bell Labs에서 Multics 프로젝트에 참여했으나, 시스템이 “크고 느리고 비싸며 실패가 예정된 프로젝트”였다고 회상
- Multics 종료 후 남은 대형 컴퓨터를 활용해 자신의 실험을 이어가며 데이터 저장장치 CRAM과 드럼 메모리를 개선하려 시도
- 메모리 읽기 속도를 높이기 위한 실험 중, 자신도 모르게 운영체제의 형태를 갖춘 시스템을 만들게 됨
- 그는 Bell Labs가 “운영체제 연구를 중단하라”는 지시를 내렸음에도 불구하고 비공식적으로 Unix의 기초를 완성
- 파일시스템, 디스크 드라이버, I/O 장치 등 핵심 구성요소를 갖춘 초기 Unix가 탄생
초기 Unix 커뮤니티와 PDP-11의 등장
- Unix의 첫 사용자들은 Dennis Ritchie, Doug McIlroy, Robert Morris, Brian Kernighan 등으로, 사용자 ID가 한 자리 숫자였을 정도로 소규모였음
- Thompson은 Rudd Canaday와 함께 칠판 위에서 파일시스템 설계를 진행했고, Bell Labs의 전화 녹취 시스템을 활용해 문서화
- Joe Ossanna는 Bell Labs의 관료적 절차를 우회해 PDP-11 컴퓨터를 확보, Unix 개발의 전환점을 마련
- 명목상 “워드 프로세싱용”으로 구입된 PDP-11이 실제로는 Unix 개발의 핵심 장비로 사용
- 특허부서 비서들이 Unix 시스템으로 문서를 작성하면서 첫 외부 사용자층이 형성
“Unix Room”과 자유로운 공동체
- PDP-11은 Bell Labs 6층의 한 공간에 설치되었고, 이곳은 곧 ‘Unix Room’이라 불리는 개발자들의 중심지로 발전
- 낡은 자판기와 창고를 치운 공간에 두 번째 PDP-11이 추가되며 네트워킹과 문서 조판 논의의 중심지로 변모
- 전화선이 연결된 자체 PBX 시스템까지 갖춘 비공식 연구 허브로 기능
- Thompson은 “Unix Room에서 자물쇠를 따고 장난을 치던 시절”을 회상
- 주차 위반으로 부착된 ‘부트’를 훔쳐 숨기는 등 유머와 반항이 공존한 실험적 분위기 묘사
- 보안 책임자가 “부츠를 돌려주면 비서들을 괴롭히지 않겠다”고 제안하며 협상으로 마무리된 일화 소개
- Dennis Ritchie는 Unix를 “공동체가 형성될 수 있는 시스템”으로 표현했으며, 정기적인 ‘Unix Lunch’ 가 아이디어 교류의 장이 됨
Bell Labs의 개방성과 Unix의 성장
- Thompson은 압박 없는 연구 환경과 자율성이 Unix와 C 언어의 성공을 이끌었다고 평가
- Bell Labs는 “무엇이든 시도할 수 있는 분위기”였으며, 다양한 전공자들이 협력
- 언어학자 Lee McMahon은 기계판독 사전과 Federalist Papers의 전자본을 확보해 Unix 개발에 기여
- 텍스트가 편집기 ed에 들어가지 않자, Thompson은 패턴 검색 도구 grep 을 개발
- Unix는 Bell Labs 내부에서 행정 업무와 전화 교환 시스템 등으로 확산되며 조직 전반의 핵심 인프라로 자리
오픈소스 이전의 개방 철학
- Thompson은 Richard Stallman이 오픈소스 철학을 발전시켰지만, Unix에도 그 정신이 있었다고 언급
- 당시 Unix는 파일 보호 기능이 있었지만, 실제로는 모든 소스 코드가 누구나 수정 가능한 상태로 유지
- “손대면 그건 네 것”이라는 암묵적 규칙 아래, 공동 창작과 실험이 일상화된 개발 문화 형성
- 동료 P. J. Plauger의 디렉터리에 저장된 소설 초고를 모두가 읽고 의견을 남기던 사례는 협업과 개방의 상징적 일화로 소개
- 이러한 문화가 ‘칠판에 함께 쓰는’ 공동체적 개발 방식을 만들어 냄
- 이후 Bell Labs의 Plan 9 프로젝트에서 나온 아이디어 일부가 UTF-8 표준으로 발전, 현대 웹의 기반이 됨
Bell Labs 이후의 여정과 Go 언어
- Thompson은 2000년 Bell 시스템 해체 이후 Bell Labs를 떠나며 변화된 조직 문화를 언급
- “무엇을 하는지 정당화해야 하는 분위기”가 되어 연구의 자유가 사라졌다고 평가
- 이후 네트워크 장비 회사 Entrisphere에서 6년간 근무 후, Google로 이직
- 당시 Entrisphere의 상사가 Google로 옮기며 Thompson을 권유했고, Eric Schmidt가 Bell Labs 시절 동료였음
- Google에서 Android 보안 검토에 참여한 뒤, Rob Pike와 함께 Go 언어 개발팀을 구성
- Bell Labs 시절의 협업 관계가 30년 후 새로운 프로그래밍 언어 창조로 이어진 사례로 평가
결론: 호기심과 공동체가 만든 기술 유산
- Ken Thompson의 회상은 Unix가 단순한 기술이 아니라 자유로운 탐구와 공동체 정신의 산물임을 보여줌
- Bell Labs의 개방적 환경은 현대 오픈소스 문화의 원형으로 작용
- 그의 경험은 창의성과 협업이 기술 혁신의 핵심 동력임을 상기시키는 사례로 남음