거의 모든 인터넷의 역사 (11) – 빌 조이와 TCP/IP 프로토콜

from olorunosebijames2.blogspot.kr
from olorunosebijames2.blogspot.kr

DARPA에서는 버클리 대학에 유닉스 개발을 맡기고, 네트워크 망과 관련한 프로토콜로 TCP/IP를 유닉스를 포함시키고자 했다. TCP/IP(Transmission Control Protocol / Internet Protocol)는 빈톤 서프(Vinton Cerf)밥 칸(Bob Khan)이 고안한 것으로 오늘날의 인터넷의 근간을 이루는 프로토콜로 인터넷 상에 있는 컴퓨터끼리 데이터를 주고 받는 방법을 정의하고 있다.

DARPA는 TCP/IP 프로토콜을 C언어로 구현하는 프로젝트를 버클리 대학이 아니라 보스턴에 있는 BBN(Bolt, Beranek and Newman)이라는 회사에 맡겼다. 그런데, BBN이 작성한 TCP/IP 코드를 버클리의 빌 조이가 마음에 들어하지 않았다. 천재개발자라고 불리는 그답게, 빌 조이는 BBN의 코드를 단순히 마음에 들지 않아했을 뿐 아니라 자신이 더욱 뛰어난 TCP/IP 코드를 작성한 뒤에 이것을 BSD 유닉스에 탑재하겠다고 DARPA에 주장을 하였다. DARPA에서 큰 돈을 투자해서 이 분야에서 최고라고 했던 기업에 맡겨서 작성한 코드는 제대로 작동하지 않았고, 버클리 대학의 20대 대학원생인 빌 조이가 작성한 코드가 더 뛰어난 성능을 보인 것이다. 어쨌든 이렇게 작성된 빌 조이의 TCP/IP 코드는 주로 이더넷으로 구성된 대학의 네트워크에서 최적의 성능을 보였고, 뛰어난 운영체제에 분산된 네트워크 환경에 최적화된 프로토콜을 멋지게 통합함으로써 오늘날의 인터넷이 기지개를 펼 수 있는 기반을 마련하였다.

인터넷에게 있어 TCP/IP는 가장 핵심적인 기능을 담당한 인프라와도 같은 것이다. 90년대 이후에 인터넷이 급격하게 팽창했을 때에도 BSD 유닉스의 TCP/IP는 이를 무리없이 처리하였고, 그리고 실제로 이것이 이후 AT&T와의 법정소송에서 BSD 유닉스가 승리하게 만드는 결정적인 원인이 된다.

AT&T와 버클리의 법정 싸움

벨 연구소에서 개발된 유닉스는 AT&T가 1984년 반독점법에 의해 여러 회사로 강제분할이 되면서 새로운 운명을 받아들게 된다. AT&T가 더 이상 독점기업이 아니었기 때문에, 미국 정부 입장에서는 AT&T가 유닉스를 상업화하는 것에 대해 더 이상 제동을 걸기 어려워진다. AT&T는 공공적인 측면을 감안하여 1년에 99달러라는 저렴한 가격에 이미 많은 대학과 기업에 라이센스를 주고 있었는데, 상업화의 길이 열리자 라이센스 비용을 25만 달러까지 올렸다. 그런데, 버클리의 BSD 유닉스가 널리 활용이 되기 시작했고, 버클리의 CSRG 출신들이 설립한 BSDi 라는 회사와 버클리 대학에서 저렴한 비용에 자신들의 유닉스를 판매되었기 때문에 사업에 난항을 겪게 되었다. 그러자, AT&T는 1992년 BSDi와 버클리 대학이 자신들의 코드를 훔쳤다며 미국 법정에 제소를 하였다.

그런데, 당시 AT&T가 상업화의 중요한 제품인 시스템 5(System 5)에는 많은 BSD 유닉스의 코드를 사용하고 있었는데, 그 중에서 TCP/IP 코드는 기능적으로 가장 중요한 역할을 담당한 것이기도 하였다. 버클리 대학은 자신들의 코드를 해당 소스의 저작권이 버클리 대학에 있다는 것만 명시하면 무엇이든 할 수 있도록 했는데, 정작 AT&T는 저작권 문구를 삭제하고 마치 자신들이 개발한 것처럼 시스템 5를 판매하고 있었던 것이다. 이 사실이 밝혀지자 버클리 대학의 변호사들이 AT&T를 맞고소하게 되었는데, 이로 인해 소송은 AT&T에 불리한 양상으로 흘러가게 되었다. 결국 벨 연구소에서 고유로 작성한 코드를 제거하는 조건으로 이 소송은 합의에 이르게 되는데, 버클리 대학의 뛰어난 해커들은 벨 연구소에서 만들어진 코드를 완전히 없애고 BSD 유닉스를 완전히 자유로운 운영체제로 만드는데 성공한다.

