History of the Usenet

In 1979 two students at Duke University decided to replace the obsolete Bulletin Board System used by the university for local announcements. The two students, Tom Truscott and Jim Ellis, with some help from Steve Bellovin created the first Usenet package, called “netnews”, which took advantage of existing communications software on Unix systems called UUCP (Unix-to-Unix copy). The servers, also called nodes, used a connection between the computer departments of Duke University and North Caroline University – Chapel Hill.

In 1980 the netnews software was renamed “A News”, and released to the public. Other universities and research facilities began to set up their own Usenet nodes. As the number of nodes continued to grow it was not long before the amount of traffic exceeded the abilities of the original scripts to handle. “A News” was replaced by “B news”, developed by Mark Horton, a student at Cal-Berkeley, and Matt Glickman, a high school student. In addition to using UUCP, “B news” also took advantage of the DARPA connection at cal-berkeley to provide a link to ARPANET, a US government network similar in some ways to the modern internet, which connected government agencies, major research facilities and universities together.

In 1986 the network news transfer protocol (NNTP) was developed to replace UUCP, and a package called NNTPd was written to work with existing “B News” article repositories. Unlike UUCP where each node sent articles to other nodes based on the path in the article, which could result in duplicates being received, NNTP allowed nodes to query each other and only send articles the other server was missing. This greatly decreased the amount of article traffic and the “always on” aspect of the internet also decreased the time it took to distribute articles to all nodes. NNTPd also allowed newsreaders to run on client machines instead of requiring them to run on a node. Newsreader clients were able to connect to a server via the internet, or use a companies ethernet. This made it possible for users to only have download articles of interest to their PC, instead of having to have a full feed to get all the articles in the groups they wanted to read, or an account on a node so they could read newsgroups.

in 1987 “C News” was released by Henry Spencer and Geoff Colyer, from the University of Toronto, and over the next few years it slowly took over operation of Usenet from “B News”. Unlike the end of “A News”, “C News” was mostly compatible with “B News” and so sites were able to convert to the new software at their own pace. By 1989, when “B News” development stopped, most sites had already converted to “C News”. “C News” was still strongly tied to its Unix origins and was originally written using the Unix shell and awk to perform most operations. Successive releases of “C News” replaced most of the existing scripts with C Code to further improve performance. Modular design made replacement of separate portions of the system with C Code a fairly simple matter. “C News” still used UUCP and modems to transfers articles between nodes, but NNTPd could be used to transfer articles over the internet to newsreader clients and other internet connected nodes.

Also in 1987 a group of administrators, calling themselves the “Backbone Cabal”, took it upon themselves to re-organize the newsgroups into logical hierarchies, which are the origins of the hierarchies you see today. The Cabal created the original 7 hierarchies, called the “Big Seven”, comp.*, news.*, misc.*, rec.*, sci.*, soc.* and talk.*. After a while, and a lot of campaigning, the Cabal also agreed to create the alt.* hierarchy which was not managed by them establishing what is known today as the “Big 8”. The alt.* hierarchy, which allows anyone with a little technical know how create a newsgroup, is now the most popular and active hierarchy remaining on Usenet.

In 1991 “C News” was replaced by a package called InterNetNews (INN) written by Rich Salz, of the Internet Systems Consortium. INN fully implements NNTP as a first-class service in the news software, but can still work with older UUCP transfers, although this functionality is seldom used any more. Implementing NNTP in the software, along with other design improvements over “C News”, greatly improves the overall performance of the news software. Most modern day commercial Usenet providers use INN or custom software based on INN.