본문 바로가기

책·강좌 요약 및 풀이/성당과 시장 : 리눅스와 오픈소스

#02 | 1장 해커 문화의 짧은 역사

읽은 범위

1장 해커 문화의 짧은 역사

 

감상평

1장에선 제목대로 짧은 해커 문화의 역사를 다룬다. 한국에서의 대중적인 해커의 이미지는 범죄에 능통한 컴퓨터 기술자 정도인데, 사실 해커의 바른 뜻은 ‘컴퓨터 시스템, 프로그래밍에 관한 지식인 혹은 전문가’ 정도가 되겠다. (이 책에선 후자의 바른 뜻으로 해커 용어를 사용하고 있다.) 덧붙여, ‘해커 문화’란 해커들이 기술적인 장애나 제약 따위를 극복하면서 즐거움을 추구하는 문화 정도로 이야기해볼 수 있겠다. (좀 더 명확하고 자세한 정의를 구한다면, Steven Levy의 『Hackers』가 적절할 것으로 생각한다.)


이 책에서 주목하는 해커 문화의 키워드는 운영체제다. 거칠게 말하면, 대세였던 프로그램들이 어떻게 주도권을 뺏겨가는지에 대한 이야기가 1장의 대부분이라 하겠다.

 


초기 해커들

해커 문화는 PDP(Programmed Data Processor)와 밀접한 연관이 있다. 1961년, MIT의 테크 모델 철도 클럽(TMRC)에선 당시 MIT가 구입한 DEC社의 PDP-1을 자신들의 기술 장난감으로 선택하고 해커 문화에 관련된 여러 은어 따위를 만들어 냈으니, PDP와 해커 문화는 그 시작을 같이 한다고 할 수 있겠다. 해커 문화에서 가장 선호한, PDP의 전성기 모델은 PDP-10이다. 하지만 MIT 해커들은 DEC에서 만든 PDP-10 전용 소프트웨어를 버리고, 자신들만의 운영체제인 ITS를 만들고 사용했다. 여기에 아르파넷(ARPANET)이 더해짐으로써, 해커 문화는 더 널리 퍼질 수 있었다.



유닉스의 부상
AT&T 벨 연구소의 해커인 켄 톰프슨은 자신의 생각을 구현한 유닉스를 발명했고, 이런 유아기적 유닉스에서 사용하기 위해 리치는 C언어를 발명했다.

 

운영체제는 전통적으로 해당 호스트에서 최대의 효율을 얻기 위해 어셈블리어로 만들어진다. 톰프슨과 리치는 하드웨어와 컴파일러 기술이 운영체제 전체를 C 언어로 작성할 수 있을 만큼 좋아졌다는 사실을 인식한 최초의 사람들 중 하나였다. (…중략…) 만약 유닉스가 서로 다른 형태의 기계에서 같은 모습, 같은 기능을 제공할 수 있다면, 모두를 위한 공통 소프트웨어 환경으로 동작할 수 있을 것이고, 사용자는 더 이상 기계가 쓸모없어질 때마다 소프트웨어를 새로 설계하기 위한 비용을 지불할 필요가 없기 때문이다. (p.9-10)



PDP-10과 유닉스 문화는 처음부터 잘 섞이진 않았다. PDP-10 해커들은 유닉스 ‘패거리’를 그리 달갑게 여기지 않았던 것 같다.


오랜 시대의 끝 | 상용 유닉스 시대
저자는 80년의 상황을 세 가지로 구분한다. ① ITS와 결합한 아르파넷/PDP-10해커 문화, ② PDP-11, 유닉스와 C언어 집단, ③ '컴퓨터의 힘을 사람들에게 가져다 주는 데 열중한 초기 마이크로컴퓨터광의 무질서한 무리'(p.11)

책은 ITS의 쇠퇴를 먼저 언급한 후, 스톨먼의 자유 소프트웨어 재단(RMS)에서 자유롭게 이용 가능한 유닉스 프로젝트를 설명하고 있다. 책의 취지와 걸맞은 부분은 15-16페이지의 두 세 문단 정도가 되겠다.

 

그러나 소프트웨어는 어디에 있는가? 상용 유닉스는 수천 달러의 가격을 형성했기 때문에 여전히 비쌌다. (…중략…) 성공은 잘 모르겠지만, 가격은 크게 내려가지 않았고 (가장 나쁜 일은) 수정하고 재배포할 수 있는 운영체제의 소스를 얻을 수 없었다. 전통적인 소프트웨어 사업 모델은 해커들이 원하는 것을 주지 않았다. 자유 소프트웨어 재단도 마찬가지였다. RMS가 오래 전에 약속한 해커를 위한 유닉스 커널인 허드 HURD의 개발은 수년간 지체됐으며, (1990년까지 유닉스 유사 운영체제를 구성하는 다른 어려운 요소들을 거의 모두 제공하긴 했지만) 1996년까지도 사용 가능한 커널을 만드는 데 실패했다. (p.15-16)

 

 

개인의 기술 영웅주의는 끝났으며, 소프트웨어 산업과 초기 인터넷은 점점 더 마이크로소프트와 같은 거인에 의해 지배된다는 것이 이 시대의 일반적인 믿음이었다. (p.16)

 

 

 

초기의 공개 유닉스 | 웹의 폭발적인 성장

이런 상황에서 리누스 토르발스가 공개한 유닉스 커널 ‘리눅스’는 기존의 것과 상이한 것이었다.

 

그러나 리눅스의 가장 중요한 특징은 기술적인 것이 아니라 사회적인 것이었다. 리눅스의 개발 이전에는 모두가 운영체제처럼 복잡한 소프트웨어는 비교적 작고 잘 구성된 모임에 의해 주의 깊게 조정되며 개발돼야 한다고 믿고 있었다. 이러한 개발 방식은 상용 소프트웨어와 1980년대에 자유 소프트웨어 재단이 만들어 낸 위대한 자유 소프트웨어 성당 모두의 전형적인 방식이었고 현재에도 여전히 일반적인 방식이다. (p.17)

 


리눅스는 엄격한 표준이나 독재보다 자유로운 방식으로 진보해나갔다. 수많은 지원자가 해킹하고, 또 수많은 사용자가 피드백해주는 식이었다. 물론 리눅스의 초기 성장엔 일반인도 인터넷을 사용할 수 있게 된 배경이 큰 영향을 주었다고 말해야겠다.