천재 개발자 빌 조이

어찌보면 빌 조이의 TCP/IP에 대한 치기어린 고집이 오픈소스 정신을 완고한 저작권 법정에서 살려낸 것이다. 빌 조이는 TCP/IP 뿐만 아니라, 화면의 특정위치에 커서를 배치할 수 있는 새로운 터미널 기기들에서 쉽게 사용할 수 있는 vi 편집기도 작성을 했는데, 아직도 이 편집기는 전 세계에서 널리 쓰이고 있으며 어떤 종류의 유닉스 계열의 운영체제에도 기본적으로 탑재되는 중요한 소프트웨어이다.

개발자인 빌 조이에 대해서도 주변의 다양한 평가가 있다. 그가 작성한 코드는 지저분하고 다른 사람들이 읽기가 매우 힘든 것으로 악명 높아서, 유지보수하는데 엄청난 애를 먹었다고 한다. 그런데, 확실한 것은 뛰어난 개발자라도 일주일 이상 걸릴 일을 빌 조이는 자신 만의 방식으로 하루 정도에 해결을 했다고 한다. 그는 매우 방대한 코드를 순식간에 읽고, 이를 간단하게 정리하는 능력이 매우 뛰어나서 대규모 코드를 금방 고치는데 일가견이 있었다. 생활에서도 그런 그의 능력이 간혹 나타나기도 하였는데, 여러 가지 일을 전혀 간섭을 받지 않고 나누어서 한꺼번에 처리하는 멀티태스킹 능력이 대단했다고 전해진다.

이렇게 뛰어난 개발자였기에, 빌 조이는 리눅스의 정신을 그다지 좋아하지 않는다. 그는 오픈소스의 힘이 수많은 개발자들의 참여와 열정에서 나온다는 리눅스의 평등주의적인 윤리관을 믿지 않았다. 리눅스의 기저에는 모든 개발자들이 뛰어난 코드를 작성하지 못해도, 여럿이 함께 코드를 검토하고 개발을 한다면 결국 위대한 코드가 나타날 수 있다는 믿음이 깔려 있다. 그에 비해 빌 조이는 참여하는 대부분의 개발자들은 실력이 떨어지며, 그 중에서 버그를 찾아내고 이를 제대로 개선할 수 있는 사람은 몇몇에 불과하다고 주장한다. 오픈소스 개발방법론 자체를 부정하는 것은 아니지만, 몇몇 핵심개발자들의 역할이 그만큼 중요하다는 것이다. 그의 이런 시각에 대해서는 많은 논란의 여지가 있다.

어쨌든 빌 조이와 버클리 등이 관여한 오픈소스 운동은 버클리 캠퍼스에서 시작된 자유언론운동(Free Speech Movement)의 또 하나의 변형으로 보아도 무방할 듯하다. 소스코드는 어찌보면 독특한 언어로 만들어진 시처럼 보이지만, 실제로 작동하는 기계의 언어이기도 하다. 이 언어는 컴퓨터로 하여금 어떤 동작을 하도록 만들고, 컴퓨터의 동작에 의한 상황변화에 따른 상태를 컴퓨터에게 들을 수 있는 대화의 도구이다. 그리고, 이런 컴퓨터들의 네트워크는 자유로운 연설과 이야기의 가장 중요한 무기가 되었다. 인터넷의 힘에 의해 해방의 기운을 느낀 버클리의 해커들은 “기계로서의 컴퓨터”의 인간성을 회복시키고 인간과 기계, 그리고 기계를 매개로 한 인간과 인간의 의사소통을 촉진시켰다. 이것이 해커들과 자유언론운동, 그리고 오늘날의 인터넷을 따로 떼어놓고 생각할 수 없는 이유이다.

(다음 편에 계속 …)

참고자료:
BSD Unix: Power to the people, from the code
AT&T 위키피디아 홈페이지

글 : 정지훈
출처 : http://health20.kr/2962

%d bloggers like this: