R would not be what it is today without the invaluable help of these
people outside of the (former and current) R Core team, who
contributed by donating code, bug fixes and documentation:

Valerio Aimale, Suharto Anggono, Thomas Baier, Gabe Becker, Henrik
Bengtsson, Roger Bivand, Ben Bolker, David Brahm, G"oran Brostr"om,
Patrick Burns, Vince Carey, Saikat DebRoy, Matt Dowle, Brian D'Urso,
Lyndon Drake, Dirk Eddelbuettel, Claus Ekstrom, Sebastian
Fischmeister, John Fox, Paul Gilbert, Yu Gong, Gabor Grothendieck,
Frank E Harrell Jr, Peter M. Haverty, Torsten Hothorn, Robert King,
Kjetil Kjernsmo, Roger Koenker, Philippe Lambert, Jan de Leeuw, Jim
Lindsey, Patrick Lindsey, Catherine Loader, Gordon Maclean, Arni
Magnusson, John Maindonald, David Meyer, Ei-ji Nakama, Jens
Oehlschl"agel, Steve Oncley, Richard O'Keefe, Hubert Palme, Roger
D. Peng, Jose' C. Pinheiro, Tony Plate, Anthony Rossini, Jonathan
Rougier, Petr Savicky, Guenther Sawitzki, Marc Schwartz, Arun
Srinivasan, Detlef Steuer, Bill Simpson, Gordon Smyth, Adrian
Trapletti, Terry Therneau, Rolf Turner, Bill Venables, Gregory
R. Warnes, Andreas Weingessel, Morten Welinder, James Wettenhall,
Simon Wood, and Achim Zeileis.

Others have written code that has been adopted by R and is
acknowledged in the code files, including

J. D. Beasley, David J. Best, Richard Brent, Kevin Buhr, Michael
A. Covington, Bill Cleveland, Robert Cleveland,, G. W. Cran,
C. G. Ding, Ulrich Drepper, Paul Eggert, J. O. Evans, David M. Gay,
H. Frick, G. W. Hill, Richard H. Jones, Eric Grosse, Shelby Haberman,
Bruno Haible, John Hartigan, Andrew Harvey, Trevor Hastie, Min Long
Lam, George Marsaglia, K. J. Martin, Gordon Matzigkeit,
C. R. Mckenzie, Jean McRae, Cyrus Mehta, Fionn Murtagh, John C. Nash,
Finbarr O'Sullivan, R. E. Odeh, William Patefield, Nitin Patel, Alan
Richardson, D. E. Roberts, Patrick Royston, Russell Lenth, Ming-Jen
Shyu, Richard C. Singleton, S. G. Springer, Supoj Sutanthavibul, Irma
Terpenning, G. E. Thomas, Rob Tibshirani, Wai Wan Tsang, Berwin
Turlach, Gary V. Vaughan, Michael Wichura, Jingbo Wang, M. A. Wong,
and the Free Software Foundation (for autoconf code and utilities).
See also files under src/extras.

Many more, too numerous to mention here, have contributed by sending bug
reports and suggesting various improvements.

Simon Davies whilst at the University of Auckland wrote the original
version of glm().

Julian Harris and Wing Kwong (Tiki) Wan whilst at the University of
Auckland assisted Ross Ihaka with the original Macintosh port.

R was inspired by the S environment which has been principally
developed by John Chambers, with substantial input from Douglas Bates,
Rick Becker, Bill Cleveland, Trevor Hastie, Daryl Pregibon and
Allan Wilks.

A special debt is owed to John Chambers who has graciously contributed
advice and encouragement in the early days of R and later became a
member of the core team.

Stefano Iacus (up to 2014, a former member of R Core) and Simon
Urbanek developed the macOS port, including the R.app GUI, toolchains
and packaging.

The Windows port was originally developed by Guido Masarotto (for a
while a member of R Core) and Brian Ripley, then further by Duncan
Murdoch (a former member of R Core) and then Jeroen Ooms (base) and
Uwe Ligges (packages).  Tomas Kalibera is the current main developer
of the Windows port and provides assistance with package porting.

Tomas Kalibera's work has been sponsored by Jan Vitek and funded by
his European Research Council grant "Evolving Language Ecosystems
(ELE)".

Computing support (including hardware, hosting and infrastructure) has
been provided/funded by the R Foundation, employers of R-Core members
(notably WU Wien, ETH Zurich, U Oxford and U Iowa) and by Northeastern
University and the University of Kent.

Distributions of R contain the recommended packages, whose
authors/contributors are listed in their DESCRIPTION files.
