The following is a list of the people (in roughly chronological order)
who've helped out.  If anyone's name has been left out (probably), or if
something has been incorrectly attributed to you (ditto), please let us
know.

Rich Salz:
        Designed and wrote most of it.

Bob Halley:
        Did the TCL extension.

Christophe Wolfhugel:
        Did the Perl extension and provided several other fixes.

Doug Needham:
        Made nnrpd spool if innd is unavailable.  Made nnrpd handle the
        LIST SUBSCRIPTIONS command.  Added the rebuilding of control
        connections to innd (SIGUSR1).  Got inews to ask the nntp peer for
        moderator info instead of digging it out of a local file.

David Lawrence: 
        Did the hooks for PGP verificiation of control messages, added
        actived support for syncing against an active file obtained via
        ftp.

John Stapleton:
        Wrote the poison newsgroup code ('@') for newsfeeds(5).  Wrote the
        too-many-connects support ('-X -H -T' flags to innd).
        
Landon Curt Noll:
        Wrote or co-wrote actsync, nntpsend, shrinkfile, innstat,
        news.daily, tally.control and various man pages.  He also was the
        person originally behind the site directory
        configuration/installation process.

John Levine:
        Wrote the '-e' support for expire (expire on shortest time).

Matthias Urlichs:
        Made rnews recognise gzip compression.  Made newsfeeds(5) take the
        'Wp' flag.

Stefan Petri:
        Did the original XBATCH support

Russel Street:
        Did more XBATCH support.

Alan Barrett:
        Did the work-limiter in the select loop to stop streaming from
        killing performance.

Greg Patten:
        Wrote the perl innlog.

Clayton O'Neill:
        Wrote the articles storage API and implemented the timehash
        and regular storage mechanisms with it.  He made significant
        modifications to dbz.  Integrating innfeed, adding Xref slaving,
        the history cache, the WIP rewrite and various speedups were
        also his doing.  Provided the tradindexed overview mechanism.
        Implemented the O flag in newsfeeds.  Did a bunch of early work on
        the CVS repository, reorganization of the code, and committing
        patches from others.

Vincent Archer:
        Wrote the initial autoconf scripts.

Forrest J. Cavalier III:
        Provided a lot of bug fixes to 1.5.2.  He extended the autoconf
        setup a lot to work with version 2.0, and has provided a lot of
        valuable design input and testing.

Scott Fritchie:
        Wrote the CNFS storage back end.

Fabien Tassin:
        Wrote the innreport package.  Implemented the new incoming.conf
        configuration file.  Added support for nested profile timers.

Jeremy Nixon:
        Wrote the initial patch for Perl filtering of message IDs on IHAVE
        or CHECK and other patches related to the filtering code.

Karl Kleinpaste:
        Wrote the experimental code for automatically generating keywords
        from incoming articles and putting those keywords in the overview
        for the use of readers.

Dave Hayes:
        Along with some bugfixes, Dave wrote the posting-backoff code for 
        nnrpd and the patches to the perl hooks to make the headers
        modifiable.

Joe Greco:
        Wrote the code for measuring the timing of various parts of innd
        and the original actived code.

Sang-yong Suh:
        Provided the fuzzy offset technique to dbz.

Katsuhiro Kondou:
        Provided unified overview, the buffindexed overview method, trash
        storage method, spool translation method, traditional expire
        policy for articles stored through storage API and expireindex, as
        well has hundreds of fixes to clean up defects as changes were
        made.  Did a large amount of man page documentation and clean up.
        Has also been a major force in the CVS pool maintenace.

Russell Vincent
        Expanded inn.conf to make many of the old compile time options
        into run time variables.  Numerous bug fixes, small feature
        enhancements and man updates.

Darrell Fuhriman:
        Provided various bug fixes and contributed to the pre-SM CNFS
        development.

Steve Carrie:
        Modified nnrpd to allow detailed client tracking, added the -R
        flag to nnrpd.

Ed Mooring:
        Wrote the first Perl filter callbacks into INN.

Aidan Cully
        Provided the patches to support the new readers.conf file, and
        wrote the initial user authenticators and resolvers for the
        readers.conf.  Provided the patches to support the new
        storage.conf format.  Added the option to store articles based on
        the Expires header.  Also added the '@' article exclusion code to
        incoming.conf.

Andrew Gierth:
        Contributed improvements to the nnrpd Perl filtering support to
        give access to message bodies and support the DROP and SPOOL
        keywords in filter returns.

Russ Allbery:
        Has done large amounts of clean-up on various pieces of the system
        (especially the documentation and build system), and has helped
        with the CVS pool maintenance.  Improved the speed and portability
        of the Perl filter.  Rewrote the tradindexed overview method for
        additional robustness.  Has done extensive work on libinn,
        breaking out common code from other parts of INN.  Lots of other
        fixes to various parts of INN.

Kai Henningsen:
        Implemented the C and U flags in newsfeeds.

Julio Sanchez:
        Wrote the initial libtool support for INN.

