'AT&T'에 해당되는 글 1건

  1. 2008/02/05 [번역] BSD Unix의 역사

번역 출처 :
http://drshin.tistory.com/123

원문 출처 :
http://archive.salon.com/tech/fsp/2000/05/16/chapter_2_part_one/index.html



바닐라 번역팀 :

/*****************************************/

/* 김종환 (dakiller6@yonsei.ac.kr)      */

/* 김장환 (jangxyz@haje.kaist.ac.kr)    */

/* 신형진 (jayuloy@gmail.com)          */

/******************************************/


BSD Unix : Power to the people, from the code

BSD Unix : 코드를 이용해서 민중에게 권력을 주다.


60년대 미국 사회의 잿더미 속에서 가장 전설적인 오픈 소스 운영체제를 만들어 내기까지의 영광 -- 그리고 이후 리눅스에게 주도권을 빼앗긴 이유에 대하여

By Andrew Leonard


1975년에 빌 조이(Bill Joy)가 UC버클리 대학원에 가려고 캘리포니아에 왔을 때, 버클리는 좌파의 중심지라는 예전의 명성을 잃어가고 있었다. 그 21살짜리 신동이 만약에 당시 지역신문들이 대서특필 해대던 기사들을 읽었더라면, "개판 5분전" 상황인 캘리포니아에 온 것을 후회 했을 지도 모른다. 샌프란시스코에서는 Patty Hearst가 은행 강도 혐의로 재판을 받고 있었고, 언론계의 큰손은 정치적 급진주의를 표방하는 테러집단 Symbionese Liberation Army에게 기관총을 공급하고 있었다. 또한 Weather Underground라는 베트남전쟁 반대 단체는 오클랜드에서 국방부 건물을 폭파하려다 실패했으며 당시에 유망한 직업으로 받아들여지던 버클리 대학에서의 CIA 신입 공채는 몇몇 데모만 일으키고는 아무런 성과도 올리지 못했다.


버클리 대학은 조잡한 테러주의와 음모이론을 만들어 내느라 그 에너지를 소비하고 있었고 많은 학생들은 마약을 접하고 있었다. 한마디로 개판이었다. 60년대 버클리 대학의 정신을 과시했던 자유언론운동(Free Speech Movement)은 그 흔적을 찾아볼 수가 없었다. Unix 운영체제를 처음 만든 켄 톰슨(Ken Thompson)은 자유언론운동이 한창이던 1966년에 전기공학 분야로 학위를 따고 버클리 대학을 졸업했었다. 그는 1975년에 벨 연구소로부터 안식년 휴가를 받아서 버클리 대학으로 돌아왔다. 한 때 그가 최루탄 가스를 맡아가며 걷곤 했던 캠퍼스는 변해있었다. 톰슨에 따르면 당시 버클리는, "내가 본 장소들 중 가장 정치적으로 무관심한 곳"으로 변해있었다.


하지만 빌 조이에게는 적합한 대학이었다. 버클리 대학 시절부터 썬 마이크로시스템즈(Sun Microsystems, 빌 조이가 동료들과 함께 설립했다.)까지 빌 조이와 친구로 지낸 죤 게이지(John Gage)에 따르면 "빌은 운동권 성향의 유인물들은 쳐다보지도 않았다"고 한다. 비록 현재 빌 조이는 자기 자신을 "충실한 민주당파"라고 일컬으며 과학기술에 관한 회의주의적인 입장을 갖고 있다고 밝히고 있지만, 70년대 당시에 그는, 자신의 표현을 빌리자면, "열성적이진 않았다". 그가 MIT나 스탠포드가 아닌 버클리로 학교를 선택한 것은, 버클리의 정치적 성향이나 진보적인 명성 때문이 아니라, 버클리의 컴퓨터 과학 연구소가 보유하고 있는 기기들이 너무 낡아서 이론 연구에만 집중할 수 있을 것이라는 판단에서였다.


하지만 빌 조이는 이내 이론 연구에 흥미를 잃었고 대신에 코드들을 해킹하기 시작했다. 게이지에 따르면 "조이는 실제로 작동하는(worked) 것을 만들고 싶어했다" 그리고 실제로 조이는 그 일을 해냈다. 버클리에서 보낸 7년 동안 조이와 몇몇 대학원생들은 간부 연구원들과 함께 소프트웨어 개발에 집중적인 노력을 퍼부었다. 그리고 그 결과는 AT&T사의 Unix를 획기적으로 개선시킨 버전으로 나타났다. 버클리판 유닉스(Berkeley Unix) 또는 버클리 소프트웨어 배포판(Berkeley Software Distribution)이라는 이름의 약자로 흔히 BSD라고 불리는 게 바로 이것이다.


그 어떤 프로그램도 이만큼 대박을 터뜨리지는 못했을 것이다! 이 BSD는 너무나도 훌륭해서 미 국방부 산하 국방연구 프로젝트국(DARPA)로부터 알파넷(인터넷의 모체)을 구현하는 기본 컴퓨터 환경으로써 선택된다. 그 덕분에 BSD는 장차 급성장할 인터넷의 구조에서 핵심적인 위치를 차지하게 된다. 당시의 컴퓨터 과학을 연구했다는 모든 사람들은 BSD에 의존할 수 밖에 없었다. 설령 BSD가 아니었어도 어쩌면 인터넷은 오늘날과 비슷하게 변화해 왔을지 모르지만(evolved), BSD 덕분에 웹은 폭발했다(exploded).


어떻게 버클리 대학의 소수 프로그래머들만으로 이러한 성과가 가능했을까? 우선, 빌 조이가 있었기 때문이다. 흡사 자석에 엉겨 붙은 쇳가루들 마냥 그에게는 너무나도 많은 전설과 신화들이 따라다닌다. 이미 세 살 때 글을 읽을 수 있었고, 네 살 때 체스를 깨쳤으며, 대학 구술시험 동안에 새로운 정렬 알고리즘을 그 자리에서 창안해내어 훗날 교수들이 "흡사 어릴 적의 예수를 보는 듯하다"라고 까지 한 인물이 바로 빌 조이다.


조이에 대해서 이 이상 얘기하는 것은 상업 출판사들이 위인전을 낼 때 할 일이다. 오히려 BSD의 성공을 조이의 능력만으로 돌리는 것은 더 큰 그림을 보지 못하는 것이다. BSD가 가장 혁신적이었던 점은 그 소프트웨어 자체가 아니었다. 그보다는 그것이 만들어지는 과정이었다. BSD는, 네 명을 넘지 않는 핵심 개발자들(core group)이 방대한 네트워크상에서 만나는 다수의 공헌자들의 성과를 관리하는 방식으로 이루어졌다. 이 공헌자들은 대부분 프로그램 개선 과정에 자발적으로 참여해서 기여를 하는 사람들이었다. 이것은 현재 우리가 "오픈 소스 개발 방법"이라고 부르는 형태의 시초가 되었다. 쉽게 말해서, 버클리의 해커들은 오픈 소스로 프로그램을 만드는 체계를 통째로 만들어낸 것이다.


사실 BSD 자체는 원래 공짜가 아니었다. 대학의 비호아래 빌 조이는, AT&T사의 유닉스 코드를 볼 수 있는 권리를 산 사람들에게 최소한의 값을 받고 팔았다. (그러나 사실 누가 그 권리를 갖고 있는지 조이가 알았을 방법은 없다.) 하지만 아무도 BSD가 사실상 공짜라는 사실은 의심하지 않았다. 톰슨과 함께 유닉스를 만든 데니스 리치(Dennis Ritchie)가 본 바로는, 유닉스 소스를 해킹하고 싶은 사람은 별 어려움 없이 그 코드를 손에 넣을 수 있었다. 그리고 만약에 몇몇 부분을 수정해서 다시 BSD 개발팀에게 보내면, 그것이 충분히 쓸만한지 검토한 후에 BSD 자체에 포함되었다. BSD 개발팀은 최소한의 값으로 자신들의 소프트웨어가 최대한 많이 사용되는 데에만 오로지 관심이 있었기 때문이다.


