Cannabis Sativa

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[edit]

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[edit]

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.

Name Description Provides Version[Note 1]
bash GNU's UNIX compatible shell bash 5.0 (January 7, 2019; 17 months ago (2019-01-07)) [±][3][4]
coreutils base commands fileutils: chgrp, chown, chmod, cp, dd, df, dir, du, ln, ls, mkdir, mkfifo, mknod, mv, rm, etc.

textutils: cat, cksum, head, tail, md5sum, nl, od, pr, tsort, join, wc, tac, paste, etc.
shellutils: basename, chroot, date, dirname, echo, env, groups, hostname, nice, nohup, printf, sleep, etc.

8.32 (March 5, 2020; 3 months ago (2020-03-05)) [±][5]
cpio archiving program cpio 2.12 (September 12, 2015; 4 years ago (2015-09-12)) [±][6]
diffutils contains utilities to compare files diff, cmp, diff3, sdiff 3.2 (September 2, 2011)
findutils contains search utilities find, locate, updatedb, xargs[7] 4.7.0 (August 29, 2019; 9 months ago (2019-08-29)) [±][8]
finger user information n/a 1.37, (October 28, 1992)
grep search for strings in files grep 2.10, (November 16, 2011)
groff document processing system (groff) groff 1.22.2 (February 7, 2013; 7 years ago (2013-02-07)[9]) [±]
GRUB GRand Unified Bootloader grub 2.02 (GRUB2) (April 26, 2017; 3 years ago (2017-04-26)) [±]
gzip compression program (gzip) gzip 1.7 (28 March 2016; 4 years ago (2016-03-28)) [±][10]
hurd[Note 2] microkernel-based set of servers that perform the same function as a UNIX kernel n/a 0.7, (October 31, 2015)
inetutils useful utils for networking ftp, telnet, rsh, rlogin, tftp 1.9.4, (June 10, 2015)
linux-libre kernel 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 n/a 4.13.10-gnu, (October 28, 2017)[11]
plotutils useful utils for plotting to different devices graph, libplot, libplotter 2.6, (September 27, 2009)
readline useful library for reading command lines readline 6.2 (February 14, 2011; 9 years ago (2011-02-14)) [±][12]
screen a terminal multiplexer screen 4.8.0 (February 5, 2020; 4 months ago (2020-02-05)) [±]
sysutils[Note 3] system utilities to manage users, groups, passwords, shells add-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, write 0.1.6[13] (2009)
tar archiver able to create and handle file archives in various formats tar 1.29 (May 16, 2016; 4 years ago (2016-05-16)) [±]
texinfo documentation system for producing online and printed manuals n/a 6.7 (23 September 2019; 8 months ago (2019-09-23)[14]) [±]
time program to determine the duration of execution of a particular command time 1.8, (November 11, 2017[15])

Notes[edit]

  1. ^ Stable versions. Note that some distros (e.g., Gentoo) use some development versions in case the stable versions are a bit old.
  2. ^ Note that because HURD is under active development, there is no stable version. Hurd is distributed through version control systems.
  3. ^ No stable version yet. Current version is alpha and is not suitable for use in production systems.

Software development[edit]

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

GNU toolchain[edit]

Other libraries and frameworks[edit]

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[edit]

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

Other developer tools[edit]

User applications[edit]

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

Graphical desktop[edit]

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

  • GIMP – GNU Image Manipulation Program, a bitmap image editor (similar to Photoshop)
  • GTK+ – GIMP Toolkit, containing the GTK+, GDK, and GLib set of libraries (used by the GIMP and GNOME)
  • GNOME – GNU Network Object Model Environment, the official GNU desktop platform
  • GNUstep – implementation of the Cocoa/OpenStep libraries and development tools for graphical applications
  • Window Maker – window manager for the GNUstep environment

General system administration[edit]

Database[edit]

  • 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

Scientific software[edit]

Internet[edit]

A user page at a GNU MediaGoblin 0.2.0–based website

