From: spaf@cs.purdue.EDU (Gene Spafford)
Newsgroups: news.admin,news.announce.newusers,news.software.readers,news.software.b,news.answers
Subject: USENET Software: History and Sources
Date: 4 Sep 92 03:52:08 GMT
Expires: 3 Nov 92 15:52:08 GMT
Followup-To: news.admin
Organization: Dept. of Computer Sciences, Purdue Univ.
Supersedes: <spaf-software_711614925@cs.purdue.edu>

Archive-name: usenet-software/part1
Original from: spaf@purdue (Gene Spafford)
Last-change: 3 Sep 1992 by spaf@cs.purdue.edu (Gene Spafford)


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.

Note that the number of software packages available to run news,
especially on PCs, is increasing.  This article lists only a few of
the many news packages available, and the presence or absence of any
particular software package should not be construed as indicating
anything about its suitability usefulness.

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).  B News has been declared "dead"
by a number of people, and is unlikely to be upgraded further; most
new sites are using C News (see next paragraph).

A new version of news, known as C News, was 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 of C News is labeled 27-Aug-1991.  C News can be obtained from
its official archive site, cs.toronto.edu, using FTP.

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 screen-oriented NEWS client for VMS is also available via ftp from
ftpvms.ira.uka.de (contact Bernd Onasch <ONASCH@iravcl.ira.uka.de> for
details).

A port of C News for the Commodore Amiga under AmigaDOS (NOT Unix), is
available.  The port was done by Frank J. Edwards <crash@ckctpa.uucp>,
and available from Larry Rosenman <ler@lerami.lerctr.org>.  Also,
Matt Dillon <dillon@overload.berkely.ca.us>, has greatly improved the
UUCP clone for AmigaDOS, currently V1.15D, available for ftp from
ftp.uu.net in /systems/amiga/dillon.  The package also includes a
newsreader very loosely like the real rn.  Dillon also has a "vn" port
provided by Eric Lee Green.  This software is also available on Bix,
and for ftp from ab20.larc.nasa.gov.

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.4.  It is being
maintained by Stan Barber of the Baylor College of Medicine.  "rn" is
not provided with the standard news software release, but is very
widely available because of its popularity.  The software can be
obtained from its official archive site, lib.tmc.edu, using FTP, and
via mail from archive-server@bcm.tmc.edu

A variant of "rn" is "trn" by Wayne Davison. Trn adds the ability to
follow "threads of discussions" in newsgroups; its latest version 2.2
is based on rn 4.4. 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
ftp.coe.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.17.  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,
ftp.uu.net, export.lcs.mit.edu).

Another X11-based newsreader is xvnews.  This is a news reader
designed primarily for Sun workstations running OpenWindows.  It runs
with NNTP and is compatible with rn style commands.  Available from
export.lcs.mit.edu in the contrib directory.

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, or various
other sites; European sites should request the sources from their
nearest backbone site.

Yet another newsreader is the "tin" reader.  It operates with threads,
has different article organization methods, and is full-screen
oriented.  tin works on a local news spool or over an NNTP connection.
It has been posted to alt.sources, and further information is
available from Iain Lea (iain%anl433.uucp@Germany.EU.net). The current
release of tin is 1.1 PL5.  Tin is based more on the Notes and tass
systems than "rn".  There is an extensive list of features, including
interfaces to batch modes and auto unpacking mechanisms.

"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 ftp.uu.net.

Reader NNTP clients for VMS are also available, including VMS/VNEWS
(current release 1.4) and an upcoming reader only version of ANU-NEWS.
VMS/VNEWS is available via anonymous ftp from arizona.edu (contact
jms@arizona.edu for more information) or at any site which archives
vmsnet.source.  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
<connolly@coins.cs.umass.edu> and maintained by Richard Welty
<welty@lewis.crd.ge.com>.  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 <pc@bellcore.com>

A TOPS-20 reader was developed by Dave Edwards of SRI
<dle@kl.sri.com>, 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.  An NNTPXMIT sender
that works in cooperation with PSU NETNEWS is available from Herman
Van Uytven (SYSTHVU@cc1.kuleuven.ac.be).

There is at least one NNTP news-reader for VM using XEDIT as its
screen manager: NNR.  Contact Paul Campbell (pc@mbunix.mitre.org) for
information.  The program requires IBM's FAL TCP/IP.  The software is
available for anonymous ftp from rusmv1.rus.uni-stuttgart.de
[129.69.1.12] in the directory
soft/kommunikation/news/beginner/software/vm-cms/*.

An NNTP news reader is available for TSO/ISPF, called NNMVS. NNMVS is
written by Stephen Bacher <seb1525@mvs.draper.com> at Draper
Laboratory.  It requires C/370 V1R2 (though V1R1 will work) and uses
TCP/IP sockets.  It is now available via anonymous ftp at
ftp.uni-stuttgart.de under the directory
/soft/kommunikation/news/beginner/software/nnmvs.  The current release
is Version 2 Release 3 Modification Level 1 (in pseudo-IBM parlance).


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 probably 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
Software Engineering Research Center & Dept. of Computer Sciences
Purdue University, W. Lafayette IN 47907-1398
Internet:  spaf@cs.purdue.edu	phone:  (317) 494-7825
Newsgroups: news.admin