BSD는 20년 전 탄생이래, 여러 번의 변천사를 거치게 된다. 70년대 후반에는 빌 조이가 사실상 모든 것을 주도했다면, 그가 82년에 썬 사로 입사함으로써 80년대에는 그의 원맨쇼가 끝나고 여러 사람이 협력해서 개발하는 과정을 거친다. 90년대 초에 AT&T 사와 법정 대결 끝에 BSD는 드디어 완전하게 "자유로이 배포 가능한" 소프트웨어로 거듭난다. 그리고 그 결과 생긴 BSD의 후손들-FreeBSD, OpenBSD, NetBSD-은 아직까지도 운영체제 바닥에서 열성적으로 활동하고 있다. 세상에서 가장 바쁜 웹 사이트라는데 이견이 없을 야후!(Yahoo!)가 FreeBSD를 사용한다. 그러나 최근의 BSD의 지위는 예전의 화려했던 영광에 미치지 못하는 듯하다. 자체 개발자 집단의 분열과 AT&T와의 소송, 그리고 빌 조이가 썬 사로 가버림으로써 BSD의 영광은 현재 많이 축소되었다. 특히 리눅스와 대조되는데, 이는 리눅스에 기반한 운영체제가 대중의 상상력을 사로잡았기 때문이다.


충성스런 BSD 옹호자들은 아직 게임이 끝난 것이 아니라고 하면서, BSD가 기술적으로 리눅스보다 우수하며 앞으로도 그럴 것이므로 결국에는 옛 영광을 되찾을 것이라고 말한다. 하지만 그것은 미래가 되어봐야 알 수 있다. 결코 지워지지 않을 것은 과거에 BSD가 한 공헌이다. 비록 1975년이 버클리 대학에서 예전 자유언론운동의 정신이 잊혀지던 때라 하더라도, 빌 조이가 있던 에반스 홀 건물(Evans Hall) 4층에서는 오픈 소스 운동이 시작하고 있었다는 것만으로도 충분히 의미가 있다.


자유언론운동과 오픈 소스 운동 사이의 관계는 직접적이고도 명확하다. 오픈 소스 개발 방식의 강력함을 보여주었고, 그러한 개발방식을 가능하게 했던 인터넷의 탄생에 결정적인 역할을 함으로써 BSD는, 전례 없이 자유로이 생각을 표현하고 전달할 수 있는 매체(=인터넷과 그 문화)를 만드는데 기여했다. 코드를 이용해서 민중에게 권력을 갖게 해준 것이다.





원문 출처 : http://archive.salon.com/tech/fsp/2000/05/16/chapter_2_part_one/index1.html


BSD Unix : Power to the people, from the code


2부 : 커널 소스 강독을 통해 유닉스 개발에 끼어든 버클리


버클리에 있는 평범한 중상층 집 뒤뜰이었다면, 아마도 고급원목으로 만든 테라스나 일광욕을 위한 벤치 혹은 가끔씩 너구리가 돌아다니는 로즈마리 정원 정도가 있었을 것이다. 그러나 밥 파브리(Bob Fabry)의 뒤뜰에는 공군기지에나 있을 법한 큰 라디오 타워가 있었다. 그것은 무려 높이가 100피트(30미터)가 되었고 거의 파브리 스스로 쌓은 것이었다. 그 타워의 꼭대기에서 안테나를 돌리는 장치로는 1940년대 비행기의 버려진 프로펠러를 이용했다. 파브리의 집에서 그 타워는 흡사 에펠탑을 아주 조금 축소시켜 놓은 것처럼 보였다. 이 타워는 파브리가 어떤 인물인지를, 그러니까 아주 열정적인 geek이라는걸 잘 보여주었다.


파브리에게 있어서 아마추어 라디오는, 단지 하나의 취미라고 하기가 어려웠다. 한번은, 남극에서 겨우 천 마일밖에 안 떨어진 Heard섬에 이 아마추어 라디오를 세우기 위한 계획에 참가하기도 하였다. 이 계획 덕분에 전세계의 많은 아마추어 라디오 애호가들은 서로 다른 대륙간에도 신호를 주고 받을 수 있게 되었다.


하지만 파브리의 가장 큰 업적은 이런 라디오 타워나 남극여행과는 비교가 안 되는 것이다. 그는 바로 BSD의 탄생을 주도한, 버클리대학 컴퓨터과학과 교수이다. 사실 그는 BSD 코드 작성에는 많이 관여하지 않았다. 오히려 빌 조이를 필두로 해서 Sam Leffler, Kirk McKusick, Mike Karel, Keith Bostic 등의 화려한 스타들을 배출한 CSRG(컴퓨터 과학 연구소, 파브리가 만들었다.)가 이 점에서는 인정 받아야 할 것이다. 그러나 이 사람들이 하루 36시간씩 유닉스 파일 시스템이나 네트워크 성능, 메모리 관리 등의 난해한 코드에 매달리고 있을 때, 파브리는 이들이 다른 '속세의 일'에는 신경 쓰지 않아도 되도록, 깐깐하기 짝이 없는 캘리포니아 대학 본부나 AT&T사에 들락날락 하면서 BSD가 행정적으로 아무런 곤란에 처하지 않도록 해결하고 다녔다. 그리고 무엇보다도 미 국방 연구 프로젝트국(DARPA)로부터 지속적이고도 엄청난 양의 지원금을 타내게 만든 연구 지원 요청서를 작성했다.


또한 파브리는 유닉스를 버클리 대학에 알린 장본인이기도 하다. 그가 유닉스를 택한 이유는, BSD 개발 과정처럼 단순하고도 실용적인 측면에서였다.


유닉스는 쌌다. AT&T사는 독과점에 관한 정부 방침 때문에 자사의 유닉스를 사실상 거저로 줄 수 밖에 없는 형편이었다. 비단 소프트웨어 자체가 값이 쌌을 뿐만 아니라 유닉스는 원래부터 값싼 기기에서 돌아가도록 설계되었었다. 유닉스를 만든 톰슨은 1969년 당시에, 그때에도 이미 퇴물 취급 받던 컴퓨터 PDP-7에서 Space Travel라는 고사양 게임을 돌리기 위해 유닉스를 만든 것이었다. 닭 잡는데 소 잡는 칼을 쓴 전형적인 경우이지만 원래 위대한 해커들의 개발 동기는 대개 이 따위이다.


파브리는 비용이 적게 든다는 점과 더불어, 여러 종류의 컴퓨터에 이식하기 쉽다는 점 때문에(C로 짜여져 있었다.) 유닉스를 택하게 된다. 또한 그는 대학에서 운영체제에 관한 연구 말고도, UC버클리 학생들 누구나 컴퓨터를 사용할 수 있는 환경을 갖추도록 책임을 지고 있었는데 70년대 중반인 당시에 이는 매우 큰 돈을 필요로 하는 것이었다. 당시에는 여러 사용자가 각자의 터미널에서 하나의 메인프레임(mainframe) 컴퓨터를 공유할 수 있게 해주는 운영체제들이 극도로 비싼 컴퓨터에서만 돌아가도록 만들어져 있었다. 메인프레임 값까지 다 계산하면 사용자당 5만 달러 정도가 필요했는데, 이는 교육적인 목적으로 대주기엔 너무 큰 돈이었다. 그러나 유닉스는 값싼 DEC사의 PDP-11에서도 작동이 되었으므로 한 "좌석당" 5천 달러 정도면 되었다.


뿐만 아니라 99달러의 라이선스 비용만 지불하면 유닉스의 모든 비밀과 기능을 설명해주는, 흡사 마술서와도 같은 유닉스 소스코드를 인쇄본으로 받아볼 수가 있었다. 연구원이나 교수 그리고 학생들에게 이것은 엄청난 것이었다. 운영체제 분야의 최첨단에서 일하는 연구원들은 이 코드를 갖고 다양한 실험을 해 볼 수가 있었다. 운영체제가 실제로 어떻게 작동하는 것인지 알고자 하는 학생들은 직접 자신의 손으로 그것을 뜯어볼 수가 있었다. BSD와 계약을 맺도록 한 DARPA의 계약 담당관인 아담스(Duane Adams)에 따르면, DARPA가 알파넷을 구축하는데 DEC사의 VMS 대신에 BSD를 택한 데에는 이 코드 공개가 중요한 작용을 했다고 한다. 비록 실제 알파넷에는 DEC사 VAX 기기가 사용되었고 DEC사의 VMS는 오로지 이 기기를 위해서 만들어진 운영체제였지만, VMS는 소스가 공개되지 않은 상업적인 프로그램이었다. 직접 뜯어보고 만져볼 수 없었기 때문에 개발자들이 VMS 대신에 BSD를 택한 것이다.