Igor Timkin:
        Added min-queue-connection support to innfeed, added outgoing
        volume logging and reporting, and provided a variety of bug
        fixes.

Heath Kehoe:
        Various portability and bug fixes, wrote the ovdb overview
        mechanism that uses Berkeley DB.

Richard Todd:
        Implemented the timecaf and tradspool storage mechanisms, as well
        as many bug fixes and other contributions.

Brian Kantor:
        Wrote the news2mail gateway.

Ilya Etingof:
        Added Python authentication support for nnrpd.

Kenichi OKADA:
        Added preliminary SSL and SASL support for nnrpd.

Olaf Titz:
        Implemented MODE CANCEL support, as well as other patches and bug
        fixes.

Sven Paulus:
        Wrote the support for variables in newsfeeds, contributed various
        other patches and bug fixes.

Krischan Jodies:
        Wrote the SMB authenticator.

Alex Kiernan:
        Wrote the history API, generalized the timer code in innd and
        innfeed into a generic timer library, reworked the NEWNEWS code
	and added a history cache, and contributed various other bug fixes.

Marco d'Itri:
        Wrote gpgverify and overhauled controlchan and its modules.  Added
        IPv6 support to innd and inndstart.  Contributed a rewritten
        send-uucp.  Has also contributed a variety of bug fixes and helped
        with testing.

Jeffrey M. Vinocur:
        Broke parts of the interface with nnrpd for authentication programs
        into a separate library, added various features to readers.conf,
        and wrote various other fixes and feature improvements,
        particularly to nnrpd.

Erik Klavon:
        Significantly reworked nnrpd Perl and Python hooks to be more useful
        in combination with the readers.conf mechanism.

Nathan Lutchansky:
        Added IPv6 support to innfeed, nnrpd, and supporting programs.

Also:

Dave Barr:
        Kept INN alive after Rich Salz didn't have the time any more but 
        before the ISC took over.  He released 4 unofficial versions that 
        provided a good boost to what the ISC started with.  Minor work
        on 2.0, mostly with example files and minor code tweaks.

James Brister:
        The chief maintainer of INN from when the ISC took over
        maintenance through the 2.2 release, James is also the original
        author of innfeed and has made fixes, improvements, and feature
        additions all over the code.

Marc Fournier:
        Provided various bug fixes and did a lot of work integrating other
        peoples patches and looking after the CVS pool.  Helped
        significantly with the conversion to autoconf.  Added the ability
        to set connection limits on a per-host basis.

Joshua M. Thompson
        Wrote the original INSTALL documentation.

The following people helped above and beyond the call of duty with testing
(provided patches, bug reports, suggestions, documentation improvements,
and lobbying):

Paul Vixie, Robert Elz, Evan Champion, Robert Keller, Barry Bouwsma,
markd@mira.net.au, Ollivier Robert, Kevin Jameson, Heiko W. Rupp,
Fletcher Mattox, Matus Uhlar, Gabor Kiss, Matthias Scheler,
Richard Michael Todd, Trevor Riley, Alex Bligh, J. Porter Clark,
Alan Brown, Bert Hyman, Petter Nilsen, Gary E. Miller, Kim Culhan,
Marc Baudoin, Neal Becker, Bjorn Knutsson, Stephen Marquard,
Frederick Korz, Benedict Lofstedt, Dan Ellis, Joe Ramey,
Odd Einar Aurbakken, Jon Lewis, Dan Riley, Peter Eriksson, Ken Lalonde,
Koichi Mouri, J. Richard Sladkey, Trine Krogstad, Holger Burbach,
Per Hedeland, Larry Rosenman, Andrew Burgess, Michael Brunnbauer,
Mohan Kokal, Robert R. Collier, Mark Hittinger, Miquel van Smoorenburg,
Boyd Lynn Gerber, Yury B. Razbegin, Joe St. Sauver, Heiko Schlichting,
John P. Speno, Scott Gifford, Steve Parr, Robert Kiessling,
Francis Swasey, Paul Tomblin, Florian La Roche, Curt Welch,
Thomas Mike Michlmayr, KIZU Takashi, Michael Hall, Jeff King,
Edward S. Marshall, Michael Schroeder, George Lindholm, Don Lewis,
Christopher Masto, Hiroaki Sengoku, Yury July, Yar Tikhiy, Kees Bakker,
Peter da Silva, Matt McLeod, Ed Korthof, Jan Rychter, Winfried Magerl,
Andreas Lamrecht, Duane Currie, Ian Dickinson, Bettina Fink,
Jochen Erwied, Rebecca Ore, Felicia Neff, Antonio Querubin, Bear Giles,
Christopher P. Lindsey, Winfried Szukalski, Edvard Tuinder,
Frank McConnell, Ilya Kovalenko, Steve Youngs, Jacek Konieczny,
Ilya Voronin, Sergey Babitch, WATANABE Katsuhiro, Chris Caputo,
Thomas Parmelan
