Preview Mode Links will not work in preview mode

Oct 12, 2020

JCR Licklider sent a memo called "Memorandum For Members and Affiliates of the Intergalactic Computer Network" in 1963 that is quite possibly the original spark that lit the bonfire called The ARPANet, that was the nascent beginnings of what we now called the Internet. In the memo, “Lick” as his friends called him, documented early issues in building out a time-sharing network of computers available to research scientists of the early 60s. 

The memo is a bit long so I’ll include quotes followed by explanations or I guess you might call them interpretations. Let’s start with the second paragraph:

The need for the meeting and the purpose of the meeting are things that I feel intuitively, not things that I perceive in clear structure. I am afraid that that fact will be too evident in the following paragraphs. Nevertheless, I shall try to set forth some background material and some thoughts about possible interactions among the various activities in the overall enterprise for which, as you may have detected in the above subject, I am at a loss for a name.

Intuition, to me, is important. Lick had attended conferences on cybernetics and artificial intelligence going back to the 40s. He had been MIT faculty and was working for a new defense research organization. He was a visionary. The thing is, let’s call his vision a hypothesis. During the 1960s, the Soviets would attempt to build multiple networks similar to ARPANet. Thing is, much like a modern product manager, he chunked the work to be done up and had various small teams tackle parts of projects, each building a part but in the whole proving the theory in a decentralized way. As compared to Soviet projects that went all-in.

A couple of paragraphs later, Lick goes on to state:

In pursuing the individual objectives, various members of the group will be preparing executive the monitoring routines, languages amd [sic.] compilers, debugging systems and documentation schemes, and substantive computer programs of more or less general usefulness. One of the purposes of the meeting–perhaps the main purpose–is to explore the possibilities for mutual advantage in these activities–to determine who is dependent upon whom for what and who may achieve a bonus benefit from which activities of what other members of the group. It will be necessary to take into account the costs as well as the values, of course. Nevertheless, it seems to me that it is much more likely to be advantageous than disadvantageous for each to see the others’ tentative plans before the plans are entirely crystalized. I do not mean to argue that everyone should abide by some rigid system of rules and constraints that might maximize, for example, program interchangeability.

Here, he’s acknowledging that stakeholders have different needs, goals and values, but stating that if everyone shared plans the outcome could be greater across the board. He goes on to further state that:

But, I do think that we should see the main parts of the several projected efforts, all on one blackboard, so that it will be more evident than it would otherwise be, where network-wide conventions would be helpful and where individual concessions to group advantage would be most important.

These days we prefer a whiteboard or maybe even a Miro board. But this act of visualization would let research from disparate fields, like Paul Baran at RAND working on packet switching at the time, be pulled in to think about how networks would look and work. While the government was providing money to different institutes the research organizations were autonomous and by having each node able to operate on their own rather than employ a centralized approach, the network could be built such that signals could travel along multiple paths in case one path broke down, thus getting at the heart of the matter - having a network that could survive a nuclear attach provided some link or links survived. 

He then goes on to state:

It is difficult to determine, of course, what constitutes “group advantage.” Even at the risk of confusing my own individual objectives (or ARPA’s) with those of the “group,” however, let me try to set forth some of the things that might be, in some sense, group or system or network desiderata.

This is important. In this paragraph he acknowledges his own motive, but sets up a value proposition for the readers. He then goes on to lay out a future that includes an organization like what we now use the IETF for in:

There will be programming languages, debugging languages, time-sharing system control languages, computer-network languages, data-base (or file-storage-and-retrieval languages), and perhaps other languages as well. It may or may not be a good idea to oppose or to constrain lightly the proliferation of such. However, there seems to me to be little question that it is desireable to foster “transfer of training” among these languages. One way in which transfer can be facilitated is to follow group consensus in the making of the arbitrary and nearly-arbitrary decisions that arise in the design and implementation of languages. There would be little point, for example, in having a diversity of symbols, one for each individual or one for each center, to designate “contents of” or “type the contents of.” 

The IETF and IEEE now manage the specifications that lay out the structure that controls protocols and hardware respectively. The early decisions made were for a small collection of nodes on the ARPANet and as the nodes grew and the industry matured, protocols began to be defined very specifically, such as DNS, covered in the what, second episode of this podcast. It’s important that Lick didn’t yet know what we didn’t know, but he knew that if things worked out that these governing bodies would need to emerge in order to keep splinter nets at a minimum. At the time though, they weren’t thinking much of network protocols. They were speaking of languages, but he then goes on to lay out a network-control language, which would emerge as protocols.

