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. The GNU project includes an operating system kernel, GNU HURD, which was the original focus of the Free Software Foundation (FSF). Notwithstanding non-GNU kernels, most famously Linux, can additionally be used with GNU software; and after the kernel is the least mature part of GNU, this is how it is usually used. The combination of GNU software and the Linux kernel is commonly known as Linux (or less frequently GNU/Linux; see GNU/Linux naming controversy).
With the April 30, 2015 release of the Debian GNU/HURD 2015 distro, GNU OS now provides the components to assemble an operating system that users can instal and use on a computer. This includes the GNU Hurd kernel, that's currently in a pre-production state. The Hurd status page states that "it might not be ready for production use, as there are still a few bugs and missing features. Notwithstanding it should be a good base for further development and non-critical application usage."
Due to Hurd not being ready for production use, in practise these operating systems are Linux distributions. They contain the Linux kernel, GNU components and software from a large number of additional free software projects. Looking at all programme code contained in the Ubuntu Linux distribution in 2011, GNU encompassed eight percent and the Linux kernel 9%.
Richard Stallman, the founder of the project, views GNU as a "technical means to a social end" or in additional words is a technical avenue to pursue social justice. 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."
Development of the GNU operating system was initiated by Richard Stallman at the Massachusetts Institute of Technology (MIT) Artificial Intelligence Laboratory as a project called the GNU Project which was publicly announced on September 27, 1983, on the net.unix-wizards and net.usoft newsgroups by Richard Stallman. Software development began on January 5, 1984, when Stallman quit his job at the Lab so that they couldn't 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 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 additional 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 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 and Lisp 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 can 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 additionally 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; a few in their spare time, a few paid by companies, educational institutions, and additional 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 (coreutils), but additionally the GNU Debugger (GDB), GNU Binary Utilities (binutils), the GNU Bash shell and the GNOME desktop environment. GNU developers have contributed to Linux ports of GNU applications and utilities, which are now additionally widely used on additional operating systems such as BSD variants, Solaris and OS X.
Many GNU programmes have been ported to additional operating systems, including proprietary platforms such as Microsoft Windows and OS X. GNU programmes 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.
The official kernel of GNU Project was the GNU Hurd microkernel; however, as of 2012, 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.
Other kernels like the FreeBSD kernel additionally work together with GNU software to form a working operating system. The FSF maintains that the Linux kernel, when used with 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). The GNU Project has endorsed Linux distributions, such as gNewSense, Trisquel and Parabola GNU/Linux-libre. Other GNU variants which don't use the Hurd as a kernel 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. Notwithstanding this isn't required; package maintainers might retain copyright to the GNU packages they maintain, though after only the copyright holder might enforce the licence 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 licence 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 licence after his experience with James Gosling and a programme called UniPress, over a controversy around software code use in the GNU Emacs program. 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 licence they could use for all their software, and which can be used by non-GNU projects: the GNU General Public License (GPL).
This licence is now used by most of GNU software, as well as a large number of free software programmes that aren't part of the GNU Project; it is additionally the most commonly used free software license. It gives all recipients of a programme 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 additionally 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 user to run modified software on their own devices.
Besides GNU's own packages, the GNU Project's licences are used by a large number of 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 licenced under permissive free software licenses.
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 additionally used in Free Software Foundation materials.