또한 DARPA에게는 현실적인 이유도 있었다. BSD의 최근 버전이 담긴 테이프 저장 장치들만 보면 환장하던 당시의 실력 있는 연구원들은 그들에게 이미 익숙한 BSD를 택하도록 DARPA에게 압력을 넣고 있었다.


파브리에 따르면, "DARPA는 BSD를 택할 수 밖에 없었습니다. 왜냐하면 DARPA가 접촉한 모든 사람들은 BSD를 쓰고 있었고 동시에 다른 어떤 것보다도 우수하다고 DARPA에게 말했으니까요"


흔히 알려진 바와 같이 유닉스 소스 코드가 대중에게 널리 알려진 것은, 당시의 전화 사업을 주도하고 있던 AT&T사가 전화와 관련되지 않은 기술들에까지 사업을 확장하는 것을 금지한 판결 덕분이라는 데에는 필자도 동의한다. 그러나 그것은 전체 숲을 보지 못하고 나무만 보는 격이다. 유닉스는 단순히 정부와 거대 기업간의 "사생아"가 아니었다. 적어도 파브리와 같은 과학자의 눈에 있어서 유닉스는 "아름다운 예술품"이었다. 그리고 유닉스는, 탄생하면서 이미 공동체 지향적인 성향을 리치와 톰슨(Ritchie and Thompson, 이 둘이 유닉스를 만들었다.)으로부터 많이 물려받았다.


1975년 어느 날, 파브리는 톰슨으로부터 직접 유닉스 코드들에 대해 며칠에 걸쳐 설명을 들을 수 있는 기회를 갖게 된다. 이제는 60대에 도달한 파브리가 자신이 25살일 때의 기억을 떠올리면서 말하기를, "서부 연안 유닉스 사용자 모임의 첫 번째 모임에는 12명에서 15명 정도의 사람들이 모였었습니다. 우리는 코리 홀 건물(Cory Hall)에 모였고 거기서 켄 톰슨씨가 우리에게 코드를 읽어주면서 설명해주었어요. 우리는 며칠에 걸쳐서 커널 소스를 한 줄씩 한 줄씩 읽어 내려갔습니다. 톰슨씨는 각각의 줄이 무엇을 하는지 설명해주었지요... 그것은 놀라운 경험이었어요."


톰슨 자신이 직접 코드를 강독해 주는 것. 파괴적이기까지 한 톰슨의 이러한 행위는 이후, 소스 코드 밑변에 면면히 흐르는 유닉스의 정신을 만들었다. 파브리가 유닉스를 단순히 버클리 대학으로 가져온 것이라 한다면, 톰슨은 유닉스를 버클리 정신에 심어주었다. 오늘날까지도 이 메일 전송에 널리 사용되는 오픈소스 프로그램 sendmail을 만든 에릭 올만(Eric Allman)은 당시에 학부생이면서 그 모임에 참가했었다고 한다. 그는 아직도 톰슨의 강독 때 값싼 종이에 끄적여놨던 필기를 간직하고 있다.


올만이 말하길, "묘한 건, 켄 톰슨씨가 유닉스 커널 내부에 관한 공짜 강연을 본인이 직접 하는데 아주 작은 방이면 충분했다는 점이에요." 지금 같았으면 대형 무도회장을 빌려도 모자랄 것이다.


파브리는 시카고에서 대학원에 다닐 때, 베트남전 반대 행진에 참가했었고 버클리에서 교편을 잡고 있던 12년 내내 한번도 넥타이를 매지 않았다는 사실에 강한 자부심을 느끼고 있다. 그러나 그의 이런 개인적 성향에도 불구하고 파브리나 그의 동료 해커들은, 후대의 역사가들이 평가하고 있듯이 "해방을 위한 투쟁"에 자신들이 참여했다고 생각한 적이 한번도 없다고 한다. 필자가 집요하게 파브리에게 단 한번도 소프트웨어가 공짜이어야 한다는 목표를 설정한 적이 없냐고 물어보자, 그는 질문을 되받아 쳤다.


파브리 왈,"소스 코드를 돈 받고 팔아야겠다는 생각은 도대체 어디서 나온 것입니까? 제 생각에는 그 질문이 더 옳을 것 같습니다." 70년대 중반까지만 해도 소프트웨어는, 하드웨어를 사면 같이 딸려오는 정도로만 여겼었지 그것이 별도의 지적 재산이 될 수 있다고는 생각되지 않았다. 빌 조이는 유닉스를 연구대상으로 생각했고 그래서 그것을 나머지 학문 공동체와 공유했었다. 마치 교수들이 수천년동안 자신의 연구 성과를 공개해왔듯이 말이다. 리치와 톰슨은 자신들이 만든 소프트웨어(유닉스)를 많은 사람들이 사용하길 원했고 실제로 버클리의 프로그래머들이 버그를 고치고 유닉스를 개선시킬 수 있도록 아낌없는 지원을 해주었다.


이들 중 아무도 자기 자신을 "해방을 위한 투사"로 본 사람은 없었다. 그러나 여전히 이상주의(idealism)의 흔적은 군데군데서 엿볼 수 있다.


"제 생각에 당시 우리가 공유하고 있었던 많은 생각들은 누구나 자유롭게 쓸 수 있는 소프트웨어들을 만들어야 한다는 자유 소프트웨어 재단(Free Software Foundation 또는 FSF, GPL을 관리하는 재단)과 수많은 사람들에게 전수된 거 같아요. 당시 우리는, 코드를 복사하는데 일체 비용이 들어가지 않았고 또 우리 자신을 위한 시스템을 만드는 게 목적의 전부였기 때문에 돈을 받고 팔아야겠다는 생각은 전혀 하지 않았지요. 이건 우리뿐만 아니라 다른 사람들의 생각이기도 했고 여기에는 물론, 유닉스를 만든 켄 톰슨씨와 데니스 리치씨도 포함됩니다." 라고 파브리는 말했다.


파브리는 DARPA에서의 단조로운 생활에 지쳐서 아마추어 라디오 일에 몰두하기 위해 DARPA에서 은퇴했다. 그러나 BSD의 혁혁한 성공 신화는 여전히 그를 흥분되게 한다.


"BSD는 대학에서 진행된 소프트웨어 프로젝트 중 가장 성공적이었다는 사실에는 이의가 있을 수 없어요"라고 파브리는 그답지 않게 매우 강한 어조로 말했다. 그러나 이내 다시 겸손한 어조로 돌아와, "물론 제가 1983년까지만 지켜봤기 때문에 그 이후에 BSD를 능가하는 프로젝트가 있었는지 모르겠지만 그 당시까지는 확실합니다. 우리는 글자 그대로 사방에서 BSD를 설치하는 걸 지켜봤고 또 컴퓨터 과학의 한 세대가 통째로 BSD에 의존해서 연구하는걸 지켜봤습니다. BSD는 운영체제의 표준을 확립했으며 사람들은 그 이후로 더 혁신적인 모델을 제시하지 못하고 있습니다. 또한 인터넷의 근간이라고 할 수 있는 네트워크 분야에 관해서는 단연 선두였습니다. 사실 첫 몇 년 동안은 다른 경쟁자라고는 전혀 없기도 했었고요. BSD는 오늘날의 인터넷을 만든 사람들이 인터넷을 개발할 당시부터 사용했던 것입니다. There were battles that had been solved that didn't have to be solved again in order to do whatever new port that they wanted to do."






원문 출처 : http://archive.salon.com/tech/fsp/2000/05/16/chapter_2_part_one/index2.html


3부 : 코드 실력에 있어서 빌 조이 혼자서 전체 회사 하나를 상대해서 이기다-혹은 그 진실


