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:
The package should say that it is a GNU package. It should be distributed via ftp.gnu.org, or another site offering access to everyone. The package's homepage should be on the GNU website. The developers must pay attention to making their software work well with other GNU packages. Documentation should be in Texinfo format, or in a format easily convertible to Texinfo. Should use GNU Guile for its extension language, but exceptions are explicitly possible in this regard. Should not recommend any non-free program, nor refer the user to any non-free documentation or non-free software. Use GNU terminology, including referring to GNU/Linux systems and free software in situations where other observers would write Linux and open source. 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.
Notes
Software development The software listed below is generally useful to software developers and other computer programmers.
GNU toolchain
GNU Binutils – contains the GNU assembler (as) and the GNU linker (ld) GNU Bison – parser generator intended to replace yacc GNU build system (autotools) – contains Autoconf, Automake, Autoheader, and Libtool GNU Compiler Collection – optimizing compiler for many programming languages, including C, C++, Fortran, Ada, and Java GNU Debugger (gdb) – an advanced debugger GNU m4 – macro processor GNU make – Make program for GNU
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.)
BFD – object file library DotGNU – replacement for Microsoft .NET GNU C Library (glibc) – POSIX-compliant C library GNU Classpath – libraries for Java GNU FriBidi – a library that implements Unicode's Bidirectional Algorithm GNU ease.js – A Classical Object-Oriented framework for JavaScript GNU gettext – internationalization library Gnulib – portability library designed for use with the GNU build system GNU libmicrohttpd – embeddable HTTP server GNU lightning – just-in-time compilation for generating machine language GNU oSIP – Session Initiation Protocol library to implement VoIP applications GNU Portable Threads (pth) – software threads for POSIX-compatible operating systems
Other compilers and interpreters The following packages provide compilers and interpreters for programming languages beyond those included in the GNU Compiler Collection.
CLISP – ANSI Common Lisp implementation (compiler, debugger, and interpreter) Gawk – GNU awk implementation GnuCOBOL – COBOL compiler GNU Common Lisp – implementation of Common Lisp GNU Guile - embeddable implementation for the Scheme programming language GNU MDK – a development kit for programming in MIX GNU Pascal – Pascal compiler GNU Smalltalk – ANSI Smalltalk-98 implementation (interpreter and class library) MIT/GNU Scheme – interpreter, compiler and library for the Scheme programming language developed at MIT SmartEiffel – GNU Eiffel compiler Gforth — GNU Forth compiler
Other developer tools Data Display Debugger – debugger front-end for several debuggers (ddd) GNU arch – distributed revision control system (deprecated in favor of GNU Bazaar) GNU AutoGen – active tier-style tool for automated code generation GNU Bazaar – distributed revision control system GNU cflow – generates C flow graphs GNU cppi – indents C preprocessor directives in files to reflect their nesting GNU Fontutils – font management utilities GNU gperf – perfect hash function generator GNU indent – program to indent C and C++ source code GNU complexity – measures the complexity of C source code GNUnited Nations - program for the translation of html files.
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.
GNUstep – implementation of the Cocoa/OpenStep libraries and development tools for graphical applications Window Maker – window manager for the GNUstep environment
General system administration GNU Accounting Utils – set of utilities providing statistics on users and processes (last, ac, accton, lastcomm, sa, dump-utmp, dump-acct) GNU ddrescue – data recovery tool GNU Emacs – implementation of Emacs editor GNU fcrypt – on-the-fly encryption GNU Guix – package manager GNU libextractor – metadata extraction library and tool GNU Midnight Commander – text-based Orthodox file manager & FTP client Mtools − collection of tools to edit MS-DOS floppy disks GNU nano – text editor GNU parallel – shell tool for executing jobs in parallel GNU Parted – hard drive partitioning program GNU Privacy Guard – PGP encryption replacement GNU Privacy Assistant, a graphical frontend to GNU Privacy Guard GNU Stow – managing the installation of software packages pexec – shell tool for executing jobs in parallel
Database GnowSys – kernel for semantic computing (a distributed agent oriented knowledge base.) GNU dbm (GDBM) GNU Ferret – Free Entity Relationship and Reverse Engineering Tool, an SQL database designer
… excerpt ends here. Continue reading the full article.