Is the network control language the same thing as the time-sharing control language? (If so, the implication is that there is a common time-sharing control language.) Is the network control language different from the time-sharing control language, and is the network-control language common to the several netted facilities? Is there no such thing as a network-control language? (Does one, for example, simply control his own computer in such a way as to connect it into whatever part of the already-operating net he likes, and then shift over to an appropriate mode?)

In the next few paragraphs he lays out a number of tasks that he’d like to accomplish - or at least that he can imagine others would like to accomplish, such as writing programs to run on computers, access files over the net, or read in teletypes remotely. And he lays out storing photographs on the internet and running applications remotely, much the way we do with microservices today. He referrs to information retrieval, searching for files based on metadata, natural language processing, accessing research from others, and bringing programs into a system from a remote repository, much as we do with cpan, python imports, and github today. 

Later, he looks at how permissions will be important on this new network:

here is the problem of protecting and updating public files. I do not want to use material from a file that is in the process of being changed by someone else. There may be, in our mutual activities, something approximately analogous to military security classification. If so, how will we handle it?

It turns out that the first security issues were because of eased restrictions on resources. Whether that was viruses, spam, or just accessing protected data. Keep in mind, the original network was to facilitate research during the cold war. Can’t just have commies accessing raw military research can we? As we near the end of the memo, he says:

The fact is, as I see it, that the military greatly needs solutions to many or most of the problems that will arise if we tried to make good use of the facilities that are coming into existence.

Again, it was meant to be a military network. It was meant to be resilient and withstand a nuclear attack. That had already been discussed in meetings before this memo. Here, he’s shooting questions to stakeholders. But consider the name of the memo, Memorandum For Members and Affiliates of the Intergalactic Computer Network. Not “A” network but “the” network. And not just any network, but THE Intergalactic Network. Sputnik had been launched in 1957. The next year we got NASA. 

Eisenhower then began the process that resulted in the creation of ARPA to do basic research so the US could leapfrog the Soviets. The Soviets had beaten the US to a satellite by using military rocketry to get to space. The US chose to use civilian rocketry and so set a standard that space (other than the ICBMs) would be outside the cold war. Well, ish. 

But here, we were mixing military and civilian research in the hallowed halls of universities. We were taking the best and brightest and putting them into the employ of the military without putting them under the control of the military. A relationship that worked well until the Mansfield Amendment to the 1970 Military Authorization Act ended the military funding of research that didn’t have a direct or apparent relationship to specific military function. What happened between when Lick started handing out grants to people he trusted and that act would change the course of the world and allow the US to do what the Soviets and other countries had been tinkering with, effectively develop a nationwide link of computers to provided for one of the biggest eras of collaborative research the world has ever seen. What the world wanted was an end to violence in Vietnam. What they got was a transfer of technology from the military industrial complex to corporate research centers like Xerox PARC, Digital Equipment Corporation, and others. 

Lick then goes on to wrap the memo up:

In conclusion, then, let me say again that I have the feeling we should discuss together at some length questions and problems in the set to which I have tried to point in the foregoing discussion. Perhaps I have not pointed to all the problems. Hopefully, the discussion may be a little less rambling than this effort that I am now completing.

The researchers would continue to meet. They would bring the first node of the ARPANET online in 1969. In that time they’d also help fund research such as the NLS, or oN-Line System. That eventually resulted in mainstreaming the graphical user interface and the mouse. Lick would found the Information Processing Techniques office and launch Project MAC, the first big, serious research into personal computing. They’d fund Transit, an important navigation system that ran until 1996 when it was replaced by GPS. They built Shakey the robot. And yes, they did a lot of basic military research as well. 

And today, modern networks are Intergalactic. A bunch of nerds did their time planning and designing and took UCLA online then Stanford, then UCSB and then a PDP10 at the University of Utah. Four nodes, four types of computers. Four operating systems. Leonard Kleinrock and the next generation would then take the torch and bring us into the modern era. But that story is another episode. Or a lot of other episodes. 

We don’t have a true Cold War today. We do have some pretty intense rhetoric. And we have a global pandemic. Kinda’ makes you wonder what basic research is being funded today and how that will shape the world in the next 57 years, the way this memo has shaped the world. Or given that there were programs in the Soviet Union and other countries to do something similar was it really a matter of technological determinism? Not to take anything away from the hard work put in at ARPA and abroad. But for me at least, the jury is still out on that. But I don’t have any doubt that the next wave of changes will be even more impactful. Crazy to think, right?