List of GNU packages


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

General aspects of GNU packages

Summarising the situation in 2013, Richard Stallman identified nine aspects which generally apply to being a GNU package, but he noted that exceptions and flexibility are possible when there are good reasons:
  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 and exclusions are of course debatable.

Software development

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

GNU toolchain

The following libraries and software frameworks are often used in combination with the basic toolchain tools above to build software.
The following packages provide compilers and interpreters for programming languages beyond those included in the GNU Compiler Collection.
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.