Recursive Acronym for GNU's Not Unix, a project working on the GNU OperatingSystem.

The GNU Project was founded by RichardStallman in 1984 to create a complete, completely Free OperatingSystem, GNU, based on the UNIX design but not strictly following it – its developers strive to improve on the original Unix designs. Development on the GNU system started with UserSpace software because you needed a free toolchain (compilers, linkers, assemblers etc.) to create an OperatingSystem. A benefit of this approach is being able to develop, test and run the programs on existing Unix systems. This helped to ensure all of the software could be used as a drop in replacement for existing Unix software, where neccessary. By about 1990, most of the OperatingSystem was developed, short of a decent Kernel. (They had small, crude kernels they used for development but nothing stable.) The GNU project developers were waiting for Mach to be released as FreeSoftware before they started working on TheHurd, which was supposed to be a collection of servers that ran over the Mach microkernel to provide a Unix-like Kernel.

Further delays with Mach and technical problems debugging Hurd set development back severely. In the meantime, LinusTorvalds started developing a small Unix-like kernel called Linux with the intention of making an OperatingSystem. (Linus took the opposite approach to the GNU project by starting on the Kernel). The Linux community began making Linux versions of GNU packages, but it took a while before any real cooperation took place in combining GNU and Linux (possibly due to poor communication, etc). With a little bit of glue, the LinuxKernel filled the gap in the GNU system and allowed people to run a complete Free OperatingSystem.

The GNU Project requests that the OperatingSystem be called GNU/Linux as opposed to just Linux (or just GNU); to quote the GNU/Linux FAQ:

Most operating system distributions based on Linux as kernel are basically modified versions of the GNU operating system. We began developing GNU in 1984, years before Linus Torvalds started to write his kernel. Our goal was to develop a complete free operating system. Of course, we did not develop all the parts ourselves--but we led the way. We developed most of the central components, forming the largest single contribution to the whole system. The basic vision was ours too.

In fairness, we ought to get at least equal mention.

Note that while the glibc, sysvinit, and a number of other crucial system components were made by the GNU project, that doesn't necessarily mean that the majority of UserSpace is made by the GNU project or is even under GPL/LGPL.

See also