Why Do Protocols Win?

Apr 21, 2022

We reject: kings, presidents, and voting. We believe in: rough consensus and running code.
David Clark (1992)

From the 1970s to the 1990s, the goal of building a global computer network was becoming more evident. However, how it would be built was one of the most fiercely debated topics in computer science.

Some refer to the 1970s-1990s as The Protocol Wars, a period where competing standards proliferated and competed for a foundational role in the internet. TCP/IP vs. OSI, WWW vs. Gopher, and many more battles at every layer of the stack.

Vint Cerf, co-developer of TCP/IP, wearing an IP ON EVERYTHING shirt 

Why did some protocols win and others lose? Each of these deserves its own deep dive, but here are some high-level lessons that can be distilled from each.

  • Working code is often better than a draft by a standards committee. See Clark's quote.
  • Backward or lateral compatibility allows protocols to draft off the success of previous protocols or competitors. For example, Mosaic had a feature that automatically converted Gopher menus into HTML.
  • Simplicity matters.

"If we had only consulted the ancient mystics, we would have seen immediately that seven layers were required."
– Dan Postel on the OSI model (1987)

  • Politics plays a more prominent role than technologists would like to admit. The U.S. Department of Defense was an early adopter of TCP/IP. UC Berkley put the TCP/IP code for BSD Unix into the public domain. Meanwhile, the University of Minnesota charged licensing fees for Gopher servers.
  • Competing protocols often make different trade-offs, i.e., optimizing for compute or storage.