Software [ [image of the Head of a GNU] ] (jpeg 7k) (jpeg 21k) no gifs due to patent problems ------------------------------------------------------------------------ Table of Contents * Help Write GNU Software * How To Get GNU Software * Descriptions of GNU Software Packages * Java programs * Descriptions of unfinished GNU Software Projects * Descriptions of Software Packages Adopted by the GNU Project * Descriptions of some Other GPL-Covered Free Software Packages * Descriptions of unfinished non-GNU software packages * Descriptions of some Other Non-GPL-Covered Free Software Packages ------------------------------------------------------------------------ Help Write GNU Software Please consider helping the GNU Project by writing software. * Please select a project from the GNU Task List and let gvc@gnu.org know what you select. In fact, let them know if you are about to start work on any Free Software project, as they will be able to put you in touch with other people interested in or working on similar projects. * Please follow the GNU Coding Standards as you write the software. * Please use the Information For Maintainers of GNU Software as you maintain the software. How To Get GNU Software GNU software is available by several different methods: * Order copies on CD-ROM from the FSF. This helps provide the funds for GNU software development. * FTP it from an ftp site near you. (But please also make a donation to the FSF, if you can, to help us write more free software.) * Get a copy from a friend. (But please also make a donation to the FSF, if you can, to help us maintain free software.) Descriptions of GNU Software Packages Here is a list of some GNU programs and FSF software projects, with some information about them. 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. * 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. * 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 of 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. * GnuGo plays the game of Go. It is not yet very sophisticated. * Gnumeric is a spreadsheet intended to replace commercial spreadsheets. * GNUscape Navigator is a Web browser that runs under GNU Emacs. * GNUstep and the GNUstep Base Library provide a graphical, object-oriented programming environment. * gpc is the GNU Pascal compiler. * 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'. * 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. * 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. * 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. * 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'. * Plotutils enables the plotting of scientific data and the drawing of vector graphics. * PSPP is the GNU replacement for SPSS. * 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'. * 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. * 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. * 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. * XaoS is a real-time fractal zoomer. * xinfo is an X-windows program for reading Info files. * xshogi is a graphical Shogi (Japanese Chess) board for the X Window System. * 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). * (This list needs more work. It needs all the GNU Programs listed. Here's what to do!) Java programs Various Java programs have been contributed to the GNU Project. You will find a list of these programs by visiting our Java page. Descriptions of unfinished GNU Software projects 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. * 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. * GNOME is the GNU desktop, intended to provide graphical user interfaces for all the tasks for which they make sense. GNOME is not yet finished, but it already has everything from spreadsheets to mail clients. * Harmony is aimed at creating an API-compatible replacement for the Qt toolkit. * The HURD is the kernel of the GNU system. Descriptions of Software Adopted for Use in GNU These are some free programs which we have adopted to use as part of the GNU system. We would like to list all adopted GNU programs here, but that will take more work. If you would like to write descriptions for other adopted 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. 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. * dbedit, a toolkit for writing database-driven web applications. * Frontdesk, a web-based mail system for customer support and bug tracking. * GN, a Gopher/http server. * HylaFAX. * ht://Dig is a complete world wide web indexing and searching system. * Lynx, a text-only Web browser that is GPLed. * Generic NQS. * Roxen, an http server. * WN, an http server. * X window system. * (This list needs more work. It needs all the adopted GNU Programs listed. Here's what to do!) Descriptions of Other GPL-Covered Free Software 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. * 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. * Catdoc is a program which reads Microsoft word files and outputs ASCII text of the contents of the file. * 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. * Eli is a compiler construction kit. * Esh is a Unix shell with a syntax similar to Lisp/Scheme. * 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. * Gale is an instant messaging and presence software. * gleem is a small, self-contained C++ library of 3D widgets that support direct user interaction with a 3D scene. * Gnuplot is a command-line driven interactive function plotting utility. * 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. * Jabber is developing a free alternative to AIM and ICQ. * TOCHNOG is a mathematical modeling program for heat diffusion, deformation, friction, and ground water flow. * MAVERIK is a system for managing display and interaction in virtual reality applications. * 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. * Minivend is a free full-featured web based electronic catalog/ordering system. * 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. * PIKT is a program for administering heterogeneous networked workstations. * Playmidi is a MIDI player for FM, GUS and external MIDI devices. * PRCS is the Project Revision Control System. * Rosegarden is an integrated MIDI sequencer and musical notation editor. * 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. * Scilab is a scientific software package for numerical computations. You should first look at octave which is part of the GNU system. * SmallEiffel is intended to be a complete Eiffel compiler. * 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. * ytalk is a multi-user talk program, compatible with the older talk clients and daemons. Description of unfinished non-GNU Software projects These are some software projects that are in the development stage and is 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. Descriptions of Other Non-GPL-Covered Free Software These are some additional Non-GPL-covered free programs which we think it is useful to mention. * 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. * Ptolemy is a system-level design framework that allows mixing models of computation. ------------------------------------------------------------------------ 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 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: 28 Feb 1999 jonas ------------------------------------------------------------------------