RFC3977

RFC3977 was published recently. It's an updated specification for NNTP, replacing RFC977, which lasted more than 20 years! Real-world NNTP implementations long ago extended RFC977 to support the requirements of the modern world. For instance, RFC977 specifies that all commands and messages use only 7-bit ASCII; RFC3977 incorporates the internationalization support that NNTP implementations have used for many years. The drafts of this new RFC have been floating around for a while, and I wonder how long the authors were simply waiting for the RFC counter to approach 3977 before declaring their work done.

Of course, NNTP's time may have already passed. Usenet certainly seems to be slowly faiding away, as worthwhile discussion moves to blogs and other web-based fora. I find it hard to imagine that there will be a replacement for RFC3977 in the future. Even the minor innovations of RFC3977 may be too late to matter (at this stage, why would an NNTP client switch from using the widely implemented extension command XOVER to the almost identical OVER command standardized in RFC3977?).

But NNTP is still used. Newsgroups will continue to exist for some time. And I use an RSS/ATOM to NNTP gateway to read feeds. Furthermore, NNTP is interesting as an object of study, as a application protocol proven over 20 years of use. It is interesting to consider what the result of recasting NNTP as a REST or Web Services based protocol might look like.

On the subject of long awaited releases, SBCL version 1.0 was released recently. Like RFC3977, this release has been gestating for a long time. But I expect a brighter long-term future for Common Lisp, and SBCL is one of the nicest free implementations around.