The GNU operating system is the Unix-like operating system, which is entirely free software, that we in the GNU Project have developed since 1984. The GNU system contains all of the official GNU software packages (which are listed below), and also includes non-GNU free software, such as TeX and the X Window System. Also, the GNU system is not a single static set of programs; users and distributors may select different packages according to their needs and desires. The result is still a variant of the GNU system.
If you're looking for a whole system to install, see our list of GNU/Linux distributions which are entirely free software.
To look for individual free software packages, both GNU and non-GNU, please see the Free Software Directory: a categorized, searchable database of free software. The Directory is actively maintained by the Free Software Foundation and includes links to program home pages where available, as well as entries for all GNU packages. Another list of all GNU packages is below. Free software documentation links are listed separately.
We also maintain a list of high-priority free software projects. Please help with these projects if you can. For other ways to contribute to GNU, including taking over unmaintained GNU packages and helping with development, see the GNU help wanted page.
If you are developing a GNU package, or you are thinking of starting, you may be interested in GNU Software Developer Resources. If you'd like to make your software an official GNU package, see the evaluation information and submission form. For information on the licenses used for GNU software, and on other free software licenses, see our Licenses page.
Finally, we have a short list of free software for Microsoft Windows, for Windows users who would like to try free software.
How to get GNU software
GNU software is available by several different methods:
- Download a wholly free GNU/Linux distribution.
- Get a copy from a friend.
- Buy a computer with a wholly free GNU/Linux system preinstalled from one of the companies that offers this.
- Download individual packages from the web or via FTP: we provide source code for all GNU software as free software, and free of charge. (Please also make a donation to the FSF if you can, to help support the development of more free software.)
- Use the GNU Guix functional package manager to install and manage GNU package releases.
- Use the GNU GSRC collection to easily install the latest GNU package releases on their own, without conflicting with any system versions.
- Use the GNU PPA or GNUstep PPA (Personal Package Archive) on Trisquel, gNewSense, or related distros to get the latest releases suitably packaged.
- Get the development sources for a package and build them. Many GNU packages keep their development sources at the GNU hosting site savannah.gnu.org. Some packages use other source repositories, or have none at all. Each package's web pages should give the specifics.
Here is a list of all current GNU packages, using their package identifiers (rather than long names) for brevity, and sorted alphabetically. If you have corrections to or questions about this list, please email <firstname.lastname@example.org>.3dldf a2ps acct acm adns alive anubis archimedes aris aspell auctex autoconf autoconf-archive autogen automake avl ballandpaddle barcode bash bayonne bazaar bc bfd binutils bison bool bpel2owfn c-graph ccaudio ccide ccrtp ccscript cflow cgicc chess cim classpath classpathx clisp cobol combine commoncpp complexity config consensus coreutils cpio cppi cssc dap dc ddd ddrescue dejagnu denemo dia dico diction diffutils dionysus dismal djgpp dmd dominion dr-geo ed edma electric emacs emacs-muse emms enscript eprints epsilon fcrypt fdisk ferret findutils fontutils freedink freefont freeipmi freetalk fribidi gama garpd gawk gcal gcc gcide gcl gcompris gdb gdbm gengen gengetopt gettext gforth ggradebook ghostscript gift gimp gleem glib global glpk glue gmediaserver gmorph gmp gnash gnat gnats gnatsweb gnome gnowsys gnu-arch gnu-c-manual gnu-crypto gnuae gnubatch gnubg gnubiff gnubik gnucap gnucash gnucomm gnue gnufm gnugo gnuit gnujdoc gnujump gnukart gnulib gnumach gnumed gnumeric gnump3d gnun gnunet gnupg gnupod gnuprologjava gnuradio gnurobots gnuschool gnushogi gnuskies gnusound gnuspeech gnuspool gnustandards gnustep gnutls gnutrition gnuzilla goptical gorm gpaint gperf gprolog grabcomics greg grep gretl groff grub gsasl gsegrafix gsl gsrc gss gtick gtk+ gtypist guile guile-dbi guile-gnome guile-ncurses guile-rpc guile-sdl guix gurgle gv gvpe gxmessage gzip halifax health hello help2man hp2xx httptunnel hurd hyperbole icecat idutils ignuit indent inetutils intlfonts jacal java-getopt jdresolve jel jwhois kawa kopi leg less libc libcdio libextractor libffcall libgcrypt libiconv libidn libjit libmatheval libmicrohttpd libredwg librejs libsigsegv libtasn1 libtool libunistring libxmi lightning lilypond linux-libre liquidwar6 lispintro lrzsz lsh m4 macchanger mailman mailutils make marst maverik mc mcron mcsim mdk mediagoblin melting metaexchange metahtml mifluz mig miscfiles mit-scheme moe motti mpc mpfr mtools myserver nana nano ncurses nettle network ocrad octave oleo orgadoc osip panorama parallel parted pascal patch paxutils pcb pdf pem pexec pgccfd phantom_home phpgroupware pies pipo plotutils polyxmass powerguru proxyknife pspp psychosynth pth pyconfigure pythonwebkit qexo quickthreads r radius rcs readline recutils reftex remotecontrol rottlog rpge rush sather scm screen sed serveez sharutils shishi shmm shtool sipwitch slib smalltalk smarteiffel social solfege spacechart speex spell sqltutor src-highlite stalkerfs stow stump superopt swbis sysutils talkfilters tar termcap termutils teseq teximpatient texinfo texmacs thales time tramp trans-coord trueprint units unrtf userv uucp vc-dwim vcdimager vera vmgen w3 wb wdiff websocket4j webstump wget which womb xaos xboard xhippo xlogmaster xmlat xnee xorriso zile
Decommissioned GNU packages
GNU packages are occasionally decommissioned, generally because they've been superseded by, or integrated into, other packages. If you have time and interest in resurrecting any of these, please contact <email@example.com>. Here is the list; we leave the old project pages up (when they existed): aeneas, aetherspace, aroundme, 3dkit, abcsh, awacs, cfs-el, checker, cons, dgs (display ghostscript), dld, dotgnu, dotgnu-pnet, dr.genius, elib, ffp, fhp, free (gnu.free), gcron (see mcron), gfe, ggv (see gv), gicqd, giptables, gnochive, gnotary, gnotepad+, gnubios, gnu-queue, gnucad, gnufi, gnupedia (see wikipedia), gnuskies, gnusql, gnustep-db, gnuts, goldwater, goodbye, goose, gphoto, graphics, grover, gtkeditor, gtkeyboard, guss, hegemonie, lengualibre, leonardo, libopts (see autogen), mana, messenger, mgcp, mll2html, obst, octal, p2c, packaging, patchwork, pips, poc, proto, rat, snakecharmer, songanizer, sourceinstall, sweater, sxml, toutdoux, vmslib, webpublish, xbase, xinfo, xmhtml, zebra.