aGnuDomain.net unplugged — By David Street, aNewDomain.net: You think you knew GNU. So do a lot of people. Richard Stallman does an amazing job in his GNU history and explainer to dispel myths about it.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux,” and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: The whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux …
Many users do not understand the difference between the kernel, which is Linux, and the whole system, which they also call “Linux.” The ambiguous use of the name doesn't help people understand. These users often think that Linus Torvalds developed the whole operating system in 1991, with a bit of help …
Programmers generally know that Linux is a kernel. But since they have generally heard the whole system called “Linux” as well, they often envisage a history that would justify naming the whole system after the kernel. For example, many believe that once Linus Torvalds finished writing Linux, the kernel, its users looked around for other free software to go with it, and found that (for no particular reason) most everything necessary to make a Unix-like system was already available …
They found an incomplete GNU, though. The free software was the end result only and solely, Stallman says, because the GNU Project was on a project to build it since the mid 1980s.
Read The GNU Manifesto. In it, Stallman and his fellows clearly spelled out their mission of creating a free, open-sounce (and Unix-like, in that) system. Do you recall the initial announcement back then? That initial announcement presciently set out the goals and plans for GNU.
But did you know that the GNU system was alm? By the time Linux was started, GNU was almost finished by the time Linus Torvalds started to work on his version of the Unix-like kernel, now known as Linux.
In his excellent piece on gnu.org, Stallman gives us a rhetorical well worth considering:
If we tried to measure the GNU Project's contribution in this way, what would we conclude? One CD-ROM vendor found that in their “Linux distribution,” GNU software was the largest single contingent, around 28% of the total source code, and this included some of the essential major components without which there could be no system. Linux itself was about 3 percent (then) … the proportions in 2008 (were) similar. Linux (was at) 1.5 percent and GNU packages were 15 percent … so if you were going to pick a name for the system based on who wrote the programs in the system, the most appropriate single choice would be “GNU.”
Note, again, as Stallman does, that the GNU Project never was a project for developing a text editor. "It was not a project to develop a C compiler, although we did that," he writes. "The GNU Project set out to develop a complete free Unix-like system: GNU."
Torvalds of course played a huge role. His Linux in 1992 completed GNU to create a combined Linux/GNU that was free, open, workable and extensible.
But keeping GNU/Linux distros free and available means keeping Linux free, too.
Bottom line, as Stallman points out, calling Linux the word "Linux" is confusing because it clouds the fact that, while the kernel in fact is Linux. But the system as a whole is GNU — plus Linux. Tell your friends. Education is good.
Good links to find out more include: