List of GNU packages explained

A number of notable software packages were developed for, or are maintained by, the Free Software Foundation as part of the GNU Project.

What it means to be a GNU package

Summarising the situation in 2013, Richard Stallman identified nine aspects which generally apply to being a GNU package,[1] but he noted that exceptions and flexibility are possible when there are good reasons:[2]

  1. The package should say that it is a GNU package.
  2. It should be distributed via ftp.gnu.org, or another site offering access to everyone.
  3. The package's homepage should be on the GNU website.
  4. The developers must pay attention to making their software work well with other GNU packages.
  5. Documentation should be in Texinfo format, or in a format easily convertible to Texinfo.
  6. Should use GNU Guile for its extension language, but exceptions are explicitly possible in this regard.
  7. Should not recommend any non-free program, nor refer the user to any non-free documentation or non-free software.
  8. Use GNU terminology, including referring to GNU/Linux systems and free software in situations where other observers would write Linux and open source.
  9. The maintainer should be contactable, at least infrequently, to discuss problems in the software or fixing compatibility issues.

Base system

There is no official "base system" of the GNU operating system. GNU was designed to be a replacement for Unix operating systems of the 1980s and used the POSIX standards as a guide, but either definition would give a much larger "base system". The following list is instead a small set of GNU packages which seem closer to being "core" packages than being in any of the further down sections. Inclusions (such as plotutils) and exclusions (such as the C standard library) are of course debatable.

NameDescriptionProvides
Version Date
bashGNU's UNIX compatible shellbash
coreutilsbase commands
cpioarchiving programcpio
diffutilscontains utilities to compare filesdiff, cmp, diff3, sdiff
findutilscontains search utilitiesfind, locate, updatedb, xargs[3]
fingeruser information1.37
grepsearch for strings in filesgrep
groffdocument processing system (groff)groff
GRUBGRand Unified Bootloadergrub
gzipcompression program (gzip)gzip
hurd[4] microkernel-based set of servers that perform the same function as a UNIX kernel
inetutilsuseful utils for networkingftp, telnet, rsh, rlogin, tftp
linux-librekernel that is maintained from modified versions of Linux to remove any software that does not include its source code, has its source code obfuscated, or is released under proprietary licenses
plotutilsuseful utils for plotting to different devicesgraph, libplot, libplotter
readlineuseful library for reading command linesreadline
screena terminal multiplexerscreen
sysutils[5] system utilities to manage users, groups, passwords, shellsadd-shell, chage, chfn, chgroup, chgrpmem, chpasswd, chsh, chuser, cppw, expiry, gpasswd, grpck, gshadow, hwclock, isosize, last, lastlog, login, lsage, lsgroup, lsuser, mkgroup, mkuser, nologin, passwd, pwck, remove-shell, rmgroup, rmuser, setpwnam, vipw, wall, write0.1.6[6] 2009
tararchiver able to create and handle file archives in various formatstar
texinfodocumentation system for producing online and printed manuals
timeprogram to determine the duration of execution of a particular commandtime

Notes

Software development

The software listed below is generally useful to software developers and other computer programmers.

GNU toolchain

See main article: GNU toolchain.

Other libraries and frameworks

The following libraries and software frameworks are often used in combination with the basic toolchain tools above to build software. (For libraries specifically designed to implement GUI desktops, see Graphical desktop.)

Other compilers and interpreters

The following packages provide compilers and interpreters for programming languages beyond those included in the GNU Compiler Collection.

Other developer tools

User applications

The software listed below is generally useful to users not specifically engaged in software development.

Graphical desktop

The following packages provide GUI desktop environments, window managers, and associated graphics libraries.

General system administration

Database

Scientific software

Internet

Office

Multimedia

Games

Business applications

Fonts

See also

External links

Notes and References

  1. Re: On the subject of Git, Bazaar, and the future of Emacs development . April 3, 2013 . emacs-devel . Stallman . Richard . Richard Stallman . 25 August 2014.
  2. Re: On the subject of Git, Bazaar, and the future of Emacs development . April 3, 2013 . emacs-devel . Stallman . Richard . Richard Stallman . 25 August 2014.
  3. Web site: Findutils. www.gnu.org. en. 2019-04-15.
  4. Note that because GNU Hurd is under active development, there is no stable version. The Hurd is distributed through version control systems.
  5. No stable version yet. Current version is alpha and is not suitable for use in production systems.
  6. http://svn.savannah.gnu.org/viewvc/trunk/NEWS?root=sysutils&view=markup subversion repository NEWS file of sysutils
  7. Web site: Release of version 1.5 of complexity. 29 February 2016. 2 March 2016.
  8. Web site: GNUnited Nations . GNU.org . Free Software Foundation, Inc. . 19 December 2018.
  9. Web site: Midnight Commander.
  10. Web site: GNU Mailutils. 7 January 2024.
  11. Web site: GNU LibreJS . . December 8, 2014.
  12. Web site: GNU Software. GNU.org. September 24, 2015.
  13. Web site: GNU Taler - Taxable Anonymous Libre Electronic Reserve. September 24, 2015.
  14. Web site: Brave GNU World - Issue #26 . Greve . Georg C. F. . Georg C. F. Greve . 2001 . gnu.org . 2022-08-14 . The ancestry-line of the GNU Pipo BBS reaches over YAWK ("Yet Another Wersion of Citadel") back to Citadel, although it is completely independent code-wise. In fact it was a disagreement with Kenneth Haglund, author of YAWK, because of copyright-problems that triggered the development of the GNU Pipo BBS. The original development-team were Grégory Vandenbrouck and Sébastien Aperghis-Tramoni who worked on the GNU Pipo BBS with help from volunteers like Sébastien Bonnefoy..
  15. Marston . Tim . GNU Typist 2.9.3 released . info-gnu . 2013-06-07 . 2013-06-09.
  16. Web site: GNU remotecontrol . 30 September 2013 . . FSF.
  17. Web site: Foliot is now part of GNU and becomes GNU Foliot. 27 February 2016. 2 March 2016. Savannah.
  18. Web site: GNU Taler 0.0.0 Released: GNU Tries to Get into Electronic Payments.
  19. Web site: GNU FreeFont. GNU.org.