"빌이 코드 짜는걸 보고 있으면 정말 악마 같습니다" - John Gage


"그의 코드는 지저분 했습니다" - Kirk McKusick


"빌 조이는 사업 수완이 뛰어 났습니다" - Eric Allman


"빌은 월등 했습니다. 그는 사람들이 대학원생 하면 떠올릴 수 있는 모든 장점을 다 갖고 있었습니다" - Bab Fabry


"그의 곁에 있으면 저절로 감동을 느끼고 그의 주위에서 그가 시키는 일을 하게 됩니다. 또한 그는 다른 사람들이 자기가 만든 소프트웨어를 사용하도록 만드는 능력도 뛰어났습니다" - Kirk McKusick


"BSD는 재능 있는 많은 개발자들의 성과입니다. 빌 조이만의 천재성 덕분에 서로 다른 곳에서 작업을 한 이 많은 개발자들의 성과가 하나로 통합될 수 있었습니다." - Rob Gruwitz


"빌은 정말 똑똑합니다." - Sam Leffler


-------------------



게이지(Gage)는, 빌 조이 이야기 중 가장 그가 즐겨 말하는 것을 이야기하기 시작했다.


장소는 워싱턴 DC가 내려다 보이는 높은 건물의 어느 회의실. 시대는 80년대 초. 등장인물은 DARPA측 몇 명, DARPA로부터 알파넷(Arpanet) 구축을 수주 받은 BBN 회사측 몇 명 그리고 빌 조이를 비롯한 버클리 해커들.


이들은 DARPA가 최근에 겪고 있는 골치거리를 해결하기 위해 모였다. DARPA는 연구소들 간 네트워크 망을 구축하기 위해 거액을 주고 버클리 대학에 유닉스 개발을 맡겼었다. 이 과정에서 DARPA는 알파넷(Arpanet)에 사용할 통신 프로토콜 TCP/IP를 유닉스에 포함시키도록 하였다. 빈톤(Vinton Cerf)과 밥(Bob Kahn)이 개발한 TCP/IP (Transmission Control Protocol / Internet Protocol)는 인터넷 상에 있는 컴퓨터끼리 데이터를 주고 받는 방법으로 아직까지도 표준으로 자리잡고 있다.


그런데 DARPA는 이 TCP/IP를 C 언어로 구현하는 것을 버클리가 아닌 보스턴에 있는 BBN이라는 회사에 맡겼고, 이들이 만든 TCP/IP 코드를 BSD에 포함 시키도록 했는데, 빌 조이가 이에 응하지 않아서 말썽이었다. 빌 조이가 생각하기에 BBN측에서 만든 TCP/IP 코드는 별로 좋지 않았다. 그래서 빌 조이는 자기가 직접 더 뛰어난 TCP/IP 코드를 썼고 이를 BSD에 포함 시켜야 한다고 주장했다.


게이지가 말하기를, "BBN측에서 큰 돈을 들여 만든 TCP/IP 코드는 제대로 작동하지 않았고, 대학원생 빌 조이가 만든 것이 더 뛰어난 성능을 보였습니다. 때문에 그들은 한자리에 모여서 티셔츠 차림의 허름한 대학원생에게 '어떻게 코드를 짰습니까?'라고 물어 보았습니다. 그러자 빌 조이는 '매우 간단해요. 프로토콜을 읽어보고 그에 맞게 코드를 짜면 되죠'라고 답했습니다.


"이 대답은 BBN측 사람들의 힘을 빠지게 하는데 충분했습니다"


그러고도 남을 일이다. 프로그래밍을 해 본 사람이라면, "프로토콜을 읽고 그에 맞게 코드를 짜면 된다"는 식의 단순한 대답은 정말이지 욕이 튀어나올 정도로 오만한 대답이라는 것을 누구나 알 수 있을 것이다. 그런데 정말로 빌 조이는 위와 같은 말을 했을까? 그리고 BBN측에서 만든 코드는 정말 그렇게 형편 없었을까?


BBN에서 TCP/IP 코드를 담당했던 롭(Rob Gurwitz)에 따르면 둘 다 아니라고 한다. 롭은 DARPA가 TCP/IP 관련해서 가졌던 모든 모임에 참석했었는데 빌 조이가 그러한 말을 하는 것을 들은 적이 없다고 했다. 롭은 빌, 샘(Sam Leffler)과 함께 TCP/IP 코드를 BSD에 포함시키는 역할을 맡았었는데 그에 따르면 빌 조이가 짠 TCP/IP 코드는 사실 BBN측의 TCP/IP 코드와 기능적으로 완전히 같았던 것이 아니라고 한다. 빌 조이가 짠 코드는 충분히 빠른 회선 상에서 성능을 최대로 끌어올리는데 초점이 맞추어져 있어서 전체 네트워크가 이더넷으로 이루어진 대학 캠퍼스 같은 곳에 적합한 것이었다. 반면에 롭이 만든 TCP/IP는 56k의 전화선 같이 느린 회선 상에서 작동하는데 초점이 맞추어져 있었는데, 이는 당시 알파넷을 연결하는 주요 연결망들이 전화선이었기 때문이다.


그럼에도 불구하고, 버클리의 해커들은 지금과 마찬가지로 자신들의 코드가 더 뛰어나다고 주장하면서 BBN측의 코드를 BSD에 포함시키기를 거부했다. 실제로 롭에 따르면, 몇 년 동안은 DARPA 내의 몇몇 곳에서는 BBN측의 코드를 사용했었다고 한다. 대부분의 프로그래밍 에피소드에서처럼, TCP/IP에 대해서 파고들면 들수록 진실은 복잡하기만 하다.


그런데 이 TCP/IP 코드가 왜 중요한가? 그것은 적어도 세 가지 이유 때문이다.


첫째, 인터넷이 오늘날처럼 성공적으로 만들어진 이유로 사람들은 종종 TCP/IP가 BSD에 포함되었다는 사실을 꼽는다. 빌 조이와 다른 CSRG(Computer Science Research Group)의 베테랑들은 자신들의 TCP/IP 코드만은 절대로 양보할 수 없다고 버텼는데 이는 로컬 네트워크에서 이보다 뛰어난 성능을 보여주는 게 없었기 때문이다.


인터넷에게 있어 TCP/IP는, 프로메테우스가 인류에게 몰래 가져다 주었다는 불과 같은 존재이다. 그리고 90년대에 이르러서 인터넷이 급작스럽게 팽창했을 때에도, BSD의 TCP/IP는 이를 충분히 커버할 수 있었다. 커크(Kirk McKusick)는 이 점이야말로 BSD의 TCP/IP 성능을 입증해준 것이라고 말한다. BSD 옹호자들은 오늘날까지도, 빌 조이가 썼던 최초의 TCP/IP 코드의 계보를 잇는 BSD의 네트워크 성능이 리눅스보다 뛰어나다고 주장한다.


둘째, AT&T사와 버클리대가 속한 캘리포니아 대학 측의 법정 싸움에서 TCP/IP 코드는 중요한 역할을 한다. 1984년도에 이르러서 AT&T는 더 이상 독점 기업이 아니었고 따라서 정부는 AT&T가 유닉스를 상업화 하는 것을 허락하게 된다. 이미 학계와 네트워크 분야에서 사용하고 있는 유닉스에 대해 AT&T사는 라이센스 요금을 99달러에서 점차적으로 250,000달러까지 끌어올린다. 그러나 그 때에는 이미 AT&T 말고도 유닉스를 다루는 회사가 있었다. BSD를 만들었던 버클리의 CSRG에서 파생된 BSDi사는 90년대 초부터 자신들만의 BSD를 판매하기 시작했고, 캘리포니아 대학도 별도의 유닉스를 수년째 팔아오고 있었다. 1992년에 AT&T사는 BSDi사와 캘리포니아 대학이 자사의 상업적인 코드를 훔쳤다고 이 둘 모두를 제소했다.


