2026-05-19
Before Reddit, before web forums, before mailing lists became the default, there was Usenet — a globally distributed discussion system that, by the mid-1980s, was creaking under its own weight. RFC 977 defined NNTP, the Network News Transfer Protocol, and quietly became one of the most influential — and most forgotten — application protocols of the early internet.
The problem. Usenet originally moved articles between hosts using UUCP (Unix-to-Unix Copy) over dial-up modems. Each site would phone its neighbors, flood-fill new articles, and hang up. This worked fine when there were a few dozen sites exchanging a few hundred messages a day. By 1986, with TCP/IP spreading and traffic exploding, the model was untenable: every site stored every article whether anyone read it or not, and dial-up batch transfers were both slow and expensive.
Kantor and Lapsley's insight was that the new always-on internet allowed a fundamentally different model: instead of pushing the entire news feed to every reader's local machine, let news readers talk directly to news servers over TCP, fetching only what they wanted. The server holds the spool; clients query it.
Key design decisions:
250 OK in a mail log, NNTP will feel instantly familiar.comp.lang.c, rec.arts.sf.written), and articles within a group are numbered sequentially per server. Clients track a high-water mark and ask NEWNEWS or GROUP + NEXT to walk forward.IHAVE command. One protocol replaced two distinct mechanisms.<local@host>), letting servers deduplicate articles arriving from multiple peers — essential for flood-fill propagation that converges instead of looping.Why it matters today. NNTP is mostly a ghost — most ISPs dropped their news servers in the 2000s — but its DNA is everywhere:
yEnc encoding and the later RFC 3977 revision) is still a thriving piracy and archival backbone, with commercial providers offering multi-year retention. NNTP outlived its mainstream purpose by becoming an underground CDN.git exchanges objects, how IPFS resolves content, and how ActivityPub federates posts.gmane.org to browse a mailing list as a newsgroup, you've touched NNTP this decade.The backstory. Lapsley wrote much of the reference implementation as a Berkeley undergraduate; the protocol was prototyped at UCSD and Berkeley in 1985 and standardized the following year. It's a rare case where a graduate-student-and-friends weekend project became the de facto protocol for global discussion for nearly two decades. The 1986 RFC stood essentially unmodified until RFC 3977 finally replaced it in 2006 — a 20-year run on the original spec.
