GNU
11875
225734799
2008-07-15T03:47:40Z
Chicago god
112915
Reverted edits by [[Special:Contributions/61.95.203.94|61.95.203.94]] to last version by RyRy (using [[WP:HG|Huggle]])
{{two other uses|the operating system|the animal|wildebeest||}}
{{ Infobox OS
| name = GNU
| logo = [[Image:Official gnu.svg|96px]]
| screenshot = [[Image:GNU screenshot.png|285px]]
| caption = Screenshot of [[GNOME]], [[Emacs|GNU Emacs]] and the [[GIMP]], all parts of GNU
| developer = [[GNU Project]]
| family = [[Unix-like]]
| latest_release_version = 0.2
| latest_release_date = [[1997]]<ref>{{cite web | author = The GNU Project | url = ftp://ftp.gnu.org/gnu/gnu-0.2/ | title = GNU 0.2 | date = [[1997]] | accessdate 1997}}</ref>
| source_model = [[Free software]]
| kernel_type = [[Microkernel]]
| license = [[GNU General Public License]] and other [[free software license]]s
| working_state = current
| website = http://www.gnu.org/
}}
'''GNU''' ([[help:pronunciation|pronounced]] {{Audio-IPA|En-gnu.ogg|/gnuː/}}) <!-- RMS confirms it's /gnu/, not /gənu/ --> is a computer [[operating system]] composed entirely of [[free software]]. Its name is a [[recursive acronym]] for ''GNU's Not Unix''; it was chosen because its design is [[Unix-like]], but differs from Unix by being free software and by not containing any [[Unix]] code.<ref>{{ cite web | url = http://www.gnu.org/ | title = The GNU Operating system | accessdate = 2006-12-11 }}</ref> Development of GNU was initiated by [[Richard Stallman]] and was the original focus of the [[Free Software Foundation]] (FSF).
The project to develop GNU is known as the ''[[GNU Project]]'', and programs released under the auspices of the GNU Project are called ''GNU packages'' or ''GNU programs''. The system's basic components include the [[GNU Compiler Collection]] (GCC), the [[GNU Binary Utilities]] (binutils), the [[bash]] shell, the [[GNU C library]] (glibc), and [[GNU Core Utilities]] (coreutils).
GNU is in active development. Although most components have been completed long ago and have been in production use for a decade or more, its official [[kernel (software)|kernel]], [[GNU Hurd]], is incomplete and not all GNU components work with it. For this reason, most GNU users, and users of GNU programs use the third-party [[Linux kernel]]. While Linux has not been officially adopted as the kernel of GNU, GNU does officially include other third party software such as the [[X.Org]] release of the [[X Window System]] and the [[TeX]] typesetting system. Many GNU programs have also been ported to numerous other operating systems such as [[Microsoft Windows]], [[Berkeley Software Distribution|BSD]] variants, [[Solaris Operating System|Solaris]] and [[Mac OS]].
The [[GNU General Public License]] (GPL), the [[GNU Lesser General Public License]] (LGPL), and the [[GNU Free Documentation License]] (GFDL) were written for GNU, but are also used by many unrelated projects.
== History ==
The plan for the GNU operating system was publicly announced on [[September 27]] [[1983]], on the net.unix-wizards and net.usoft [[newsgroup]]s by [[Richard Stallman]].<ref>{{ cite newsgroup | title = new UNIX implementation | first = Richard | last = Stallman | date = [[27 September]] [[1983]] | newsgroup = net.unix-wizards | newsgroup = net.usoft | id = 771@mit-eddie.UUCP | url = http://groups.google.com/group/net.unix-wizards/msg/4dadd63a976019d7 | accessdate = 2006-10-29 }}</ref> Software development began on [[January 5]], [[1984]], when Stallman quit his job at [[Massachusetts Institute of Technology]] so that they could not claim ownership or interfere with distributing GNU as free software. According to Stallman, the name was inspired by various plays on words, including the song ''[[The Gnu]]''.<ref>{{cite web|url=http://fsfeurope.org/documents/rms-fs-2006-03-09.en.html#the-name-gnu| title=Stallman explaining why the name "GNU" was chosen|publisher=FSFE|accessdate=2007-02-20|}}</ref>
The goal was to bring a wholly free software operating system into existence. Stallman wanted computer users to be free, as most were in the 1960s and 1970s: free to study the source code of the software they use, free to share the software with other people, free to modify the behaviour of the software, and free to publish their modified versions of the software. This philosophy was later published as the [[GNU Manifesto]] in March 1985.
Richard Stallman's experience with the [[Incompatible Timesharing System]] (ITS), an early operating system written in [[assembly language]] that became obsolete due to discontinuation of [[PDP-10]], the computer architecture that ITS was written for, led to a decision that a [[porting|portable]] system was necessary.<ref>{{cite web|url=http://fsfeurope.org/documents/rms-fs-2006-03-09.en.html#choosing-the-unix-design| title=Stallman describing why a Unix-like design was chosen|publisher=FSFE|accessdate=2007-02-20|}}</ref> It was thus decided that GNU would be mostly compatible with [[Unix]]. At the time, Unix was (and is) a popular [[proprietary software|proprietary]] operating system. The design of Unix had proven to be solid, and it was modular, so it could be reimplemented piece by piece.
Much of the needed software had to be written from scratch, but existing compatible free software components were used. Two examples were the [[TeX]] typesetting system, and the [[X Window System]]. Most of GNU has been written by volunteers; some in their spare time, some paid by companies, educational institutions, and other non-profit organizations. In October 1985, Stallman set up the [[Free Software Foundation]] (FSF). In the late 1980s and 1990s, the FSF hired software developers to write the software needed for GNU.
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]].
== Design and implementation ==
The initial plan for GNU was to be mostly Unix-compatible, while adding enhancements where they were useful. By 1990, the GNU system had an extensible [[text editor]] ([[Emacs]]), a very successful optimizing [[compiler]] ([[GNU Compiler Collection|GCC]]), and most of the core libraries and utilities of a standard Unix distribution. As the goal was to make a whole free operating system exist - rather than necessarily to write a whole free operating system - Stallman tried to use existing free software when possible. In the 1980s there was not much free software, but there was the [[X Window System]] for graphical display, the [[TeX]] typesetting system, and the [[Mach (kernel)|Mach]] microkernel. These components were integrated into GNU.
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 (operating system)|TRIX]]{{Fact|date=February 2008}}, a remote procedure call kernel developed at Massachusetts Institute of Technology, whose authors had decided to distribute it as free software, and was compatible with [[Version 7 Unix]]. 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 [[porting|ported]] to other architectures before it could be used.
The GNU Project's early plan was to adapt the BSD 4.4-Lite kernel for GNU. However, due to a lack of cooperation from the [[University of California, Berkeley|Berkeley]] programmers{{Fact|date=February 2008}}, by 1988 Stallman decided instead to use the [[Mach kernel]] being developed at [[Carnegie Mellon University]], although its release as free software was delayed until 1990 while its developers worked to remove code copyrighted to [[AT&T]]. Thomas Bushnell, the initial Hurd architect, said in hindsight that the decision to start a new kernel rather than adapt the BSD work set the project back considerably, and that the project should have used the BSD kernel for this reason.<ref>{{cite web | url = http://www.groklaw.net/article.php?story=20050727225542530 | title = The Hurd and BSDI|accessdate = 2006-08-08 | author = Peter H. Salus | work = The Daemon, the GNU and the Penguin | quote = It is now perfectly obvious to me that this would have succeeded splendidly and the world would be a very different place today. }}</ref>
The design of the kernel was to be GNU's largest departure from "traditional" Unix. GNU's kernel was to be a multi-server [[microkernel]], and was to consist of a set of programs called servers that offers the same functionality as the traditional Unix kernel. Since the Mach microkernel, by design, 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 [[Thomas Bushnell]] later preferred the name Hurd, so the Alix name was moved to a subsystem and eventually dropped completely.<ref>[http://www.gnu.org/gnu/thegnuproject.html About the GNU Project - GNU Project - Free Software Foundation (FSF)<!-- Bot generated title -->]</ref> Eventually, development progress of the Hurd became very slow due to ongoing technical issues.<ref>{{cite web|url=http://fsfeurope.org/documents/rms-fs-2006-03-09.en.html#gnu-and-linux|title=Stallman describing Hurd progress|quote=it took many many many years to get this kernel to run at all, and it still doesn't run well, and it looks like there may be fundamental problems with this design, which nobody knew about back in 1990.}}</ref>
Despite an optimistic announcement by Stallman in 2002 predicting a release of GNU/Hurd,<ref>{{cite web | url = http://www.pcworld.com/news/article/0,aid,88464,00.asp | title = Free Software Sees Gnu Loose of Linux | accessdate = 2006-08-08 | author = John Ribeiro | publisher = [[PC World (magazine)|PC World]] |date=2002-03-11}}</ref> further development and design are still required. The latest release of the Hurd is version 0.2. It is fairly stable, suitable for use in non-critical applications. [[As of 2005]], 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]], [[NetBSD]], and [[OpenSolaris]].
After the [[Linux kernel]] became usable, [[Linux]] became the most common host for GNU software. The GNU project coined the term ''GNU/Linux'' for such systems.
{{see also|GNU/Linux naming controversy}}
== Copyright, licenses, and stewardship ==
The GNU Project suggests contributors assign the copyright for GNU packages to the Free Software Foundation <ref>[http://www.gnu.org/prep/maintain/html_node/Copyright-Papers.html Copyright Papers - Information For Maintainers of GNU Software<!-- Bot generated title -->]</ref> although this is not required.<ref>[http://www.gnu.org/licenses/why-assign.html Why the FSF gets copyright assignments from contributors - GNU Project - Free Software Foundation (FSF)<!-- Bot generated title -->]</ref>
Ordinarily, copyright law prohibits people from copying and distributing a work, but FSF wrote a license for the GNU software which grant recipients permission to copy and redistribute the software. For most of the 80s, each GNU package had its own license - the Emacs General Public License, the GCC General Public License, etc. In 1989, FSF published a single license they could use for all their software, and which could be used by non-GNU projects: the [[GNU General Public License]] (GPL).
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 the most commonly used [[free software license]]. 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 often referred to as [[copyleft]].
In 1991, the [[GNU Lesser General Public License]] (LGPL) was written for certain libraries. 1991 also saw the release of version 2 of the GNU GPL. The [[GNU Free Documentation License]] (FDL), for documentation, followed in 2000. The GPL and LGPL were revised to version 3 in 2007, improving their international applicability, and adding protection for users whose hardware restricts software changes.
Most GNU software is distributed under the GPL. A minority is distributed under the LGPL, and a handful of packages are distributed under [[permissive free software licences]].<ref>[http://slashdot.org/comments.pl?sid=225606&cid=18272276 What the GPLv3 Means for MS-Novell Agreement<!-- Bot generated title -->]</ref>
== GNU software ==
{{main|List of GNU packages}}
Prominent components of the GNU system include the [[GNU Compiler Collection]] (GCC), the [[GNU C Library]] (glibc), the [[GNU Emacs]] [[text editor]], and the [[GNOME]] [[desktop environment]].
Many GNU programs have been ported to a multitude of other operating systems, including various [[proprietary software|proprietary]] platforms such as [[Microsoft Windows]] and [[Mac OS X]]. They are often installed on proprietary [[Unix|UNIX]] systems as a replacement for proprietary utilities, however, this is often a hot topic among enthusiasts, as the motive for developing these programs was to replace those systems with free software, not to enhance them. These GNU programs have in contested cases been tested to show as being more reliable than their proprietary Unix counterparts.<ref>http://ftp.cs.wisc.edu/pub/paradyn/technical_papers/fuzz-revisited.ps</ref>
As of 2007, there are a total of 319 GNU packages hosted on the official GNU development site.<ref>[http://savannah.gnu.org/stats/ Statistics [Savannah]<!-- Bot generated title -->]</ref>
== Distributions of GNU ==
Usage with the [[Linux kernel]] is by far the most popular distribution vector for GNU software, though the [[Linux kernel]] is not itself part of GNU.
Other [[GNU variants]] which do not use the [[GNU Hurd|Hurd]] as a kernel include Debian GNU/kFreeBSD and Debian GNU/NetBSD from Debian, [[Nexenta OS]] (GNU plus the kernel of [[OpenSolaris]]) and [[GNU-Darwin]]. GNU itself is distributed as [[Debian GNU/Hurd]] by the Debian project, and a [[Live CD]] is also available from [http://superunprivileged.org/ Superunprivileged.org].
== GNU Logo ==
The logo for GNU is a [[wildebeest|gnu]] head. The well-known drawing was originally done by [[Etienne Suvasa]]. It appears in GNU software and in printed and electronic documentation for the GNU project, and is also used in Free Software Foundation materials.[http://www.gnu.org/graphics/agnuhead.html]
== See also ==
{{portal|Free software|Free Software Portal Logo.svg}}
* [[Open Source history]]
* [[Free software movement]]
* [[GNU Free Documentation License]]
* [[GNU Project]]
* [[List of GNU packages]]
== References ==
{{reflist|2}}
== External links ==
{{Commons}}
* [http://www.gnu.org/ Official website]
* [http://unxutils.sourceforge.net/ Ports of GNU utilities for Microsoft Windows]
* [http://www.verbumvanum.org/pesalus/ The daemon, the GNU and the penguin]
* [http://www.gnu.org/gnu/gnu-user-groups.html GNU User Groups]
* [irc://irc.gnu.org/gnu #gnu] IRC channel
{{Unix-like}}
{{GNU|state=expand}}
{{FLOSS}}
{{Operating System}}
[[Category:Computing acronyms]]
[[Category:GNU project]]
[[Category:GNU project software]]
[[Category:Unix]]
[[Category:Free software operating systems]]
{{Link FA|ar}}
[[af:GNU]]
[[ar:جنو]]
[[az:GNU]]
[[bs:GNU]]
[[bg:ГНУ]]
[[ca:GNU]]
[[da:GNU]]
[[de:GNU]]
[[et:GNU]]
[[el:GNU]]
[[es:GNU]]
[[eo:GNU]]
[[eu:GNU]]
[[fa:گنو]]
[[fr:GNU]]
[[gl:GNU]]
[[ko:GNU]]
[[hr:GNU]]
[[ilo:GNU]]
[[id:GNU]]
[[is:GNU]]
[[it:GNU]]
[[he:גנו (מערכת הפעלה)]]
[[ku:GNU]]
[[lv:GNU]]
[[lt:GNU]]
[[hu:GNU]]
[[mk:ГНУ]]
[[ms:GNU]]
[[nah:GNU]]
[[nl:GNU]]
[[ja:GNU]]
[[no:GNU]]
[[uz:GNU]]
[[pl:GNU]]
[[ro:GNU]]
[[ru:GNU]]
[[sq:GNU]]
[[simple:GNU]]
[[sk:GNU]]
[[sl:GNU]]
[[sr:ГНУ]]
[[fi:GNU]]
[[sv:GNU]]
[[tl:GNU]]
[[th:กนู]]
[[tr:GNU]]
[[uk:GNU]]
[[vec:GNU]]
[[yi:GNU]]
[[zh:GNU]]