Office[edit]

Multimedia[edit]

  • 3DLDF – graphics package for producing three-dimensional technical drawings (especially for inclusion in TeX documents)
  • Dia – vector graphics program for creating diagrams
  • Gnash – player and browser plugin for the Adobe Flash file format
  • GNU LibreDWG – library for reading and writing .dwg files (used in CAD applications)
  • GNU LilyPond – music typesetting application
  • Gnu Maverik – Virtual Reality microkernel
  • Gnu Panorama – 3D framework, ray tracing

Games[edit]

Business applications[edit]

Fonts[edit]

See also[edit]

References[edit]

  1. ^ Stallman, Richard (April 3, 2013). "Re: On the subject of Git, Bazaar, and the future of Emacs development". emacs-devel (Mailing list). Retrieved 25 August 2014.
  2. ^ Stallman, Richard (April 3, 2013). "Re: On the subject of Git, Bazaar, and the future of Emacs development". emacs-devel (Mailing list). Retrieved 25 August 2014.
  3. ^ "Index of /gnu/bash". ftp.gnu.org. Retrieved March 19, 2019.
  4. ^ Ramey, Chet (January 7, 2019). "Bash-5.0 release available". lists.gnu.org. Archived from the original on January 8, 2019. Retrieved March 19, 2019.
  5. ^ Brady, Pádraig (2020-03-05). "[coreutils-announce] coreutils-8.32 released [stable]". coreutils-announce (Mailing list). Retrieved 2020-03-05.
  6. ^ Poznyakoff, Sergey (2015-09-12). "GNU cpio 2.12 released". info-gnu (Mailing list). Retrieved 2019-04-05.
  7. ^ "Findutils". www.gnu.org. Retrieved 2019-04-15.
  8. ^ Voelker, Bernhard (2019-08-29). "findutils-4.7.0 released [stable]". info-gnu (Mailing list). Retrieved 2019-08-29.
  9. ^ Lemberg, Werner (2013-02-07). "groff 1.22.2 has been released" (Mailing list). info-gnu. Retrieved 2013-02-07.
  10. ^ Meyering, Jim (2016-03-28). "gzip-1.7 released [stable]". Retrieved 2016-03-28.
  11. ^ "Index of /pub/linux-libre/releases". fsfla.org. Retrieved November 1, 2017.
  12. ^ Ramey, Chet (2011-02-14). "Readline-6.2 available for FTP". info-gnu (Mailing list). Retrieved 2011-05-20.
  13. ^ subversion repository NEWS file of sysutils retrieved 2013-07-23
  14. ^ Smith, Gavin (23 September 2019). "Texinfo 6.7 released". info-gnu (Mailing list). Retrieved 24 September 2019.
  15. ^ http://git.savannah.gnu.org/cgit/time.git/tree/NEWS?h=v1.8
  16. ^ "Release of version 1.5 of complexity". 29 February 2016. Retrieved 2 March 2016.
  17. ^ "GNUnited Nations". GNU.org. Free Software Foundation, Inc. Retrieved 19 December 2018.
  18. ^ https://www.gnu.org/software/mc/
  19. ^ "GNU LibreJS". The Free Software Foundation. Retrieved December 8, 2014.
  20. ^ "GNU Software". GNU.org. Retrieved September 24, 2015.
  21. ^ "GNU Taler - Taxable Anonymous Libre Electronic Reserve". Retrieved September 24, 2015.
  22. ^ Marston, Tim (2013-06-07). "GNU Typist 2.9.3 released" (Mailing list). info-gnu. Retrieved 2013-06-09.
  23. ^ "GNU remotecontrol". directory.fsf.org. FSF. 30 September 2013.
  24. ^ "Foliot is now part of GNU and becomes GNU Foliot". Savannah. 27 February 2016. Retrieved 2 March 2016.
  25. ^ [1]
  26. ^ "GNU FreeFont". GNU.org.

External links[edit]

Leave a Reply