Xref: blister news.admin:4314 news.announce.newusers:60 news.software.readers:353 Path: blister!jtsv16!torsqnt!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!news.cs.indiana.edu!purdue!spaf From: spaf@cs.purdue.EDU (Gene Spafford) Newsgroups: news.admin,news.announce.newusers,news.software.readers Subject: USENET Software: History and Sources Message-ID: <15399@ector.cs.purdue.edu> Date: 25 Jul 91 23:15:56 GMT Expires: 23 Oct 91 23:15:55 GMT Followup-To: news.admin Organization: Dept. of Computer Sciences, Purdue Univ. Lines: 334 Approved: spaf@cs.purdue.EDU Supersedes: <14695@ector.cs.purdue.edu> Original from: spaf@purdue (Gene Spafford) [Most recent change: 6 Jun 1991 by eggert@twinsun.com (Paul Eggert)] Currently, Usenet readers interact with the news using a number of software packages and programs. This article mentions the important ones and a little of their history, gives pointers where you can look for more information and ends with some special notes about "foreign" and "obsolete" software. At the very end is a list of sites from which current versions of the Usenet software may be obtained. History ------- Usenet came into being in late 1979, shortly after the release of V7 Unix with UUCP. Two Duke University grad students in North Carolina, Tom Truscott and Jim Ellis, thought of hooking computers together to exchange information with the Unix community. Steve Bellovin, a grad student at the University of North Carolina, put together the first version of the news software using shell scripts and installed it on the first two sites: "unc" and "duke." At the beginning of 1980 the network consisted of those two sites and "phs" (another machine at Duke), and was described at the January Usenix conference. Steve Bellovin later rewrote the scripts into C programs, but they were never released beyond "unc" and "duke." Shortly thereafter, Steve Daniel did another implementation in C for public distribution. Tom Truscott made further modifications, and this became the "A" news release. In 1981 at U. C. Berkeley, grad student Mark Horton and high school student Matt Glickman rewrote the news software to add functionality and to cope with the ever increasing volume of news -- "A" News was intended for only a few articles per group per day. This rewrite was the "B" News version. The first public release was version 2.1 in 1982; the 1.* versions were all beta test. As the net grew, the news software was expanded and modified. The last version maintained and released primarily by Mark was 2.10.1. Rick Adams, at the Center for Seismic Studies, took over coordination of the maintenance and enhancement of the B News software with the 2.10.2 release in 1984. By this time, the increasing volume of news was becoming a concern, and the mechanism for moderated groups was added to the software at 2.10.2. Moderated groups were inspired by ARPA mailing lists and experience with other bulletin board systems. In late 1986, version 2.11 of B News was released, including a number of changes to support a new naming structure for newsgroups, enhanced batching and compression, enhanced ihave/sendme control messages, and other features. The current release of B News is 2.11, patchlevel 19. Article format is specified in RFC 1036 (see below). A new version of news, becoming known as C News, has been developed at the University of Toronto by Geoff Collyer and Henry Spencer. This version is a rewrite of the lowest levels of news to increase article processing speed, decrease article expiration processing and improve the reliability of the news system through better locking, etc. The package was released to the net in the autumn of 1987. For more information, see the paper "News Need Not Be Slow," published in The Winter 1987 Usenix Technical Conference proceedings. The current version is labeled 24-Mar-1991. ANU-NEWS is news package written by Geoff Huston of Australia for VMS systems. ANU-NEWS is complete news system that allows reading, posting, direct replies, moderated newsgroups, etc. in a fashion closely related to regular news. The implementation includes the RFC 1036 news propagation algorithms and integrated use of the NNTP protocols (see below) to support remote news servers, implemented as a VAX/VMS Decnet object. An RFC 977 server implemented as a Decnet object is also included. The ANU-NEWS interface is similar to standard DEC screen oriented systems. The license for the software is free, and there are no restrictions on the re-distribution. For more info, contact gih900@fac.anu.oz.au (Geoff Huston). ANU-NEWS is available for FTP from kuhub.cc.ukans.edu. Contact SLOANE@KUHUB.CC.UKANS.EDU for more info. A port of C News for the Commodore Amiga under AmigaDOS (NOT Unix), is available. The port was done by Frank J. Edwards , and available from Larry Rosenman . Also, Matt Dillon , has greatly improved the UUCP clone for AmigaDOS, currently V1.08D, also available for Rosenman. The package also includes a newsreader very loosely like the real rn. Several popular screen-oriented news reading interfaces have been developed in the last few years to replace the traditional "readnews" interface. The first of these was "vnews" and it was written by Kenneth Almquist. "vnews" provides a "readnews"-like command interface, but displays articles using direct screen positioning. It appears to have been inspired, to some extent, by the "notes" system (described below). "vnews" is currently distributed with the standard 2.11 news source. A second, more versatile interface, "rn", was developed by Larry Wall (the author of Perl) and released in 1984. This interface also uses full-screen display with direct positioning, but it includes many other useful features and is very popular with many regular net readers. The interface includes reading, discarding, and/or processing of articles based on user-definable patterns, and the ability of the user to develop customized macros for display and keyboard interaction. "rn" is currently at release 4.3, patchlevel 54, with a major re-release under development by "rn"'s current maintainer, Stan Barber of Academic Consulting Services; release 4.4 is expected in July 1991. "rn" is not provided with the standard news software release, but is very widely available due to its popularity. A variant of "rn" is "trn" by Wayne Davison. Trn adds the ability to follow "threads of discussions" in newsgroups; its latest version 1.0.3 is based on rn 4.3.54. It uses a Reference-line database to allow the user to take advantage of the "discussion tree" formed by an article and its replies. This results in a true reply-ordered reading of the articles, complete with a small ascii representation of the current article's position in the discussion tree. Trn can be obtained from caesar.cs.montana.edu in the /pub/trn directory, from uunet in the news subdirectory, and from many other archive servers world-wide. xrn is an X11-based interface to NNTP that was written by Rick Spickelmier and Ellen Sentovich (UC Berkeley). The current version is 6.15. xrn supports many features, including sorting by subject, user-settable key bindings, graceful handling of NNTP server crashes, and many of the features of rn (including KILL files and key bindings similar to rn). xrn is actively supported by the authors with bug fixing and feature addition support from many of the users. xrn can be retrieved from most of the popular FTP sites (gatekeeper.dec.com, uunet.uu.net, expo.lcs.mit.edu) and is on the X11R4 distribution from MIT (in the contrib section). There are two popular macro packages named "GNUS" and "Gnews" that can be used with the GNU Emacs text editor. These allow reading, replying, and posting interaction with the news from inside the Emacs text editor. Client code exists to get the articles using NNTP rather than from a local disk. Copies can be found on most archive sites that carry the GNU archives. "nn" is yet another reader interface, developed by Kim F. Storm of Texas Instruments A/S, Denmark, and released in 1989. nn differs from the traditional readnews and vnews by presenting a menu of article subject and sender-name lines, allowing you to preselect articles to read. nn is also a very fast newsreader, as it keeps a database of article headers on-line. (I.e. it trades space for time. A good rule of thumb is that the nn database size is 5%-10% of your news spool. So up to 110% of your news spool is the amount of space news and the nn database will take.) The current version of nn is 6.4.16. nn can be obtained via anonymous FTP from dkuug.dk, uop.uop.edu, mthvax.cs.miami.edu or various other sites; European sites should request the sources from their nearest backbone site. "notes" is a software package popular at some sites. It uses a different internal organization of articles, and a different interchange format than that of the standard Usenet software. It was inspired by the notesfiles available in the PLATO system and was developed independently from the Usenet news. Eventually, the "notes" network and Usenet were joined via gateways doing (sometimes imperfect) protocol translation. The interface for "notes" is similar to "rn" but implements different features, many of which are dictated by its internal organization. "notes" was written in 1980-1981 by Ray Essick and Rob Kolstad, (then) grad students at the University of Illinois at Urbana-Champaign. The first public release of "notes" was at the January 1982 Usenix conference. The current release of notes is version 1.7. In March 1986 a package was released implementing news transmission, posting, and reading using the Network News Transfer Protocol (NNTP) (as specified in RFC 977). This protocol allows hosts to exchange articles via TCP/IP connections rather than using the traditional uucp. It also permits users to read and post news (using a modified version of "rn" or other user agents) from machines which cannot or choose not to install the USENET news software. Reading and posting are done using TCP/IP messages to a server host which does run the USENET software. Sites which have many workstations like the Sun and Apollo products find this a convenient way to allow workstation users to read news without having to store articles on each system. Many of the Usenet hosts that are also on the Internet exchange news articles using NNTP because the load impact of NNTP is much lower than uucp (and NNTP ensures much faster propagation). NNTP grew out of independent work in 1984-1985 by Brian Kantor at U. C. San Diego and Phil Lapsley at U. C. Berkeley. It is now in release 1.5.11 dated 11 february 1991, with the next planned release at 1.6. NNTP includes support for System V UNIX with Excelan Ethernet cards and DECNET under Ultrix. NNTP was developed at U. C. Berkeley by Phil Lapsley with help from Erik Fair, Steven Grady, and Mike Meyer, among others. The NNTP package is distributed on the 4.3BSD release tape (although that is version 1.2a and out-of-date) and is also available from the various authors, many major hosts, and by anonymous FTP from lib.tmc.edu, mthvax.cs.miami.edu and uunet.uu.net. Reader NNTP clients for VMS are also available, including VMS/VNEWS (current release 1.3-4.1) and an upcoming reader only version of ANU-NEWS. VMS/VNEWS is available from mcmahon@tgv.com. Although the current release of ANU-NEWS is usable as a reader it can be difficult when used with a UNIX server. An NNTP newsreader for Macintoshs is available called HyperNews. It is implemented as a HyperCard stack and depends on MacTCP. It is available from many Mac archives, including apple.com and sumex-aim.stanford.edu There is also an NNTP-based netnews reader for Symbolics Lisp Machines (under Genera 7) available for anonymous FTP from ucbvax.berkeley.edu [128.32.133.1] in pub/nntp-clients/lispm written by Ian Connolly and maintained by Richard Welty . In addition, another NNTP-based news browser is available running under Genera 7 and Genera 8. It provides mouse driven hierarchic browsing of newsgroups and articles, with support for X11 servers on remote machines. It is available for anonymous FTP on flash.bellcore.com [128.96.32.20] in the directory pub/lispm/news-reader/. It is written and maintained by Peter Clitherow A TOPS-20 reader was developed by Dave Edwards of SRI , but current availability is unknown. An NNTP reader suite for PC's running MS-DOS and having Excelan boards is available for ftp from ames.arc.nasa.gov; get the pcrrn files. There are two MS-DOS news readers that can be obtained from bcm.tmc.edu in the "nfs" directory. They both require PC-NFS (from Sun) to work. They will both work under PC/TCP from FTP Software early this year. Source will be provided at that time. At least one IBM VM/SP (CMS) version of the Usenet software is available. It is known as PSU NetNews, and it is maintained by Linda Littleton (lrl@psuvm.bitnet/psuvm.psu.edu). Version 2.4 of the software is available from LISTSERV@PSUVM. PSU NetNews supports only 3270 terminals, and uses XEDIT as its screen driver. Most major VM sites appear to use this package. NetNews supports locally-stored news, not NNTP reading. There is NNTP support for PSU NetNews for bulk news receipt: NNTPXFER will poll another site for news, and NNTPRCVR will receive news sent from a Unix NNTPXMIT process. Either program sends the news articles to NetNews for processing. Contact Andy Hooper (hooper@qucdn.bitnet or qucdn.queensu.ca) for more information, or obtain them from listserv@qucdn in PUBLIC FILELIST. These programs are provided with source, and require IBM's FAL TCP/IP and Pascal. There are at least two NNTP news-readers for VM. One requires IBM's ISPF product. Contact Satish Movva (u37127@uicvm.uic.edu) for information. The second uses XEDIT as its screen manager. Contact Paul Campbell (pc@mbunix.mitre.org) for information. Both programs require IBM's FAL TCP/IP and Pascal. Special note on "notes" and pre-2.11 news ----------------------------------------- Users of these systems may note problems in their interactions with the Usenet. In particular, postings may be made by "notes" users to moderated groups but they will not usually propagate throughout the entire Usenet. The same may happen to users of old B news software. Users of "notes" or old B news software wishing to post to moderated groups should either mail their submissions to the moderator, as listed in the monthly posting of "List of Moderators" in the group "news.lists", or else they should post from a system running up-to-date B news software (i.e., 2.11). "notes" users may obtain some patches from the comp.sources.unix archives which enable recent versions of "notes" to interact with moderated groups properly. Users of old B news and "notes" are also not able to take advantage of some other current B news features, such as the "checkgroups" message. "notes" continues to be a "foreign" system, and B news versions before 2.10.2 are considered "obsolete." The various maintainers of the Usenet software have never expressed any commitment to maintain backwards compatibility with "foreign" or obsolete news systems and are unlikely to do so; it is the responsibility of the users to maintain compatibility of such software if they wish to continue to interact with the Usenet. Software versions & availability -------------------------------- You can obtain the version number of your news software by issuing the "v" command in either "vnews" or "readnews." The "rn" version is obtainable by typing the "v" command to the top level prompt. Type "V" to see the version number of "nn". Current software is obtainable from almost any major Usenet site. Source to the 'rn' newsreader program is also widely available. The following sites have sources to the current news software available for anyone needing a copy: Site Contact ---- ------- munnari kre@munnari.oz.au osu-cis postmaster@tut.cis.ohio-state.edu philabs usenet@philabs.philips.com pyramid usenet@pyramid.com rutgers usenet@rutgers.edu tektronix news@tektronix.tek.com watmath usenet@watmath.waterloo.edu Sources for news 2.11, C News, "rn", and "trn" are also available in the comp.sources.unix archives. European sites should request the sources from their nearest Eunet backbone site. Standards --------- News programs communicate with each other according to standard protocols, some of which are described by RFCs. An RFC is a Request For Comment, a de facto standard in the Internet Community. It is a form of published software standard, done through the Network Information Center (NIC) at SRI. Copies of RFCs are often posted to the net and obtainable from archive sites. Current news-related RFCs include the following: RFC 822 specifies the format of messages; RFC 1036 uses this. RFC 977 specifies NNTP, the Network News Transfer Protocol. RFC 1036 specifies the format of Usenet articles. RFC 1123 amends RFC 822. RFC 1153 specifies the digest format some moderated groups use. Newsgroups ---------- The following newsgroups cover issues discussed in this article, and can be consulted for recent developments. gnu.emacs.gnews News reading under GNU Emacs using Weemba's Gnews. gnu.emacs.gnus News reading under GNU Emacs using GNUS (in English). news.software.anu-news VMS B-news software from Australian National Univ. news.software.b Discussion about B-news-compatible software. news.software.nn Discussion about the "nn" news reader package. news.software.notes Notesfile software from the Univ. of Illinois. news.software.readers General discussion about news reading software. Acknowledgements ---------------- The preparation of this article (and Usenet itself!) was greatly enhanced by the contributions and assistance of the following persons: Steve Bellovin, Ray Essick, Mark Horton, Brian Kantor, Phil Lapsley, Bob Page, Tom Truscott, and Larry Wall. Thanks, folks. -- Gene Spafford NSF/Purdue/U of Florida Software Engineering Research Center, Dept. of Computer Sciences, Purdue University, W. Lafayette IN 47907-1398 Internet: spaf@cs.purdue.edu phone: (317) 494-7825