Software
Table of Contents
GNU software is available by several different methods:
- Buy copies on CD-ROM from the
FSF. This helps provide the funds
for the GNU Project.
Our three CD-ROM sets include source code for all GNU software,
GNU compiler tools executable on ten common platforms, and a larger
selection executable on intel-microsoft platforms.
- Get it by FTP. By FTP we provide
source code for all GNU software, free of charge.
(Please also make a donation
to the FSF, if you can, to help us write more free software.)
- Get a copy from a friend.
(Please also make a donation
to the FSF, if you can, to help us maintain free software.)
Here is a list of some GNU programs and FSF software projects, with
some information about them. GNU programs are programs released under the auspices of the GNU
Project.
We would like to list all GNU programs here, but that will take more
work. If you would like to write descriptions for other GNU programs,
here's what
to do!
For descriptions of GNU Software not listed here, please look at the
articles: ``GNU Software'' and ``Forthcoming GNUs'' in the current
GNU's Bulletin.
Information on the year 2000 and GNU
software is also available.
The index (28k characters)
shows which GNU package each GNU program or library is in.
You can get this and other GNU software
these ways.
Some of these links are at other web sites not maintained by the FSF.
The FSF is not responsible for the content of these other web sites.
- a2ps
is an Any to Postscript filter.
- adns is a resolver library
for C and C++ programs.
- Autoconf produces shell scripts which automatically configure source code packages.
- Automake is a tool for generating Makefile.in files for use with Autoconf.
- GNU Backgammon plays and
analyses backgammon games and matches. It is currently a
work-in-progress.
- Bash, the Bourne Again SHell, is compatible with the Unix `sh' and offers many extensions found in `csh' and `ksh'.
- bc is an interactive algebraic language with arbitrary precision numbers.
- Binutils includes these programs: `ar', `c++filt', `demangle', `gas', `gprof', `ld', `nlmconv', `nm', `objcopy', `objdump', `ranlib', `size', `strings', and `strip'.
- Bison is an upwardly compatible replacement for the parser generator `yacc'.
- Calc is an extensible, advanced desk calculator and mathematical tool that runs as part of GNU Emacs.
- cfengine is used to maintain site-wide configuration of a heterogeneous Unix network using a simple high level language.
- Cgicc is a C++ class library
for writing CGI applications.
- Checker is a package that works with GCC to detect memory use errors in a program.
- GNU Chess is a Chess-playing program.
- C Library for use with GNU/Hurd and GNU/Linux.
- cpio copies file archives to and from disk, or to another part of the local machine.
- CVS is a version control system (like RCS or SCCS) which allows you to keep old versions of files (usually source code), keep a log of who, when, and why changes occurred, etc.
- DejaGnu is a framework to test programs with a single front end for all tests.
- Diction, and Style, check English text for common bad usage and analyze readability. (This package is still in development.)
- Diffutils includes GNU `diff', which compares files showing line-by-line changes in several flexible formats.
- DJGPP includes GCC, G++, and GNU utilities for DOS.
- dld is a dynamic linker which allows the dynamic loading of object files into a running binary.
- doschk is a utility
to ensure that source file names are distinguishable on MS-DOS, FreeDOS and
other DOS systems with 8+3 character filenames, and on System V
platforms with 14-character filenames.
- Dr. Geo is interactive
software that allows the construction of geometric figures.
- ed is the standard text editor. It is line-oriented and can be used interactively or in scripts.
- EDMA is an open and modular development environment similar to the Component Object Model or the System Object Model.
- Electric is a sophisticated electrical CAD system that can handle many forms of circuit design.
- Elib is a small library of Emacs Lisp functions, including routines for using AVL trees and doubly-linked lists.
- Emacs is an extensible, customizable real-time display editor and computing environment. It offers true Lisp--smoothly integrated into the editor--for writing extensions and provides an interface to the X Window System.
- enscript is an upwardly-compatible replacement for the Adobe `enscript' program. It formats ASCII files (outputting in Postscript) and stores generated output to a file or sends it directly to the printer.
- The Fileutils are: `chgrp', `chmod', `chown', `cp', `dd', `df', `dir', `dircolors', `du', `install', `ln', `ls', `mkdir', `mkfifo', `mknod', `mv', `rm', `rmdir', `sync', `touch', and `vdir'.
- Findutils includes `find', which is frequently used both interactively and in shell scripts to find files which match certain criteria and perform arbitrary operations on them. Also included are `locate', which scans a database for file names that match a pattern, and `xargs', which applies a command to a list of files.
- GNU Finger is a utility program designed to allow users of Unix hosts on the Internet network to get information about each other.
- The Fontutils convert between font formats, create fonts for use with Ghostscript or TeX, etc.
- GNU Fortran is a free Fortran 77 compiler.
- Gawk is upwardly compatible with the latest POSIX specification of `awk'. It also provides several useful extensions not found in other `awk' implementations.
- gcal is a program for printing calendars. It displays different styled calendar sheets, eternal holiday lists, and fixed date warning lists.
- GCC is a free compiler for C, C++ and Objective C.
- gdb is a source-level debugger for C, C++ and Fortran.
- gdbm is a replacement for the traditional 'dbm' and 'ndbm' libraries.
- The GNU gettext tool set has everything maintainers need to internationalize a package's user messages.
- gforth is a fast, portable implementation of the ANS Forth language.
- Ghostscript is an interpreter for the Postscript and PDF graphics languages.
- Ghostview provides
a graphical front end to Ghostscript allowing a Postscript or PDF
file to be previewed using an X Window interface.
- The GIMP, the GNU Image Manipulation Program, is like Photoshop only better.
- GIT, the GNU Interactive Tools package, includes: an extensible file system browser, an ASCII/hex file viewer, a process viewer/killer, and other related utilities and shell scripts.
- gleem,
gleem: OpenGL Extremely Easy-to-use Manipulators is a small,
self-contained C++ library of 3D Widgets that support direct user interaction
with a 3D scene.
- gmp, GNU mp, is a library for arithmetic on arbitrary precision integers, rational numbers, and floating-point numbers.
- GNAT is a complete Ada95 compilation system, maintained and distributed under the GNU General Public License by Ada Core Technologies.
- GNATS, GNats: A Tracking System, is a bug-tracking system. It is based upon the paradigm of a central site or organization which receives problem reports and negotiates their resolution by electronic mail.
- GNOME is the GNU desktop,
intended to provide graphical user interfaces for all the tasks
for which they make sense. GNOME has everything from
spreadsheets to mail clients.
- GnuGo plays the game of Go.
- Gnumeric is a spreadsheet
intended to replace commercial spreadsheets.
- GNUscape Navigator is a Web browser that runs under GNU Emacs.
- GNU Smalltalk is an implementation of the Smalltalk object oriented
language which is based on the Smalltalk-80 language (tm ParcPlace
Systems) as described in the book "Smalltalk-80: the Language and its
Implementation" by Adele Goldberg and David Robson (often referred to as
"the Blue Book").
- GNUstep and the GNUstep Base Library provide a graphical, object-oriented programming environment.
- gpc is the GNU Pascal compiler.
- Goose is a C++ library for statistical calculations.
- gPhoto is a graphical application for retrieving,
organizing, and publishing images in various graphics formats, from a range of
supported digital cameras.
- Greg is a framework for testing
other programs and libraries.
- The grep package includes GNU `grep', `egrep', and `fgrep', which find lines that match entered patterns.
- GRG is the GNU Report Generator.
- Groff is a document formatting system based on a device-independent version of `troff'.
- GNU GRUB is the GNU GRand Unified Bootloader.
- GTKeyboard allows the
user to press keys on an onscreen keyboard that will either be entered into
a simple text editor, or inte the application of choice.
- Guile is the GNU extensibility library.
- Gush is the GNU User's Shell.
- gzip is GNU's program for compressing and decompressing files.
- The GNU hello program produces a familiar, friendly greeting. It allows non-programmers to use a classic computer science tool which would otherwise be unavailable to them.
- GNU hp2xx reads HP-GL files, decomposes all drawing commands into elementary vectors, and converts them into a variety of vector and raster output formats.
- Httptunnel creates
a bidirectional virtual data path tunnelled in HTTP requests.
- Hyperbole, written by Bob Weiner in Emacs Lisp, is an open, efficient, programmable information management, autonumbered outliner, and hypertext system, intended for everyday work on any platform Emacs runs on.
- ID Utils is a package of simple, fast, high-capacity, language-independent tools that index program identifiers, literal numbers, or words of human-readable text.
- GNU indent formats C source code into GNU, BSD, K&R, or your own special indentation style.
- Inetutils is a distribution of common networking utilities and servers.
- Ispell is an interactive spell checker that suggests `near misses' to replace unrecognized words.
- JACAL is a symbolic mathematics system.
- java2html is a small
program that, given a java source code, produces an html source
with syntax highlighting.
- less is a display paginator similar to `more' and `pg', but with various features (such as the ability to scroll backwards) that most pagers lack.
- libtool makes it easy to develop and maintain shared libraries.
- GNU m4 is an implementation of the traditional Unix macro processor.
- make automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them.
- Maverik is a virtual reality micro kernel.
- maxima is a Common Lisp implementation of MIT's Macsyma system for computer based algebra.
- The Midnight Commander is a user friendly and colorful Unix file manager and shell, useful to novice and guru alike.
- Meta-HTML is a programming language specifically designed for working within the World Wide Web environment.
- mtools is a set of
public domain programs to allow Unix systems to read, write, and
manipulate files on a DOS file system (typically a diskette).
- Nana is a package for programming and testing debugging assertions.
- Ncurses is a package for displaying and updating text on text-only terminals.
- NetHack is a Rogue-like adventure game supporting character and X displays.
- OBST is a persistent object management system with bindings to C++. OBST supports incremental loading of methods.
- Octave does arithmetic for real and complex scalars and matrices, solves sets of nonlinear algebraic equations, integrates systems of ordinary differential and differential-algebraic equations, and integrates functions over finite and infinite intervals.
- Oleo is a spreadsheet program. It supports the X Window System and character-based terminals, and can output Embedded Postscript renditions of spreadsheets.
- Panorama is a framework for 3D graphics production.
- patch is our version of Larry Wall's program to take `diff''s output and apply those differences to an original file to generate the modified version.
- The Perl programming language combines the features and capabilities of C, `sed', `awk', and `sh'.
- The Plotutils package contains `libplot', a C/C++ library that can export 2-D vector graphics, in many file formats, and do vector graphics animations. It also contains several command-line programs for plotting scientific data.
- GNU Prolog is a native
compiler for ISO Prolog with constraint solving over finite domains.
- PSPP is the GNU replacement for SPSS.
- Pth is the GNU Portable Threads library
- ptx is the GNU version of the traditional permuted index generator.
- queue is a
load-balancing/distributed batch processing and local rsh replacement
system
- R is a system for
statistical computation and graphics. It is a dialect of the S
programming language from Bell Labs.
- RAT is a Recipe Analysis Tool
which calculates the total nutrients in a given recipe.
- RCS, the Revision Control System, is used for version control and management of software projects.
- GNU recode converts files between character sets and usages. When exact transliterations are not possible, it may delete the offending characters or fall back on approximations.
- GNU Robots
is a game/diversion where you construct a program for a
little robot, then watch him explore a world.
- rx is a replacement for the GNU regex library.
- screen is a terminal multiplexer that runs several separate `screens' (ttys) on a single character-based terminal.
- sed is a stream-oriented version of `ed'.
- shtool is a portable shell tool for use inside source trees of free software packages.
- Sharutils includes `shar',which makes so-called shell archives out of many files, preparing them for transmission by electronic mail services; `unshar' helps unpack these shell archives after reception.
- The Shellutils are: `basename', `chroot', `date', `dirname', `echo', `env', `expr', `factor', `false', `groups', `hostname', `id', `logname', `nice', `nohup', `pathchk', `printenv', `printf', `pwd', `seq', `sleep', `stty', `su', `tee', `test', `true', `tty', `uname', `uptime', `users', `who', `whoami', and `yes'.
- smail is a mail transport system, designed as a compatible drop-in replacement for `sendmail'. It uses a much simpler configuration format than `sendmail' and is designed to be setup with minimal effort.
- GNU SQL
is a free, portable multiuser relational database management system.
- stow manages the installation of software packages, keeping them separate while making them appear to be installed in the same place.
- GNU tar includes multi-volume support, the ability to archive sparse files, compression/decompression, remote archives, and special features that allow `tar' to be used for incremental and full backups.
- The Termutils package contains programs for controlling terminals. `tput' is a portable way for shell scripts to use special terminal capabilities. `tabs' is a program to set hardware terminal tab settings.
- texinfo is a set of utilities which generate printed manuals, plain ASCII text, and online hypertext documentation (called `Info'), and can read online Info documents.
- textutils is a set of utilities for manipulating text.
- time reports (usually from a shell) the user, system, and real time used by a process. On some systems it also reports memory usage, page faults, etc.
- GNU Trueprint is a program
for printing source files and other text files to a postscript printer.
- userv is a system facility
to allow one program to invoke another when only limited
trust exists between them.
- wdiff is a front-end to GNU `diff'. It compares two files, finding the words deleted or added to the first to make the second.
- wget non-interactively retrieves files from the WWW using HTTP and FTP. It is suitable for use in shell scripts.
- Window Maker is a window manager
for X.
- XaoS is a real-time fractal zoomer.
- xhippo is a generic playlist
manager program for a variety of sound players.
- xinfo is an X-windows program for reading Info files.
- Xlogmaster is an X11 program that does comfortable and fast monitoring of all logfiles and every device that allows its status being read by cat (like the /proc devices).
- Xmcd is CD Player
utility package including xmcd, a CD Player for the X window system
using the Motif graphical user interface and cda, a command-line
driven, text mode CD Player which also features a curses-based,
screen-oriented mode.
- xshogi is a graphical Shogi (Japanese Chess) board for the X Window System.
- (This list needs more work.
It needs all the GNU Programs listed.
Here's what
to do!)
Various Java programs have been contributed to the GNU Project. You will
find a list of these programs by visiting our list of Java packages and applications or our Java page.
These are just a fraction of the software projects that the GNU Project
is working on. We hope to list more projects here in the future.
- Classpath is a
set of essential libraries for supporting the Java language.
- Free Film Project is
a complete set of utilities which, when used together, will
act as a complete virtual film studio.
- GPKCS-11 is an
implementation of PKCS#11: Cryptographic Token Interface Standard.
- GNU Cobol is
an effort to create a compiler for the Cobol language.
- GnuPG is a complete
implementation of the OpenPGP Internet standard.
- GYVE stands for ``the GNU
Yellow Vector Editor''. It is a vector-based drawing program
in the spirit of Adobe Illustrator and Corel Draw.
- Harmony is
aimed at creating an API-compatible replacement for the Qt toolkit.
- The HURD is the kernel of
the GNU system.
- Zebra is an implementation of many
popular routing protocols.
These are some additional GPL or LGPL-covered free programs which we think it
is useful to mention.
- Mats Weber's
Ada Components for math, data structures, Ada programming
tools and OS Interface.
- Aegis
is a transaction-based software configuration management system.
- Alliance
is a complete set of CAD tools for the specification, design
and validation of digital VLSI circuits.
- AOLserver is a fast,
multithreaded web server.
- AoMasq"
is a software package consisting of a client and a server. The
server-software runs in a U*NIX environment, waiting for requests from
Windows 98 clients, wich want to have a internet connection served by
IP Masquerading.
- Autochar is used to automate
the characterization of digital circuits.
- Autogen is a tool for
automatically generating arbitrary text files that contain repetitive
text with varying substitutions.
- bookland.py is a
Python program that generates ISBN bar code symbols (Bookland EAN-13 +
5-digit add-on) in EPS format. Includes UPC-A and EAN-13 classes, so
possibly useful in broader context.
- Catdoc is a
program which reads Microsoft word files and outputs ASCII text
of the contents of the file.
- cdcd is a command-line
program to play CDs.
- Citadel
- CLISP is an implementation
of the ANSI Common Lisp with compiler, interpreter, debugger and more.
- COAS is a general-purpose framework
for configuration editing.
-
Compare is a program that compares two pieces of text for
similarities.
- Cook
automatically determines which pieces of a large program need to be
recompiled, and issues commands to recompile them.
- Cyber Radio 1
is a client/server application used for live Internet audio
broadcasts.
- DGPS allows
you to get GPS correction signals over IP.
- Dumb
is a free engine for running Doom worlds, not yet complete.
- The E Equational Theorem Prover is an automated theorem
prover for clausal logic, based on superposition and rewriting.
- eFax is a program for
sending and receiving class 1 and class 2 faxes.
- Eli
is a compiler construction kit.
- Esh is a Unix shell with
a syntax similar to Lisp/Scheme.
- Exim is a powerful mail transport
agent.
- FarsiTeX is a TeX
typesetting program for Persian.
-
fastDNAml is a program for estimating maximum likelihood
phylogenetic trees from nucleotide sequences.
- The Filters
project is writing conversion routines from proprietary formats
to XML-based file formats.
- fftw
is a C subroutine library for computing the Discrete Fourier
Transform (DFT) in one or more dimensions.
- FreeS/WAN is
an implementation of IPSEC and IKE for GNU/Linux.
- Gale is an instant messaging
and presence software.
- GnuSkies is an attempt
to create a free version of the xephem program.
- gpc
is the GNU Pascal compiler;
fpc
is another GPL'd Pascal compiler.
- GRACE is
a WYSIWYG 2D plotting tool for X Window System and Motif (LessTif).
- Hindent
is a program for reformatting HTML code.
- ht://Dig is a complete world
wide web indexing and searching system.
- Jabber is developing a free
alternative to AIM and ICQ.
- jMax is an environment
for programming real-time interactive multimedia applications.
-
TOCHNOG is a mathematical modeling program
for heat diffusion, deformation, friction, and ground water flow.
- lclint is a
C code checker.
- LessTif is a free implementation
of OSF/Motif.
-
libungif is a program to operate on gif files using uncompressed
gifs when writing. See Why there
are no GIF files on GNU web pages.
- Light Speed!
simulates a geometric lattice, or arbitrary object moving at
high velocity through space.
- Linux Lab Project is
a project intented to help people with development of data
collection and process control software for GNU/Linux.
- Lout is a
document formatting system similar in style to LaTeX.
- Lynx, a text-only Web
browser that is
GPLed.
- Mercury is a
modern logic/functional programming language. The Mercury
implementation includes a compiler, a debugger, a profiler,
and numerous library packages and other tools.
- Mesa
is a free implementation of OpenGL.
- MidiShare
is an LGPL'ed musical operating system.
- Minivend
is a free full-featured web based electronic catalog/ordering
system.
-
MIRO DC1+ driver for the Linux kernel.
- MHonArc
is a Perl program for converting e-mail messages as specified
in RFC 822 and MIME to HTML.
- Ulm's Modula-2
system provides a compiler for Modula-2.
- MRTG
is a tool to monitor the traffic load of network-links.
- omniORB is a GPLed CORBA
orb.
- The
Pizza Delivery System is a GTK+ Application for automating the
order processing of both delivery and take away orders for your
average Pizza Bar, Cafe, Bistro, etc.
- Oberon V4
is an attempt to create an Oberon V4 for systems running
GNU/Linux.
- Openbios
is working on a free bios.
-
Pagecast submits lists of URL's to various search engines.
- Perl Object
Development System is an Integrated Development Environment
(IDE) for developing web applications in Perl.
- PIKT is a program
for administering heterogeneous networked workstations.
- Playmidi
is a MIDI player for FM, GUS and external MIDI devices.
- Pliant is a
programming language framework.
- PRCS
is the Project Revision Control System.
- RHIDE
is an integrated development environment for DJGPP.
- Rosegarden
is an integrated MIDI sequencer and musical notation
editor.
- Roxen, an http server.
- RRD
TOOL is a system to store and display time-series data (i.e.
network bandwidth, machine-room temperature, server load average).
- Rsync is a file transfer
program for Unix systems which provides a fast method for bringing
remote files into sync.
- The RTSP
Reference Kit could evolve into a useful
audio-playing program.
- Samba is a file-sharing
implementation under the GPL.
- SANE is an application
programming interface (API) that provides standardized access to any
raster image scanner hardware.
- Sather is an
object oriented language designed to be simple, efficient, safe,
flexible and non-proprietary.
- Scilab is a scientific
software package for numerical computations. You should first
look at octave which
is part of the GNU system.
-
SDCC is a retargettable, optimizing ANSI - C compiler.
- SmallEiffel
is intended to be a complete Eiffel compiler.
- SWISH++
is a Unix-based file indexing and search engine.
- Tvset is a program for
GNU/Linux that uses the video4linux API to display TV images in X.
- UltraSonix
is a "screen reader" which supports both braille and speech
output under the X Window System.
- VNC is a remote display system
which allows you to view and interact with a remote 'desktop' using a
very low-level graphics protocol which is platform-independent.
- VRweb is a browser for 3D
worlds and scenes modeled in VRML.
- CGI::WeT
is a tool which allows the webmaster to focus on content
creation and allow a set of Perl scripts working in conjunction
with the web server to create the page layout.
- Willows TWIN is a cross-plattform
API.
- Wind Tunnel Data Analyzer
- WML is a HTML
generation toolkit
- xBase
is a library for manipulating xBase files.
- XFS is a journaling
filesystem for the Linux kernel.
-
ytalk is a multi-user talk program, compatible with the
older talk clients and daemons.
These are some software projects that are in the development stage and are
not yet GNU software.
-
Free Expression is a project aimed at developing a copylefted
suite of streaming media tools.
- Flight Gear Flight simulator
is a free flight sim development project.
- Gale is instant messaging and presence software, similar to Internet Relay Chat and Mirabilis' ICQ.
These are some additional Non-GPL-covered free programs which we think it
is useful to mention.
- ACE (Adaptive
Communication Environment) is an
open-source object-oriented framework that implements many core
design patterns for concurrent communication software.
TAO (The
ACE ORB) is a high-performance, real-time CORBA ORB.
-
dbedit,
a toolkit for writing database-driven web applications.
- Festival
is a general multi-lingual speech synthesis system.
- Frontdesk,
a web-based mail system for customer support and bug tracking.
- ftnchek is a
static debugger for Fortran 77 programs. It is designed
to detect certain errors in a Fortran program that a compiler usually
does not.
- GN, a Gopher/http server.
- Gnuplot
is a command-line driven interactive function plotting utility.
- Harbour is a
cross-platform compiler for the xBase language.
- Hugs is a small, portable
Haskell interpreter.
- HylaFAX.
- Mozart implements Oz,
a concurrent object-oriented language with dataflow synchronization.
- Generic NQS.
- Ptolemy is a
system-level design framework that allows mixing models of
computation.
- w3m
is a text-based WWW browser, that can render tables and frames.
- Wumpus
is an exact clone of the classical Wumpus game.
- WN, an http server.
- wxWindows
is a cross-platform GUI development framework.
- X window system.
Return to GNU's home page.
FSF & GNU inquiries & questions to
gnu@gnu.org.
Other ways to contact the FSF.
Comments on these web pages to
webmasters@www.gnu.org.
Copyright (C) 1996, 1997, 1998, 1999. Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111, USA
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.
Updated:
14 Aug 1999 jonas