We all know people who refer to “the Internet” when they actually mean “the web,” an application that runs over the public TCP/IP network known as the Internet. Twelve years ago, people who referred to “the Internet” (or even, back then, “the net”) usually meant Usenet, another application that’s been running over the Internet since 1979.
Usenet is a collection of threaded discussion groups arranged by topic. Its susceptibility to spam drove much of its activity to moderated newsgroups. (For example, many of the old comp.text.sgml crowd are now xml-dev regulars. This newsgroup had a positive Len rating from 1994 to 1998.) Most people used specialized client applications to read and post to Usenet groups back then, but the DejaNews company turned interaction with Usenet newsgroups into a web application. Eventually, Google bought them out—follow a link to http://www.dejanews.com and see where it takes you. Google could have developed a web-based interface to Usenet themselves; they were really paying for DejaNews’s archive of Usenet postings, which dates back to May 11, 1981 and includes many fascinating historical documents. Today, using Usenet from outside of Google means configuring a client program such as the Mozilla Thunderbird mail reading program to point to a specialized Usenet news server, so using Google is usually easier. (Handy search hint, especially for answers to geeky technical questions: after doing a Google search, if you don’t see a good answer listed, click “Groups” at the top of the result listing to search Usenet postings with the same query.)
I mentioned that Usenet discussions were threaded. Each message has (or should have) a unique, persistent ID, and when you reply to a posted message, your newsreading application usually inserts a “References” field in the header of your new message so that other client programs can let their users follow threads. We’re talking about references to resources using globally unique identifiers that let applications retrieve those resources—in other words, links. This practice, however, is not quite as old as Usenet itself, and I’ve been trying to determine when it began.
If you use Google to look at the original format version of a Usenet posting (as opposed to Google’s slicker default display) you can see the Message-ID field and, if the message replies to another, the References field. You can create a URL that retrieves Google’s copy of any Usenet message, whether created via Google or not, from after May of 1981 by adding the Message-ID value to the string “http://groups.google.com/groups?selm=”. Add “&output=gplain” to the URL to see the version with the headers.
The earliest mention I can find of this References field is 1973’s RFC 733, “STANDARD FOR THE FORMAT OF ARPA NETWORK TEXT MESSAGES(1),” a spec that tells us that “The contents of this field identify other correspondence which this message references. Note that if message identifiers are used, they must use the mach-id specification format.” I assume that “mach-id” means “machine ID,” but can’t confirm this; 1982’s RFC 822, which supersedes RFC 733, substitutes “Note that if message identifiers are used, they must use the
msg-id specification format.” So, we have a way to uniquely identify a resource and a way to identify that resource from elsewhere so that it can be retrieved. This isn’t talking about Usenet, though, but the more generic concept of “Network Text Messages.”
1987’s RFC 1036,
which is explicitly named “Standard for Interchange of USENET
Messages”, lays out some scope for the uniqueness of the Message-ID value:
“The Message-ID may not be reused during the lifetime of any previous
message with the same Message-ID. (It is recommended that no
Message-ID be reused for at least two years.)” It describes the References field as “[listing] the Message-IDs of any messages prompting the
submission of this message. It is required for all follow-up
messages, and forbidden when a new subject is raised.” The plural form “Message-IDs” makes it sound like a one-to-many link to me.
The earliest Usenet posting I can find using a References value is from August of 1982. This makes it the oldest link on the Internet that I can identify. I wish I could blame my inability to find an earlier example on Google’s lack of 1979 - May 1981 postings in their archives, but I can’t find anything between the earliest posting in Google’s archive and the August 1982 posting, although I did find an April 1982 posting that mentions the References header field. Any suggestions?
For more historical background on Usenet, check out Brad Templeton’s reminiscences about the early days of Usenet.
Where does Internet linking (not necessarily hyperlinking) begin?