Linux and the GNU Project

Status
Not open for further replies.

naveenchandran

In the zone
For all those who say Linux System from here on please call it as the GNU/Linux System. It was because of these two combination we have a wonderful OS today.

[For those who are not aware of this...]

Linux and the GNU Project

Many computer users run a modified version of the GNU system (18k characters) every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is more often known as ``Linux'', and many users are not aware of the extent of its connection with the GNU Project.

There really is a Linux, and these people are using it, but it is not the operating system. 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 a combination with the GNU operating system: the whole system is basically GNU, with Linux functioning as its kernel.

Many users are not fully aware of the distinction between the kernel, which is Linux, and the whole system, which they also call ``Linux''. The ambiguous use of the name doesn't promote understanding. 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.

What they found was no accident--it was the not-quite-complete GNU system. The available free software added up to a complete system because the GNU Project had been working since 1984 to make one. In the The GNU Manifesto (31k characters) we set forth the goal of developing a free Unix-like system, called GNU. The Initial Announcement of the GNU Project also outlines some of the original plans for the GNU system. By the time Linux was written, GNU was almost finished.

Most free software projects have the goal of developing a particular program for a particular job. For example, Linus Torvalds set out to write a Unix-like kernel (Linux); Donald Knuth set out to write a text formatter (TeX); Bob Scheifler set out to develop a window system (the X Window system). It's natural to measure the contribution of this kind of project by specific programs that came from the project.

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%. 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''.

But we don't think that is the right way to consider the question. The GNU Project was not, is not, a project to develop specific software packages. It was not a project to develop a C compiler, although we did that. It was not a project to develop a text editor, although we developed one. The GNU Project's aim was to develop a complete free Unix-like system: GNU.

Many people have made major contributions to the free software in the system, and they all deserve credit. But the reason it is an integrated system--and not just a collection of useful programs--is because the GNU Project set out to make it one. We made a list of the programs needed to make a complete free system, and we systematically found, wrote, or found people to write everything on the list. We wrote essential but unexciting (1) components because you can't have a system without them. Some of our system components, the programming tools, became popular on their own among programmers, but we wrote many components that are not tools (2). We even developed a chess game, GNU Chess, because a complete system needs good games too.

By the early 90s we had put together the whole system aside from the kernel (and we were also working on a kernel, the GNU Hurd, which runs on top of Mach). Developing this kernel has been a lot harder than we expected; the GNU Hurd started working reliably in 2001. We're now starting to prepare the actual release of the GNU system, with the GNU Hurd.

Fortunately, we didn't have to wait for the Hurd, because Linux was available. When Linus Torvalds wrote Linux, he filled the last major gap. People could then put Linux together with the GNU system to make a complete free system: a Linux-based version of the GNU system; the GNU/Linux system, for short. The earliest Linux release notes recognized that Linux was a kernel, used with parts of GNU: "Most of the tools used with linux are GNU software and are under the GNU copyleft. These tools aren't in the distribution - ask me (or GNU) for more info."

Putting them together sounds simple, but it was not a trivial job. Some GNU components(3) needed substantial change to work with Linux. Integrating a complete system as a distribution that would work ``out of the box'' was a big job, too. It required addressing the issue of how to install and boot the system--a problem we had not tackled, because we hadn't yet reached that point. The people who developed the various system distributions made a substantial contribution.

The GNU Project supports GNU/Linux systems as well as the GNU system--even with funds. We funded the rewriting of the Linux-related extensions to the GNU C library, so that now they are well integrated, and the newest GNU/Linux systems use the current library release with no changes. We also funded an early stage of the development of Debian GNU/Linux.

We use Linux-based GNU systems today for all of our work, and we hope you will use them too. Today there are many different variants of the GNU/Linux system (often called ``distros''). Most of them include non-free software--their developers follow the philosophy associated with Linux rather than that of GNU. But there are also completely free GNU/Linux distros.

Whether you use GNU/Linux or not, please don't confuse the public by using the name ``Linux'' ambiguously. Linux is the kernel, one of the essential major components of the system. The system as a whole is more or less the GNU system, with Linux added. When you're talking about this combination, please call it ``GNU/Linux''.

If you want to make a link on ``GNU/Linux'' for further reference, this page and *www.gnu.org/gnu/the-gnu-project.html are good choices. If you mention Linux, the kernel, and want to add a link for further reference, *foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?Linux is a good URL to use.

Addendum: Aside from GNU, one other project has independently produced a free Unix-like operating system. This system is known as BSD, and it was developed at UC Berkeley. It was non-free in the 80s, but became free in the early 90s. A free operating system that exists today is almost certainly either a variant of the GNU system, or a kind of BSD system.

People sometimes ask whether BSD too is a version of GNU, like GNU/Linux. The BSD developers were inspired to make their code free software by the example of the GNU Project, and explicit appeals from GNU activists helped persuade them, but the code had little overlap with GNU. BSD systems today use some GNU programs, just as the GNU system and its variants use some BSD programs; however, taken as wholes, they are two different systems that evolved separately. The BSD developers did not write a kernel and add it to the GNU system, and a name like GNU/BSD would not fit the situation.

*www.gnu.org/gnu/linux-and-gnu.html
 

praka123

left this forum longback
I believe most of us are aware of this.but are not much worried of calling GNU/Linux giving the GNU the reward it deserves.
*en.wikipedia.org/wiki/GNU/Linux_naming_controversy
 

ujjwal

Padawan
Linux is the kernel which interacts with the hardware, GNU is the set of utilities and shells which make it possible to access the system easily, X Windows is the environment providing a more advanced input/output system (used by most users), KDE/Gnome are desktop environments which integrate a lot of software to provide a user friendy environment to work in. To accurately describe an average linux system, you probably need to call it KDE/X/GNU/Linux, or KXGLU? (adding a U for Unix like). If freedesktop.org standards become widely adopted, you will need to work in FD.O somewhere into the name as well :D

I always call these distributions "Linux distributions", and probably will continue to do so. Its a little vague, but easier to say :D

You can even replace a lot of the GNU utilities used in a linux distribution by something like uclibc,busybox etc.
 

GNUrag

FooBar Guy
No, this is such a controvercial topic.
The point is whom to give credit and whom not to give.
I do feel calling everything Linux would be an overkill
There are several distributions build around GNU that would be worth a shot 3 years down the line.

like say Debian's KFreeBsd, Hurd projects which are devoid of any linux kernel/modules.

But then GNU/Linux is an Operating System... and i operate my system using GNOME sometimes... so, i'd rather call it the GNOME Operating System ... or the Bash Operating System when i'm on CLI :) :)
 

vignesh

Wise Old Owl
Thats...True...Thats why I call it by the name of the flavour I use....Eg Ubuntu or Breezy that sound more cool... :D
 

desertwind

Cyborg Agent
When referring to the Operating System in whole, I'd rather use GNU/Linux.

But when pointing a distro, I use it's native name. Like FC4, Ubuntu...
 

Satissh S

Youngling
I would continue to call it GNU/Linux b'coz GNU utils along with the kernel forms the OS. I feel that calling it linux alone wud be unfair on the works done by Richard. Aftr all he was the one who wrote gcc, which has become the root for FOSS model of software development.
 
Status
Not open for further replies.
Top Bottom