그러나 소송은 마냥 AT&T측에게 유리하게 전개되지만은 않았다. 당시 AT&T가 밀고 있는 제품 System 5에는 많은 BSD 코드가 들어가 있었는데 TCP/IP도 그 중 하나였다. 버클리 대학은 자신들의 코드를 매우 개방적인 라이선스 하에서 배포했다. 해당 소스의 저작권이 캘리포니아 대학에 있다는 것만 명시하면, 사용자들은 그 소스를 갖고 무엇이든 마음대로 할 수가 있었다. 그러나 AT&T는 캘리포니아 대학을 명시한 저작권 문구를 삭제하고 마치 자사의 소프트웨어인 것처럼 System 5를 팔고 있었다. 커크(Kirk McKusick)와 같은 버클리의 해커들은 이 때문에 적잖이 빡 돌았다.


"재주는 곰이 부리고 재미는 엉뚱한 놈이 본다더니, 분명히 우리가 쓴 코드를 AT&T사는 자신들의 것이라고 주장하고 있었습니다."라고 커크는 말했다. "그들은 그에 대한 권리를 주장했는데 우리는 순순히 그들의 말을 믿을 수가 없었습니다. 그들은 땡전 한푼 지급하지 않은 채 빌어먹을 라이선스 조항을 들이대면서 우리가 만든 성과를 갖고서 돈을 벌어들이는 것도 모자라서 이제는 아예 자기들 것이라고 주장했기 때문에 우리는 참을 수가 없었죠"


캘리포니아 대학의 변호사들은 저작권 위반으로 AT&T사를 맞고소했다. 법적인 절차를 거친 뒤에, 쌍방 모두 더 이상 이의를 제기할 수 없는 조건으로 양쪽은 합의에 도달했다. (합의 내용은, BSD에서 AT&T사의 고유한 코드를 제거하면 유닉스라는 상호를 사용할 수 있도록 한다는 내용이었다) 이 합의문과 더불어 버클리의 해커들이 자사의 코드로부터 AT&T사의 "얼룩"을 닦아내는데 심혈을 기울인 덕택에 결국 BSD를 상업적인 손길로부터 해방시켰다.


셋째로, 설령 빌 조이가 "프로토콜을 읽고 코드를 써 내려갔죠"라는 말 따위로 동료 프로그래머들을 열 받게 하지 않았더라도, 빌 조이를 잘 아는 사람이라면 누구나 그가 실제로 그런 말을 하고도 남을 사람이라는 걸 인정할 것이다. 빌 조이의 동료와 교수들은 만장일치로 그가 괜찮은 성격이었다는 걸 인정하지만, 많은 위대한 해커들과 마찬가지로 빌 조이는 고집이 대단히 셌다. 사실 그의 완고함이 BSD가 전설로 자리잡는데 역사적으로 큰 역할을 했다. 일반적으로 프로그래머들은 자기 자신에 대한 확신으로 꽉 차있다. 그리고 집단으로서, 유닉스 프로그래머들은 자신만의 고상한 완고함을 과시하는 것으로 유명하다. 그 중에서도 특히 BSD의 해커들은, 물론 몇몇 예외가 있기는 하지만, 자신들의 완고함에 누가 이의를 제기하는 것을 싫어했다. 사실 그들은 틀릴 경우가 거의 없었으며, 만에 하나 틀릴 경우에도 그 사실을 받아들이게 하는 데에는 군부대를 동원해도 부족할 지경이었다. 리눅스 기반의 운영체제들이 세계를 휩쓰는 것을 BSD 해커들이 수년째 그저 씁쓸히 바라볼 수 밖에 없었던 데에는, 빌 조이가 자신의 TCP/IP 코드에 부렸던 고집처럼, 귀족적인 우월성을 떨쳐버리지 못했다는 점이 한 몫 했다고 본다.


물론, 신이 전체 인류 중에 단 한 명에게 오만해질 수 있는 권리를 부여한다면 그 자리는 빌 조이에게 돌아가야 한다. 캘리포니아 대학이 화면의 특정 위치에 커서를 배치할 수 있는 성능을 갖춘 새 터미널 기기들을 새로 갖게 되었을 때, 빌 조이는 즉시, 그것도 매우 빠르게, 그 기능을 십분 활용한 편집기 vi를 만들었다. vi는 아직도 광범위하게 쓰이고 있으며 거의 모든 유닉스에 기본으로 설치된다.


컴파일러가 마음에 들지 않으면 빌 조이는 새로 썼다. 유닉스 상에서 백스페이스 키가 제대로 먹히지 않으면, 소스를 새로 썼다. 이런 식으로 끝도 없었다.


커크에 따르면, "빌은 어떤 사안이 있을 때, '좋아, 여기서 출발해서 저기로 가고 싶은데 가장 빠른 길은 뭐지?'라는 방식으로 처리하는데 매우 뛰어났습니다. 그의 코드는 지저분했고 가독성도 형편 없었으며 유지 보수하는데 엄청 애먹는 그런 종류였습니다. 그러나 이런 방식 덕분에 그는 보름 정도의 시간만으로 엄청난 기능들을 구현해냈습니다. 언젠가 누가 와서 저와 빌 조이를 비교해달라고 했습니다. 저는 '사실, 빌 조이가 해낸 것들 중에 제가 할 수 없었던 것들은 아무 것도 없습니다. 단지 제가 하는데 10년 걸릴 것들을 빌 조이는 단 1년 안에 해내죠.'"


파브리(Fabry)에 따르면 "빌 조이는 매우 방대한 코드를 읽고서 그의 머릿속에서 정리하는 능력이 뛰어났습니다. 때문에 그는 주말 동안에 방대한 코드를 재구성해 낼 수 있었죠. 나는 그가 커널에 대대적인 수정을 가하는 걸 몇 번 지켜봤습니다. 그는 나중에 하면 한 달이 걸릴지도 모르는 일들을 단 몇 일만에 해내곤 했죠. 정말 대단했습니다."


한번은 빌 조이가 내게 핸드폰으로 전화를 걸었다. 그날은 2월 14일이었고 그는, 그 해의 TED(Technology, Entertainment, and Design) 모임에 가기 직전에 짬을 내서 캘리포니아 몬터레이의 한 슈퍼에서 장을 보고 있었다. 그는 단 일초라도 아끼려고 했는지, 그의 버클리 시절에 대해 묻는 나의 인터뷰와 장 보는 것을 동시에 하기로 했다. 덕분에 나는 그의 '멀티태스킹' 능력을 직접 경험할 수 있었다. 내가 하는 질문들을 답하면서도 그는 계산대를 향해 한 박자도 쉬지 않고 말을 할 수 있었다. 그의 문장 중간중간에 "야채 샐러드"나 "건포도 요플레" 등의 단어가 자연스레 섞여 나왔다.


여러 가지 작업을 동시에 처리하기로 유닉스가 유명하듯이, 빌 조이는 그의 두뇌의 여러 부분을 동시에 포착해서 어느 한 쪽도 놓치지 않고 처리하는 듯 했다.


사실 후에 나는 그의 이러한 능력이 첫인상만큼 놀랍지는 않다는 걸 알게 되었다. 대신에 빌 조이가 나에게 말해준 바로는, 한번 정한 생각을 웬만하면 바꾸지 않는다고 했다. 즉, 한번 생각이 정해지면 더 이상 고민하지 말고 바로 잊어버렸다가, 필요할 때 시간 낭비 없이 즉시 불러올 수 있는 것이 비법이라고 했다.


빌 조이와 함께 일했던 사람들에 따르면, 그의 이러한 "나누어서 생각하는 방법" 때문에 그는 어떤 상황에 닥쳤을 때 바로 대처하는 능력은 비교적 떨어졌다고 한다. 버클리 컴퓨터 과학 연구동 복도를 가로 질러서 쩌렁쩌렁 울려대는 그의 목소리는 이젠 하나의 전설이 되었다. 그러나 빌 조이의 이 완고한 고집불통 덕분에 그는 훌륭한 지도자가 될 수 있었다. BSD가 번창한 이유는 빌 조이가 타협을 거부하며 자신의 코드를 항상 표준으로 자리매김 시켰기 때문이다. BSD의 첫 번째 버전을 출시하는데 조이 다음으로 큰 기여를 한 샘(Sam Leffler)에 따르면, 그와 빌 조이 사이에는 절대로 타협하지 않는다는 무언의 책임감이 있었다고 한다. 미 국장부성은 BSD를 위해 지불하고 있었고 그 사용자들은 단지 컴퓨터과학의 성과를 얻어갈 뿐이었다.


