GNU |
: For the African animal gnu, see wildebeest.
The GNU project was announced in September 1983 (and begun in January 1984) by Richard Stallman with the goal of creating a complete, free software operating system. Called the GNU system or simply GNU, it was to be compatible with, but not directly related to, the Unix operating system. Today, the GNU system is normally used in combination with a kernel (computer science) called Linux kernel which was developed outside the GNU project. This combination forms a complete, functional, free software operating system. The GNU+Linux system is often refered to as Linux , however, Stallman and others ask people to call it GNU/Linux . For details, see GNU/Linux naming controversy.
The GNU project is supported by the for GNU s Not Unix.
Developing the GNU system entailed writing many programs, known as GNU programs or GNU packages. These include the text editor Emacs, the GNU Compiler Collection (GCC), the GNU Debugger (GDB), and the desktop GNOME.
Many GNU programs have been ported to other operating systems and are often installed on proprietary , and various other proprietary platforms. However, the motive for developing these programs was to contribute to replacing those systems with free software, not to enhance them.
=History=
The GNU project was announced publicly on September 27, 1983, on the net.unix-wizards and net.usoft newsgroups. Work on the project began in earnest on January 5, 1984, when Stallman quit his job at Massachusetts Institute of Technology so that they could not claim ownership and interfere with distributing GNU as free software. The original announcement was followed by Stallman s GNU Manifesto and other essays that laid out his motivations for the GNU project, one of which was to bring back the cooperative spirit that prevailed in the computing community in earlier days.
UNIX, a proprietary software operating system, was already in widespread use when GNU was proposed. Since Unix s architecture had proven technically sound, the GNU system was designed to be compatible with it. The UNIX architecture allowed GNU to be written as individual software components. Components that were already freely available, such as the TeX typesetting system and the X Window System graphics system, would be adapted and reused, while components that were not would be written from scratch.
In 1985, Stallman founded the Free Software Foundation (FSF), a tax-exempt non-profit organization, 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) performed by volunteers. 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.
In order to ensure that GNU software remains free, the project released the first version of the GNU General Public License (GNU GPL) in 1989. This license is now used by most GNU programs, as well as a large number of free software programs that are not part of the GNU project; it is one of the most commonly-used free software licenses in the world. It gives all recipients of a program the right to run, copy, modify and distribute it, while forbidding them from imposing further restrictions on any copies they distribute. This idea is referred to as copyleft.
By 1990, the GNU system had an extensible text editor (Emacs), a very successful optimizing Compiler (GNU Compiler Collection), and most of the core libraries and utilities of a standard UNIX distribution. The main component still missing was the kernel (computers). In the GNU Manifesto, Stallman had mentioned that an initial kernel exists but many more features are needed to emulate Unix. He was referring to TRIX, a remote procedure call kernel developed at MIT, whose authors had decided to distribute for free, and was compatible with Version 7. In December 1986, work had started on modifying this kernel. However, the developers eventually decided it was unusable as a starting point, primarily because it only ran on an obscure, expensive 68000 box and would therefore have to be ported to other architectures before it could be used. By 1988, the Mach kernel message-passing kernel being developed at Carnegie Mellon University was being considered instead, although its release as free software was delayed till 1990 while its developers removed code owned by AT&T.
Since Mach provided just the low-level kernel functionality, the GNU Project had to develop the higher-level parts of the kernel, as a collection of user programs. Initially, this collection was to be called Alix, but developer Michael Bushnell later preferred the name part GNU Hurd, so the Alix name was moved to a subsystem and eventually dropped completely. Eventually, development of the Hurd stalled due to technical reasons and personality conflicts.
In 1991, Linus Torvalds wrote the UNIX-compatible Linux kernel. Although it was not originally free software, Torvalds changed the license to the GNU GPL in 1992. Linux was further developed by various programmers over the Internet. In 1992, it 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 . As of 2005, GNU Hurd is in slow development, and is now the official kernel of the GNU system. There is also a project working on porting the GNU system to the kernels of FreeBSD and NetBSD.
On the 20th anniversary of the GNU Project (January 5 2004), the Irish Free Software Organisation was founded to promote free software in Ireland.
=GNU software=
Some of the software developed by the GNU project are:
*System software **GNU_bison – parser generator intended to replace Yacc **Bash – Unix shell **Binary File Descriptor – object file Library (computer science) **Classpath – libraries for Java programming language **Coreutils – basic Unix utilities such as cat (Unix), Ls, and rm (Unix) **Emacs – extensible, self-documenting text editor **Glibc – Standard POSIX C programming language library, plus additional functionality **Gzip – a library and program for data compression **The GNU toolchain for software development: ***GNU Binutils – Assembler, Linker, and related tools ***GNU build system – Automake, Autoconf, Libtool ***GNU Compiler Collection – optimizing Compiler for many programming languages, including C programming language, C plus plus, Fortran, Ada programming language, and Java programming language ***GNU Debugger – Debugger **GNU MDK – a development kit for programming in MIX **GNU Screen – a terminal multiplexer **Texinfo – documentation system for producing online and printed manuals **GNU wget – advanced file retrieval from networks and the Internet **GNUnet – decentralized, peer-to-peer communication network designed to be resistant to censorship **DotGNU – replacement for Microsoft .NET **GNU Hurd – a microkernel-based set of servers that perform the same function as a Unix kernel *Application software **GIMP – GNU Image Manipulation Program **GLPK – package intended to solve linear programming (LP), mixed integer programming (MIP), and other related problems. **GNU Multi-Precision Library – arbitrary precision numerical calculation programming Library (computer science) **GNOME – graphical desktop environment **GNU LilyPond – a sheet music engraving program **GNU Octave – a program for numerical computations similar to MATLAB **GNU Privacy Guard – a free encryption tool which can replace PGP **GNU Robots – small but addictive game for computer programmers **GSL – the GNU Scientific Library **GNUstep – implementation of the OpenStep standard for a set of libraries and development tools for graphical applications **Guile – embeddable Scheme programming language interpreter
The GNU project also distributes and assists with the development of other packages which originated elsewhere, e.g.: *DDD – graphical frontend for debuggers *eCos – small operating system for embedded devices *Concurrent Versions System – source code control
As of January 2004, there are a total of 260 GNU packages hosted on the GNU hosting site [http://savanah.gnu.org/search/type_of_search=soft&words=%%%&type=1]. Others are hosted elsewhere.
=Speakers=
The following are official speakers for the GNU project [http://www.gnu.org/people/speakers.html]: *Robert J. Chassell *Loïc Dachary *Ricardo Galli *Georg Greve *Federico Heinz *Bradley Kuhn *Eben Moglen *Richard Stallman *David Sugar
=Recognition=
=See also=
*Free Software Foundation *Free software movement *Free content *Open standards *Copyleft *GFDL *List of GNU packages
= References =
=External links=
*[http://www.gnu.org/ Official Website] *[http://lists.gnu.org/mailman/listinfo/gnu-system-discuss/ gnu-system-discuss mailing list, technical discussion about the GNU system] *[http://www.nabble.com/Gnu-f1458.html GNU Forum] - A large external unofficial forum hosted by [http://www.nabble.com Nabble]. It archives many gnu projects mailing lists to allow easy browsing or search. *[http://www.gnu.org/gnu/initial-announcement.html Stallman s 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] *[http://www.gnu-friends.org/special/about GNU-friends, a discussion forum] *[http://unxutils.sourceforge.net/ Sourceforge ports of GNU utilities for Microsoft Windows] *[https://savannah.gnu.org/ Sourceforge-like site for GNU software development projects] *[http://www.kpitgnutools.com/ Free GNU Tools For Renesas]|
|