The GNU project (http://www.gnu.org/) was started by Richard Stallman in 1984 to create a complete free operating system and, in his words, to "bring back the cooperative spirit that prevailed in the computing community in earlier days". Stallman requests that GNU be pronounced guh-NOO to "avoid horrible confusion" with the word "new".
GNU is a recursive acronym for "GNU's Not UNIX", to contrast with the proprietary, non-free operating systems that went by that name at the time. However, as UNIX was already in widespread use, and its overall architecture had proven technically sound, the GNU system was designed to be compatible with it. The UNIX architecture allowed the GNU project to be written as individual software components. Components that were already freely available, such as the TeX typesetting system and the X Window graphics system, could be adapted and reused; others would be written from scratch.
To ensure that GNU software would remain free for all users "to run, copy, modify and distribute", the project would release it under a license designed to give everyone those permissions while preventing them from adding restrictions of their own. This idea, referred to as copyleft, was embodied in the GNU General Public License (GPL).
In 1985, Stallman founded the Free Software Foundation (FSF), a tax-exempt charity, to provide logistical, legal and financial support for the GNU project. The FSF also employed programmers to contribute to GNU, though a substantial portion of development was (and continues to be) provided by volunteer programmers. As GNU gained prominence, interested businesses began contributing to development or selling GNU software and technical support. The most prominent and successful of these was Cygnus Solutions, now part of Red Hat.
By 1990, the GNU system had an extensible text editor (Emacs), a very successful optimizing compiler (GCC), and most of the core libraries and utilities of a standard UNIX distribution. All that was missing was the kernel. Though work commenced on the Hurd kernel project, development soon became mired in technical and personality conflicts.
In 1991, Linus Torvalds wrote the UNIX-compatible Linux kernel and released it under the GPL. Linux was further developed by various programmers over the Internet. In 1992, Linux was combined with the GNU system, resulting in a fully functional free operating system. The GNU system is most commonly encountered in this form, usually referred to as a "GNU/Linux system" or a "Linux distribution". (The Hurd is still in active development, and an experimental version of the GNU system that uses the Hurd instead of Linux is now available.)
Many of the programs written for the GNU project have proven to be of a superior quality to the equivalent UNIX versions. As a result, it is common to find components of GNU installed on proprietary UNIX systems, replacing the original UNIX programs. Often, these components are collectively referred to as the "GNU Tools". Many GNU programs have also been ported to Microsoft Windows and Mac OS X platforms.
The most commonly-encountered GNU programs are:
- Bash, a command shell.
- Binutils, containing an assembler and a linker.
- Emacs, an extensible, self-documenting text editor.
- GCC, an optimizing compiler for many languages, particularly C.
- GDB, a debugger.
- GIMP, an image-editing program.
- GNOME, a graphical desktop environment.
- Gzip, a library and program for data-compression
See also:
- Gnu (the animal)
External Links:
- http://groups.google.com/groups?hl=en&selm=771%40mit-eddie.UUCP -- Stallman's original 1983 announcement of the GNU project
- http://www.gnu.org/gnu/thegnuproject.html -- Stallman gives a lengthy personal account of the project and its history.
- http://www.gnu.org/encyclopedia/free-encyclopedia.html -- The Free Universal Encyclopedia and Learning Resource, Stallman's essay concerning a GNU encyclopedia.