Katana VentraIP

GNU Project

The GNU Project (/ɡn/ )[3] is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and computing devices by collaboratively developing and publishing software that gives everyone the rights to freely run the software, copy and distribute it, study it, and modify it. GNU software grants these rights in its license.

Not to be confused with the software collection developed by the GNU Project, GNU.

In order to ensure that the entire software of a computer grants its users all freedom rights (use, share, study, modify), even the most fundamental and important part, the operating system (including all its numerous utility programs) needed to be free software. Stallman decided to call this operating system GNU (a recursive acronym meaning "GNU's not Unix!"), basing its design on that of Unix, a proprietary operating system.[4] According to its manifesto, the founding goal of the project was to build a free operating system, and if possible, "everything useful that normally comes with a Unix system so that one could get along without any software that is not free." Development was initiated in January 1984. In 1991, the Linux kernel appeared, developed outside the GNU project by Linus Torvalds,[5] and in December 1992 it was made available under version 2 of the GNU General Public License.[6] Combined with the operating system utilities already developed by the GNU project, it allowed for the first operating system that was free software, commonly known as Linux.[7][8]


The project's current work includes software development, awareness building, political campaigning, and sharing of new material.

Origins[edit]

Richard Stallman announced his intent to start coding the GNU Project in a Usenet message in September 1983.[9] Despite never having used Unix prior, Stallman felt that it was the most appropriate system design to use as a basis for the GNU Project, as it was portable and "fairly clean".[10]


When the GNU project first started they had an Emacs text editor with Lisp for writing editor commands, a source level debugger, a yacc-compatible parser generator, and a linker.[11] The GNU system required its own C compiler and tools to be free software, so these also had to be developed. By June 1987, the project had accumulated and developed free software for an assembler, an almost finished portable optimizing C compiler (GCC), an editor (GNU Emacs), and various Unix utilities (such as ls, grep, awk, make and ld).[12] They had an initial kernel that needed more updates.


Once the kernel and the compiler were finished, GNU was able to be used for program development. The main goal was to create many other applications to be like the Unix system. GNU was able to run Unix programs but was not identical to it. GNU incorporated longer file names, file version numbers, and a crashproof file system. The GNU Manifesto was written to gain support and participation from others for the project. Programmers were encouraged to take part in any aspect of the project that interested them. People could donate funds, computer parts, or even their own time to write code and programs for the project.[4]


The origins and development of most aspects of the GNU Project (and free software in general) are shared in a detailed narrative in the Emacs help system. (C-h g runs the Emacs editor command describe-gnu-project.) It is the same detailed history as at their web site.

Free software[edit]

The GNU project uses software that is free for users to copy, edit, and distribute. It is free in the sense that users can change the software to fit individual needs. The way programmers obtain the free software depends on where they get it. The software could be provided to the programmer from friends or over the Internet, or the company a programmer works for may purchase the software.

Funding[edit]

Proceeds from associate members, purchases, and donations support the GNU Project.[15]

GNU packages[24] (except for GNU Hurd)
The GNU packages consist of numerous operating system tools and utilities (shell, coreutils, compilers, libraries, etc.)[23][24] including a library implementation of all of the functions specified in POSIX System Application Program Interface (POSIX.1).[25][26] The GCC compiler can generate machine-code for a large variety of computer-architectures.[27]

[23]

– this implements program scheduling, multitasking, device drivers, memory management, etc. and allows the system to run on a large variety of computer-architectures.[28] Linus Torvalds released the Linux kernel under the GNU General Public License in 1992;[29] it is however not part of the GNU project.[30][31][32][33]

Linux kernel

non-GNU programs – various free software packages which are not a part of the GNU Project but are released under the or another FSF-approved Free Software License.

GNU General Public License

Recognition[edit]

In 2001, the GNU Project received the USENIX Lifetime Achievement Award for "the ubiquity, breadth, and quality of its freely available redistributable and modifiable software, which has enabled a generation of research and commercial development".[43]

Free Software Foundation

GNU Free Documentation License

List of GNU packages

9965 GNU

Edit this at Wikidata

Official website

The GNU Free Software Directory

GNU Enterprise