is an extensive collection of free software
, which can be used as an operating system or can be used in parts with other operating systems.
The use of the completed GNU tools led to the family of operating systems popularly known as Linux
. Most of GNU is licensed under the GNU Project
's own General Public License (GPL
GNU is also the project within which the free software concept originated. Richard Stallman
, the founder of the project, views GNU as a "technical means to a social end". Relatedly, Lawrence Lessig
states in his introduction to the second edition of Stallman's book ''Free Software, Free Society
'' that in it Stallman has written about "the social aspects of software and how Free Software can create community and social justice".
''GNU'' is a recursive acronym
for "GNU's Not Unix!",
chosen because GNU's design is Unix-like
, but differs from Unix
by being free software and containing no Unix code.
Development of the GNU operating system was initiated by Richard Stallman
while he worked at MIT Artificial Intelligence Laboratory
. It was called the GNU Project
, and was publicly announced on September 27, 1983, on the net.unix-wizards and net.usoft newsgroup
s by Stallman. Software development began on January 5, 1984, when Stallman quit his job at the Lab so that they could not claim ownership or interfere with distributing GNU components as free software.
Richard Stallman chose the name by using various plays on words, including the song ''The Gnu
The goal was to bring a completely free software operating system into existence. Stallman wanted computer users to be free to study the source code of the software they use, share software with other people, modify the behavior of software, and publish their modified versions of the software. This philosophy was published as the GNU Manifesto
in March 1985.
Richard Stallman's experience with the Incompatible Timesharing System
an early operating system written in assembly language
that became obsolete due to discontinuation of PDP-10
, the computer architecture for which ITS was written, led to a decision that a portable
system was necessary.
It was thus decided that the development would be started using C
as system programming languages, and that GNU would be compatible with Unix. At the time, Unix was already a popular proprietary
operating system. The design of Unix was modular, so it could be reimplemented piece by piece.
Much of the needed software had to be written from scratch, but existing compatible third-party free software components were also used such as the TeX
typesetting system, the X Window System
, and the Mach
microkernel that forms the basis of the GNU Mach
core of GNU Hurd
(the official kernel of GNU).
With the exception of the aforementioned third-party components, 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
The system's basic components include the GNU Compiler Collection
(GCC), the GNU C library
(glibc), and GNU Core Utilities
but also the GNU Debugger
(GDB), GNU Binary Utilities
(binutils), the GNU Bash
GNU developers have contributed to Linux port
s of GNU applications and utilities, which are now also widely used on other operating systems such as BSD
Many GNU programs have been ported to other operating systems, including proprietary
platforms such as Microsoft Windows
and macOS. GNU programs have been shown to be more reliable than their proprietary Unix counterparts.
As of November 2015, there are a total of 466 GNU packages (including decommissioned, 383 excluding) hosted on the official GNU development site.
GNU as an operating system
In its original meaning
, and one still common in hardware engineering, the operating system is a basic set of functions to control the hardware and manage things like task scheduling
and system call
s. In modern terminology used by software developers, the collection of these functions is usually referred to as a kernel
, while an 'operating system' is expected to have a more extensive set of programmes. The GNU project maintains two kernels itself, allowing the creation of pure GNU operating systems, but the GNU toolchain is also used with non-GNU kernels. Due to the two different definitions of the term 'operating system', there is an ongoing debate concerning the naming of distributions of GNU packages with a non-GNU kernel
. (See below.)
With kernels maintained by GNU and FSF
The original kernel of GNU Project is the GNU Hurd
microkernel, which was the original focus of the Free Software Foundation
[Vaughan-Nichols, Steven J.]
Opinion: The top 10 operating system stinkers
, ''Computerworld'', April 9, 2009: "... after more than 25 years in development, GNU remains incomplete: its kernel, Hurd, has never really made it out of the starting blocks. ... Almost no one has actually been able to use the OS; it's really more a set of ideas than an operating system."
With the April 30, 2015 release of the Debian GNU/Hurd 2015 distro, GNU now provides all required components to assemble an operating system that users can install and use on a computer.
However, the Hurd kernel is not yet considered production-ready but rather a base for further development and non-critical application usage.
As of 2012, a fork of the Linux kernel
became officially part of the GNU Project in the form of Linux-libre
, a variant of Linux with all proprietary components removed.
The GNU Project has endorsed Linux-libre distributions, such as gNewSense
and Parabola GNU/Linux-libre
With non-GNU kernels
Because of the development status of Hurd, GNU is usually paired with other kernels such as Linux
. Whether the combination of GNU libraries with external kernels is a GNU operating system with a kernel (e.g. GNU with Linux), because the GNU collection renders the kernel into a usable operating system as understood in modern software development, or whether the kernel is an operating system unto itself with a GNU layer on top (i.e. Linux with GNU), because the kernel can operate a machine without GNU, is a matter of ongoing debate. The FSF maintains that an operating system built using the Linux kernel
and GNU tools and utilities should be considered a variant of GNU
, and promotes the term ''GNU/Linux'' for such systems (leading to the GNU/Linux naming controversy
). This view is not exclusive to the FSF. Notably, Debian
, one of the biggest and oldest Linux distributions, refers to itself as ''Debian GNU/Linux''.
Other GNU variants which do not use FSF kernels include Debian GNU/kFreeBSD
and Debian GNU/NetBSD, bringing to fruition the early plan of GNU on a BSD kernel.
Copyright, GNU licenses, and stewardship
The GNU Project recommends that contributors assign the copyright for GNU packages to the Free Software Foundation, though the Free Software Foundation considers it acceptable to release small changes to an existing project to the public domain
. However, this is not required; package maintainers may retain copyright to the GNU packages they maintain, though since only the copyright holder may enforce the license used (such as the GNU GPL), the copyright holder in this case enforces it rather than the Free Software Foundation.
For the development of needed software, Stallman wrote a license called the GNU General Public License
(first called Emacs General Public License), with the goal to guarantee users freedom to share and change free software. Stallman wrote this license after his experience with James Gosling
and a program called UniPress, over a controversy around software code use in the GNU Emacs
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
This license is now used by most of GNU software, as well as a large number of free software programs that are not part of the GNU Project; it also historically has been the most commonly used free software license
(though recently challenged by the MIT 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), then known as the Library General Public License, was written for the GNU C Library
to allow it to be linked with proprietary software. 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, adding clauses to protect users against hardware restrictions
that prevent users from running modified software on their own devices.
Besides GNU's packages, the GNU Project's licenses are used by many unrelated projects, such as the Linux kernel
, often used with GNU software. A minority of the software used by most of Linux distributions
, such as the X Window System, is licensed under permissive free software license
The logo for GNU is a gnu
head. Originally drawn by Etienne Suvasa, a bolder and simpler version designed by Aurelio Heckert is now preferred. It appears in GNU software and in printed and electronic documentation for the GNU Project, and is also used in Free Software Foundation materials.
The image shown here is a modified version of the official logo. It was created by the Free Software Foundation
in September 2013 to commemorate the 30th anniversary of the GNU Project
* Free software movement
* History of free and open-source software
* List of computing mascots
* :Category:Computing mascots
Ports of GNU utilities for Microsoft WindowsThe daemon, the GNU and the penguin
Category:Free software operating systems
Category:GNU Project software
Category:Microkernel-based operating systems