1980년대에 공식 표준화 세계는 국제 ISO 절차를 통해 완전히 명세된 프로토콜 모음인 OSI(Open Systems Interconnect)를 지지했다. OSI는 유럽의 전화 독점 기업들과 대부분의 정부의 지지를 받았는데, 이들은 법적으로 OSI 장비를 구매해야 했으며, 이는 합리적인 선택이었다. 완전하고 엄격하며 위원회에 의해 사전에 표준화되었기 때문이다. 인터넷의 TCP/IP는 다크호스였다. 자치적인 자원봉사자 공동체에 의해서만 정의되었고, 위임도, 투표도, 어떤 공식 기구에서의 지위도 없었다.

표준 기관의 규칙에 따른 정면 대결은 이길 수 없었다. OSI는 표와 관료 체제, 조달 명령을 갖고 있었고, TCP/IP는 거의 아무것도 갖고 있지 않았다. 정당성, 대표성, 관료적 지위에 따라 두 가지를 위원회 방식으로 평가한다면, 단 하나의 구현도 출시되기 전에 ISO에게 승리를 안겨줄 것이었다.

인터넷 엔지니어들은 OSI의 공식적인 영역에서 그것과 경쟁하는 대신, 투표를 아예 거부했다. 1992년까지 IETF는 데이비드 클라크가 그해 강연에서 명명한 통치 원칙을 명시했다. '우리는 왕, 대통령, 투표를 거부한다. 우리는 대략적 합의와 실행되는 코드를 믿는다.' 표준은 찬반 투표가 아니라 충분히 많은 사람들이 실제로 그것을 구축하고 실행했는지에 의해 결정되었다. 회의장의 대표자 수가 아니라 현장의 코드가 중재자였다.

IETF는 투표를 거부하고 대략적 합의와 실행되는 코드로 표준을 결정했다. 이미 배포된 것이 투표가 아니라 중재자가 되었다.

실행되는 코드는 관찰 가능하고 이미 배포되어 있으므로, 경쟁 상대가 아직 명세되는 중일 때 채택을 통해 승리한다.

TCP/IP의 모든 새로운 배포는 하나의 투표처럼 작용하므로, 기준은 한 방향으로 누적된다.

OSI의 완전성은 그것을 완성하기에 너무 복잡하게 만들었고, 실행되는 코드를 거의 남기지 않았으며, TCP/IP는 수천 개의 네트워크에서 가동 중이었다.

두 표준이 교착 상태에 빠지면 투표하지 말고, 어느 쪽이 이미 현장에서 작동하는지 세어 그것이 결정하게 하라.

OSI는 복잡성이 너무 많고 실행되는 코드가 너무 적었으며, TCP/IP는 이미 수천 개의 네트워크에서 가동 중이었다. 그래서 TCP/IP는 투표가 아니라 채택을 통해 승리했다. 1990년대 중반까지 TCP/IP가 우세해졌고 OSI는 조용히 패배했다. 대략적 합의와 실행되는 코드는 한 전투에서만 이긴 것이 아니라 인터넷 표준화의 지배적 규범이 되었고, IETF에서 W3C와 그 이후의 대부분의 개방형 협업 과정으로 이어졌다. 그 메커니즘은 처음 그것을 입증한 특정 프로토콜들보다 오래 살아남았다.

근거 확인하기

출처

  1. IEEE Annals of the History of Computing — 'Rough Consensus and Running Code' and the Internet-OSI Standards War (A.L. Russell) IEEE · doi.org
  2. Computer History Museum — Networking revolution: the protocol wars Computer History Museum · computerhistory.org