흥미롭게도, 빌 조이는 최근의 리눅스 진영의 움직임에 별로 동의하지 않는다. 즉, 오픈소스 소프트웨어의 진정한 힘은 수많은 프로그래머들의 자발적인 참여와 열정으로부터 나온다는 점에 그는 동의하지 않는다는 것이다. 리눅스는 평등주의적인 윤리관에 기초해서 만들어진다. 즉, 비록 모든 프로그래머가 뛰어난 코드를 쓰진 못하더라도 여럿이서 함께 코드를 검토하고 키보드를 두드리면 점차적으로 위대한 코드에 도달할 것이라는 믿음에 기반하고 있다.


그러나 빌 조이는, 프로그래머가 많을 수록 더 좋은 코드가 만들어진다는 생각에 동의하지 않는다.


"대부분의 사람들은, 실력이 떨어지는 프로그래머입니다."라고 그는 말한다. "솔직히 말해, 아무리 많은 사람들이 코드를 들여다 보고 있어도 결국 버그를 찾아내는 몇몇은 따로 있다는 것입니다. 이들은 자기 자신을 학대하면서까지 코드를 들여다보는 소수의 사람들입니다. 대부분의 사람들은 코드를 들여다 봐도 아무것도 보지 못합니다. 비록 수천 명의 사람들이 프로젝트에 기여를 한다고 해도 뛰어난 성과를 얻는다는 보장은 없습니다."


사람들은 흔히, 도처에 흩어져 있는 다수의 프로그래머들이 네트워크 상으로 협력해서 하나의 커다란 프로젝트를 완성하는 전통의 효시로 BSD를 꼽곤 하는데 빌 조이는 이러한 견해에 대해서도 회의적이었다.


"외부로부터 접수된 소스코드 개선은 거의 없었습니다"라고 빌 조이는 BSD에 대해 말했다. "게다가, 제가 받은 대다수의 제안들은 별로 대단치 않았습니다. 물론 그 당시에는 네트워크를 통한 전파가 그리 빠르지 않았다는 것도 감안해야 합니다. 몇 년이 지나서야 코드에 대한 개선점들이 접수되곤 했지만, 실제로 제가 작업하는 와중에 결정적인 것들이 접수된 적은 별로 없습니다."


사실 빌 조이는 상황을 너무 단순하게 보는 것인지도 모른다. 샘(Sam Leffler)과 커크(Kirk McKusick)에 따르면, 비록 외부에서 접수된 90%의 건의는 결국 BSD에 포함되지 못한 게 사실이라 하더라도, BSD 코드의 상당 부분은 버클리 대학 밖에서 만들어졌다고 말할 믿을만한 근거가 있다고 한다. 또한 1982년도에 빌 조이가 썬사로 떠나간 이후에 이러한 외부로부터의 기여는 당시 성장하던 인터넷과 맞물려 점차 그 비중이 커져갔다고 한다. 빌 조이가 신세대 오픈 소스 해커들을 지나치게 평가절하 하는 것인지도 모르지만, 사실 대다수의 신세대 해커들 또한 오픈소스 운동을 가장 밑바닥에서 지탱하고 있는 소프트웨어 문화에 빌 조이가 했던 기여를 인정하지 않거나 심지어는 아예 모르고 있다. 빌 조이는 레드햇 리눅스를 부팅하다 보면 그가 20년 전에 손수 썼었던 부팅 메시지들이 자기 눈앞에 스크롤되는 것을 본다고 한다. 이러한 오픈 소스 진영에 대해서 이야기하기 보다 빌 조이는, 그가 최근에 공들이고 있는 썬사의 자바와 지니(Java and Jini)에 대해서 이야기하길 좋아한다. 가끔 누가 그에게 리눅스에 대해서 물으면, 그가 따분해한다는 기색을 역력히 느낄 수 있다. 내가 유닉스 커널을 새로 쓸 때 아직 태어나지도 않았었던 이 애송이 해커들은 도대체 누구야?


"만약 제가 유닉스를 밑바닥에서부터 완전히 새로 써야 한다면, 어느 한해 여름이면 쉽게 해낼 수 있습니다."라고 빌 조이는 말했다. "훨씬 뛰어난 성과가 있을 것입니다. 훨씬 더 좋은 코드 말입니다. 아이디어는 오래 전부터 있었으니까요."


그러나 만약 그의 생각대로 더 많은 수의 프로그래머가 더 좋은 코드를 보장하지 않는다면, 어째서 오늘날의 시장은 리눅스에 기반한 시스템들이 지배하고 있단 말인가? 그리고 만약에 버클리 대학 외부로부터 접수된 많은 건의들을 빌 조이가 받아들이지 않았다면, 어째서 BSD는 일반인들에게 "협력형 오픈소스 개발"이라는 영역을 개척했다는 평가를 받고 있는 것일까??






원문 출처 : http://archive.salon.com/tech/fsp/2000/05/16/chapter_2_part_one/index3.html


4부 : BSD가 빌 조이 원맨쇼에서 오픈소스 팀워크로 나아가기까지 


“BSD는 처음에는 Bill Joy 그 자체였습니다. 그가 BSD의 배포판을 만들었고, 그것들에 대해 이야기 했으며, 그것들이 뿌리를 내리도록 했죠. 그리고 그는 꼭 대화 말미에 '그리고 만약 당신이 뛰어난 소질을 가지고 있다면, 나에게 말해 달라.'고 말하곤 했습니다.”라고 McKusick은 말한다.


하지만 Eric Allman은 Joy가 Berkeley에서 자유 재배포 소프트웨어의 개념을 만들어낸 것은 아니라며 갑자기 대화에 끼어들었다. 70년대 초부터 널리 재배포된 INGRES라 불리는 데이터베이스 프로젝트에서 일해 온 Allman은 “그것은 Berkeley에 널리 퍼진 정신인 것 같습니다.”라며 그 때를 회상했다. 그리고 Allman은 Joy가 떠난 후에도 그 정신은 계속됐다고 얘기했다.


3월에 화사한 봄날의 일요일이다. McKusick과 Allman 그리고 나는 Allman과 McKusick이 거의 20년 동안 살아온 북쪽 버클리의 작은 별채인 “Chez Oxford”의 뒤 뜰에 있는 야외 테이블에 둘러 앉았다. 거의 한 달 동안 내내 비가 내린 후로 처음 맞는 따뜻한 태양이, “Chez Oxford”의 풍부한 와인셀러에서 끊임없이 와인을 고르며 기뻐하는 우리에게 미소 지어 주었다.


Allman과 McKusick은 잠시 휴식을 취할 수 있다. Allman의 회사인 Sendmail은 재정적으로 매우 바쁜 시기이고, 주요한 업그레이드를 막 배포했다. 한편으로,  McKusick은 BSD의 상용 버전을 취급하던 CSRG의 자회사인 BSDi와 FreeBSD 배포판의 가장 큰 배급업체인 Walnut Creek CD-ROM 사이의 합병을 조정함으로써 전체 BSD 커뮤니티들을 흥분으로 몰아넣었다. BSDi가 독점하고 있는 BSD/OS에서 완전히 자유로운 FreeBSD로 일부 코드를 이동시키기 위한 계획들은 순탄하게 진행되고 있다. 합병의 의미에 대한 해석은 매우 다양하다. 어떤 사람들에겐, BSDi의 소유권 제공은 Linux의 맹공격에 대해 어떠한 진전도 주지 못한 양여일 뿐이었다. 다른 사람들에겐, 합병은 BSD의 분열의 시절이 끝났다는 희망의 신호이다. 커뮤니티는 새롭게 나타난 다른 운영체제와의 새로운 스파링 시합을 준비하기 위해 다시 재결합되고 있다.


조이가 BSD의 심장이라면 McKusick은 Berkeley Unix의 빛깔을 지키는 영혼이다. 1982년에 Joy가 떠난 후에, Leffler도 BSD 4.2를 DARPA에 인도하기 위해 오랜 기간 Berkeley에 머물러 있다가, 학계를 떠나 더 이익이 되는 루카스 필름(Lucasfilm)과 실리콘 그래픽스(Silicon Graphics)로 갔다. 그리고 그 때까지 Joy가 하라고 얘기했던 다양한 BSD 업무들로 논문을 써 온 McKusick이 지휘권을 잡았다.


지금까지도 McKusick은 자신이 BSD에서 떨어져 나온 모든 주요 배포판에 관한 개발자 메일링 리스트를 구독하는 유일한 진짜 BSD 개발자들 중에 하나라고 자랑스럽게 말한다. 매일 새벽 2시, 그의 컴퓨터들 중 한 대는 그 날의 FreeBSD의 수정판을 다운받아서 그가 항상 최신으로 관리하고 있는 시스템을 다시 컴파일한다. 만약 누군가가 시간이 흐른 뒤에 BSD의 발전에 대해 폭 넓은 시각으로 얘기할 수 있다면, 그가 바로 McKusick이다.


그의 동료 BSD 코더들처럼, McKusick도 혁명적인 열정이나 Berkeley의 급진적인 야망을 거부한다.


“우리가 한 공헌은 결국 오픈 소스 소프트웨어를 위한 모델을 개발한 것이었습니다... 우리는 소규모의 사람들을 모아서, 수 백 명의 사람들이 작업하고 있는 소프트웨어 프로젝트를 조정할 수 있는 방법을 알아냈습니다.”라고 McKusick은 말한다.


McKusick은 Joy와 Leffler가 떠남으로써 생겨난 조직적 모델의 윤곽을 잡았다. 그 중심엔 “핵심 개발자들 (core group)”이 있다. -- 코드 기반을 수정하거나 새로운 코드를 기록할 수 있는 권리를 허가하거나 박탈함으로써, 코드에 대한 접근을 통제하는 프로그래머들의 집단. 그들로부터 파생된 것이 그러한 권리를 갖고 있는 “committers”이다. committers로부터 확장된 것이 committers에게 변경사항과 버그 리포트를 제출하고 고치는 일반적인 개발자 커뮤니티이다. 오늘날, Apache Web server 와 the GNU project같은 대부분의 고자세의 오픈 소스 프로젝트는 이와 비슷한 조직 형태를 이용한다. Linux는 중요한 예외이다. Linux엔 핵심 개발자가 없다.  단지 믿을 수 있는 "심복"들이 추종하는 Linus Torvalds가 있을 뿐이다.


"committers은 우리가 책임이 뒤따르는 것들을 맡길 정도로 믿을 수 있는 사람들이었습니다. 한 마디로, 당신이 이러한 모든 독재적인 통제권을 갖지 않는다는 뜻이었죠... 이제, 당신은 커널에 몰래 들어갈 수 있고, 어떤 것이든, 심지어 어떤 trapdoor라도 기록할 수 있습니다. 가장 현명한 방법이라고는 말할 수 없겠지만, 우리는 항상 커널 개발 상황을 들여다보고 있기 때문에 사람들에게 그런 짓을 하지 말라고 말할 필요가 없습니다. 그들이 해서는 안 되는 일들을 일일이 규제할 필요가 없습니다. 왜냐하면 우리는 하나의 구조뿐만 아니라 그에 따르는 문화까지도 만들어 왔기 때문입니다."라고 McKusick은 말한다.


그럼에도 불구하고 90퍼센트의 공헌이 낭비 되었다. McKusick이 말하듯, "남은 10%가 Berkeley와 같은 냄새가 나도록 해주고 있습니다."


"결국 비결은 정말로 좋은 작은 금괴를 찾아내는 것이죠. 그래서 우리는 이러한 전체 계층을 가졌고, 오늘날도 여전히 계층을 갖습니다.. 물론 수천 명의 개발자들 중 대부분은 솔직히 말해서 훌륭한 코드를 쓰지 못합니다. 그러나 그들에게도 끼어 앉을 자리를 주어야지 내쫓으면 안됩니다." 라고 McKusick은 말한다.


McKusick은 그룹이 계속해서 커간다는 것을 알게 되었다. 오늘날, FreeBSD는 6명의 핵심 개발자에, 거의 180명의 committers와 수 천 명의 개발자들에 의해 둘러싸여 있다. 그렇다 해도 FreeBSD는 Linux 기반의 운영체제에 기여하고 있는 개발 커뮤니티에 비해 작아 보인다. McKusick이 최근 몇 년간 수 백 번도 넘게 들어 온 확실한 의문이 떠오른다.: 어떻게 Linux 기반의 운영체제가 BSD를 따라 잡았나?


몇 가지 확실한 답이 있다. 90년대 초, 퍼스널 컴퓨터의 힘이 점차 성장하던 때에, 많은 유닉스 열광자들은 자신의 PC에서 유닉스를 구동시키는 방법을 찾기 시작했다. 그 당시 두 명의 선수가 있었는데, 완전히 Intel "x86" microchips로 만든 컴퓨터를 위해 William과 Lynne Jolitz가 개발한 BSD의 한 버전인 386BSD와 Linux 기반의 운영체제 였다. 하지만 386BSD의 느린 발전에 영향을 준 AT&T의 소송은 전체 BSD의 노력을 침체에 빠뜨렸다. AT&T가 BSD를 없애는데 성공하지 말라는 보장이 없었다. GNU 유틸리티들과 연합한 Linux는 엄격한 GNU General Public License에 의해 보호 받았다. -- 모든 코드는 자유로웠고, 항상 자유로워야 한다.


AT&T의 소송이 해결될 때까지, Linux는 계속 발전하였다. 그리고 386BSD 이후에 BSD의 미래 발전은 해커들의 마음을 바꾸기에는 역부족이었다. 개발자들은 새로운 패치들이 포함된 386 BSD가 1993년에 FreeBSD와 NetBSD로 분리되어 만들어진 것이 불만이었다. 오래지 않아, NetBSD 핵심 개발자들의 내부 논쟁은 OpenBSD의 탄생을 만들어냈다. 그러는 사이, McKusick과 CSRG의 다른 멤버들은 BSDi를 설립했다.


McKusick은 BSD 커뮤니티들이 회복 불가능하게 흩어졌다는 널리 알려진 사실을 부인했다. 그는 막 합병한 FreeBSD와 BSDi 외에, 각각 특정한 곳에 초점을 맞춘 오직 두 개의 BSD의 주 배포판만이 있다고 단언했다. NetBSD는 다른 컴퓨터 구조로 포팅하는 것으로 특화되었다. OpenBSD는 보안에 중점을 두고 있다.


그럼 Linux 배포판은 얼마나 있나? 눈을 굴리고 있는 McKusick이 물었다. 15개, 20개?


나는 모든 리눅스 배포판이 Torvalds라는 중앙집권적 존재에 의해 감독되는 동일한 커널을 공유한다는 사실을 지적했다. BSD는 중심적 존재가 없다.


McKusick은 잠시 생각에 잠긴 듯이 보였다.


"이것은 다소 이기적이지만, 나는 내가 거리끼지 않고 명목상의 우두머리 역할을 해왔다고 믿습니다... 나는 커뮤니티가 쪼개지지 않도록 막을 수 있었습니다. 나는 본래부터 10년, 거의 15년 동안 그 자리에 있어 왔습니다. 그리고 나는 이제 정말 다른 사람들에게 계승할 때라고 느낍니다. 나에게는 일을 진행시키는 나만의 관점이 있습니다. 그리고 어떤 점에선, 당신들은 새로운 피를 받고 싶어합니다. 솔직히 내가 예상했던 것은,  BSD가 커져서 여러 개의 배포판을 만들게 되지만 결국 대부분은 주목 받지 못해서 사라지고 결국 하나만이 남게 될 것이라는 것입니다. 그리고 어떤 점에서는 실제로 그게 현실화되었습니다. FreeBSD가 적어도 시장의 80%를 차지하게 된거죠. 그리고 다른 두 개도 관심을 끌었지만, 잡음을 내는 수준이었죠."라고 그가 말했다.


중앙으로 통합된 힘에 너무 많이 의존하는 것만이 반드시 강한 것은 아니라고 McKusick은 말한다. "Linus Torvalds가 죽거나, 지쳤거나, 모든 것에서 손을 뗐을 때, 무슨 일이 일어나겠습니까? 그것은 엄청난 영향을 끼칠 것입니다. 제 생각에 토발즈는, 일반인이 혼자서 감당하기엔 끔찍하게도 벅찬 일을 잘 해내고 있습니다. 그러나 BSD의 경우, 제가 어느 날 버스에 치인다고 해도 별 영향을 받지 않을 것입니다.


그는 그 근거로, Torvalds가 리눅스 커널의 변화를 관리하는 소스코드 관리 소프트웨어 프로그램에 기대하지 않는다는 사실을 얘기했다. 그 대신, Torvalds는 각각의 주요패치를 그의 개발 시스템에 설치해보며 재검토한다. 하지만 만약 무언가가 잘못되면 무슨 일이 일어날까? 당신은 어떻게 바꾸기 전으로 되돌릴 것인가? 원 리더가 떠났을 경우, 그가 했던 일들을 다른 이들에게 넘겨줄, 체계적으로 정리된 정보가 어디 있는가?


내가 Torvalds에게 답변을 바라며 e-mail을 보냈더니, 그는 답해주었다.


“소스의 정보만을 얻어내는 단순한 기술적 측면은 소스 관리 프로그램이 다룰 수 있다. 하지만 적어도 내 생각엔, 사람들은 실제로 '이제 그것을 넣어보자. 만일 잘못되었으면 소스 관리 프로그램이 있으니까 우리는 언제든지 복구시킬 수 있어.'와 같은 접근 방식으로 빠져들기 쉽다. 물론 실제론 아무도 어떤 것도 복구시키지 못한다. 그래서 나는 컴퓨터 과학의 진짜 문제는, 그것이 안정버전으로 배포되기 전에 양질의 관리 수단을 갖는 것이라고 생각한다. 그리고 아직까진 그러한 일을 할 수 있는 패키지는 인간의 뇌뿐이다.”라고 Torvalds는 말한다.


빌 조이가 자신의 능력에 대해 가졌던 자신감을 연상시킨다는 점에서 토발즈의 답은 매우 흥미롭다. 아마 Linux는 Torvalds가 은퇴할 때까지는 조직적인 구조를 발달시킬 수 없을 것이다.


결과적으로, 유사점을 비교해볼 때, BSD와 Linux의 조직을 관리하는 방법의 차이는 별거 아니다. McKusick이 강조하듯, “중요한 것은 Linux가 성공하느냐, BSD가 성공하느냐가 아니라, 오픈 소스라는 것이다.”


그리고 그러한 배경에서, Joy의 시대부터 McKusick의 시대를 지나 앞으로도 BSD를 현재 Linux 발전에 에너지와 열심을 준 연속체의 부분으로 볼 수 있다. 초창기 시절, McKusick이 말한 것처럼, Joy는 다른 사람들이 “좋은 것”을 제공해주길 바랬다. 초창기 시절부터, 추세는 제공자들의 그룹이 점차 커지는 것이었다. BSD는 제작과정의 일부분을 시키고 그들의 공헌을 인정해 줌으로써, 사람들을 일로 끌여들였다. 특허권이 있는 AT&T 코드를 전혀 포함시키지 않은 BSD 버전 만들기 운동의 리더인 Keith Bostic가 말하고 싶어 하길, “사람들에게 점수를 줌으로써, 계속해서 일을 하도록 하고 있습니다."


무슨 일이 일어나기 때문일까? 사람들이 더욱 생산성 있게 일하게 해줄 뿐만 아니라 협력을 촉진하는 구조까지 만듦으로써, 결국 연쇄적으로 더 많은 창의력을 끌어낼 수 있게 된다. 그것이 자유 소프트웨어에서 가장 중요한 것이다. 그리고 그것은 소프트웨어를 보호하는 저작권이 무엇이든, 또는 소스 통제 소프트웨어가 쓰여 진다 할지라도, 최고 개발자들이 매우 거만할지라도 그 모두를 능가한다. 코드를 공개함으로써, Berkeley는 소프트웨어의 발전 가능성을 넓혔다.


Gage는 Berkeley Unix의 코드에는 도움을 주진 않았다. 하지만 그는 Joy와 수다를 떨고 컴퓨터혁명의 정치적인 의미를 곰곰이 생각하며 Evans Hall의 컴퓨터실을 어슬렁거리는 데에 많은 시간을 보냈다. 수리 통계학 대학원생인 Gage는 옛날부터 Free Speech Movement와 반전 항의 시위에 연루된 급진적인 히피족이기도 했다. 그는 1968년엔 민주공화당 대회에서 Bobby Kennedy의 대변인이었고, 1972년엔 대통령 후보인 George McGovern의 언론계 부 장관이었다.


Gage가 좋아하는 Berkeley 커피숍에서 인터넷이 개인의 자유에 어떤 의미인가, 그리고 Berkeley Unix는 인터넷의 성장을 촉진시키는데 어떤 역할을 했었나 에 대해 연구하며 세 시간을 보낸 후에, Gage는 적극적 실천주의의 Berkeley 역사에서 가장 유명한 한 순간을 회상했다.


그는 Sproul Plaza가 내려다보이는 행정기관 건물의 계단에서 Mario Savio가 했던 연설을 인용하기 시작했다. 그는 갑자기 본능적인 강렬함으로 눈을 빛내며 몸을 테이블 너머로 구부렸다.


“`기계의 작동이 매우 미워지는 때입니다. 그것은 당신의 마음을 매우 아프게 했으며, 일할 수 없게 했으며, 심지어 수동적으로도 일할 수 없게 했습니다. 그리고 당신은 당신의 신체를 기어, 바퀴, 레버, 그 밖에 모든 기계장치로 이용당해야 했습니다. 당신은 그것을 중지시켜야 합니다. 그리고 당신은 그것을 작동시키는 사람들과 그것을 소유한 사람들에게 이 사실을 알려줘야 합니다. 당신이 자유롭지 않다면 기계는 완전히 멈춰야 합니다.'” 라고 Gage 는 열변했다.


Gage는 생긋 웃는다. 그는 Berkeley Unix가 민주적인 크랭크축의 작업공정에 덤벼들어 괴로운 고통으로부터 벗어날 다양한 방법을 제공했던 것을 얘기한다. 원하는 모든 사람들이 이용 가능한 소스 코드가 있는 Berkeley Unix는 기계의 “기어와 레버”였다. 그 기계의 내부 동작을 위한 소스 코드로의 접근을 촉진함으로써 자유 소프트웨어/오픈 소스 운동은 사람들이 기어와 레버에 손이 닿을 수 있도록 하였고, 컴퓨터와 인터넷에 더불어 그들의 모든 기술적 하부 조직을 통제할 수 있도록 해주었다.


“오픈 소스 운동은 free speech movement입니다. 소스 코드는 시처럼 보이지만 작동하는 기계어이기도 하죠. Unix에서의 언어는 정확히 어떤 동작을 유발시키고 그런 동작들은 다른 동작들을 발생시킬 것이므로 기계와의 대화를 유도시킵니다.” 라고 Gage는 말한다.


Savio는 죽었다. 참가자들 중 몇몇이 컴퓨터 네트워크가 자유 연설의 훌륭한 친구이자 최고의 무기임을 예상해왔다 하더라도 The Free Speech Movement는 반쯤 잊혀졌다. 실제로 Savio가 말한 “기계"는 정보산업이 갖고 있는 태생적인 비인간성을 꼬집는데 쓰인 비유 중 하나이다. 마치 버클리 대학이 IBM 기계라면 학생들은 그 기계가 원하는 대로 만들어져야 하는 펀치카드라는 식이다.


인터넷의 힘에 의해 해방의 도움을 받은 Berkeley Unix의 해커들은 “기계”의 인간성을 회복시켰다. 그러한 “작동하는 언어”들은 연결성을 발생시켰고 의사소통을 촉진시켰다. 어딘가에서 Savio는 미소 짓고 있을 것이다.