50 years of RFCs

by Darius Kazemi, April 7 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

Typewritten text from the cover page of RFC-1

Fifty years ago today, on April 7th, 1969, Steve Crocker published a document that would come to be known as RFC-1. Crocker was working on a piece of the ARPA Network, or ARPANET, a US military funded project to create a network of computers using a new telecommunications concept called packet switching.

Crocker, who was a 25 year old UCLA grad student in the spring of 1969, noticed a problem that will be familiar to any computer programmer who has ever worked with other people: there was a lot of important knowledge being held in people's heads that was not documented anywhere.

So Crocker decided to document what people were thinking and what people had come to tentative agreements on. RFC-1 is this documentation; RFC stands for “Request for Comments” and is intended to invite conversation rather than stand as a record of authoritative ideas. This document was typewritten and contained hand-drawn diagrams. Many modern readers assume that the early RFCs were distributed by email or something similar, but recall that email and indeed the internet didn't exist! These documents were mostly typewritten and sent by the postal service, a manually operated mailing list. (I talk more about RFC-1 and provide additional context in my blog post about RFC-1. You can see a scan of RFC-1 at the Computer History Museum's online archive).

RFCs were a way to get a geographically distributed group of programmers to collaborate fluidly and efficiently. As Elizabeth “Jake” Feinler recalls in RFC-2555,

by the time the third RFC was published, many of the concepts of how to do business in this new networking environment had been established—there would be a working group of implementers (NWG) actually discussing and trying things out; ideas were to be free-wheeling; communications would be informal; documents would be deposited (online when possible) at the NIC and distributed freely to members of the working group; and anyone with something to contribute could come to the party. With this one document a swath was instantly cut through miles of red tape and pedantic process. Was this radical for the times or what! And we were only up to RFC 3!

365 RFCs

While the technical content of early RFCs is genuinely interesting to me, it's the aspect that Feinler highlights of how they aided in collaboration and, yes, innovation (I hate that word) that fascinates me and motivated me to begin this project.

I'm lucky enough to be involved in discussions and experiments about what networked computing might look like in the future. I don't normally go into my own work here but if you would like an example of my (necessarily limited) view of these discussions you can read a blog post I made recently, Three protocols and a future of the decentralized internet.

My motivation for writing this blog is directly related to my work on what a future internet could look like: if I'm trying to work with a disparate group of people to create a new internet, it would be ridiculous of me to ignore how a similar group of people organized to build the original internet half a century earlier. And if I'm doing the reading, I might as well share it with others.

Due to work and travel I've been falling behind on my plan to read one RFC each day (I am almost 20 days behind right now), but I plan to catch up in short order.

About this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm a Mozilla Fellow and I do a lot of work on the decentralized web with both ActivityPub and the Dat Project.