Licklider's Aliens
How the potential of a "Close Encounter" in outerspace shaped the way the Internet works here on earth
In 1963, J.C.R. "Lick" Licklider, a little-known civilian working in the United States Defense Department penned an inter-office memo to his colleagues working in what was then called the "Advanced Research Projects Agency (ARPA). Within a few years, this group would be responsible for creating the ARPANET -- the forerunner of today's Internet. However, at this early stage, Licklider's audience was addressed as the "Members and Affiliates of the Intergalactic Network". His memo was focused on how computing machines could be connected together -- how they could communicate successfully with one another.
In the memo, Licklider calls out two general ways to ensure computers can work together. They could a) make sure all computers on the planet used the same languages and programming tools. Or, b) they could establish a shared network-level control language that allowed machines to use their own "preferred" local tooling and languages and then use another "shared" language when speaking on the network. The first option would make it easy for machines to connect, but difficult for them to specialize. The second option would allow computer designers to focus on optimizing local functionality but it would add complexity to the work of programming machines to connect with each other.
In the end (lucky for us!), Licklider and his team decided the approach that favored both preferred local machine languages and a separate, shared network-level language. This may seem obvious to us today but it was not clear at the time. And it was not Licklider's decision but his unique reasoning for it that stands out today -- the possibility of encountering aliens from outer space. You see, while ARPA was working to bring the age of computing to life, another United States agency, NASA, was in a race with the Soviet Union to conquer outer space.
Here's the quote from Licklider's memo that brings the 1960s space race and the computing revolution together:
The problem is essentially the one discussed by science fiction writers:
"how do you get communications started among totally uncorrelated
`sapient' beings?"
Licklider was speculating on how our satellites (or our ground-based transmitters) might approach the problem of communicating with other intelligent beings from outer space. And, he reasoned, we'd accomplish that through a process of negotiated communications -- passing control messages or "meta-messages" (messages about how we send messages) back and forth until we both understood the rules of the game. Ten years later, the TCP and IP protocols of the 1970s would mirror Licklider's speculation and form the backbone of the Internet we enjoy today.
The Licklider Protocol
Forty years after Licklider speculated about communicating with machines in outer space, members of the Internet Engineering Task Force (IETF) completed work in a transmission protocol for interplanetary communications. This protocol was named the Licklider Transmission Protocol or LTP and is described in IETF documents RFC5325, RFC5326, and RFC5327.
Today, here on earth, Licklider's thought experiment on how to communicate with aliens is at the heart of making RESTful, composable services on the web a reality. As we work to design and implement services that communicate with each other on the web, we, too, need to adopt a "meta-message" approach. This is especially important when we consider that one of the aims of our work is to "get communications started among totally uncorrelated" services. In the spirit of my set of published guiding principles, people should should be able to confidently design and build services that will be able to talk to other services built by other people they have never met whether the services were built yesterday, today, or in the future.