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.
Although the developers of Linux, the kernel, are contributing to the free software community, many of them do not care about freedom. People who think the whole system is Linux tend to get confused and assign to those developers a role in the history of our community which they did not actually play. Then they give inordinate weight to those developers' views.
Calling the system GNU/Linux recognizes the role that our idealism played in building our community, and helps the public recognize the practical importance of these ideals.
The GNU operating system and the Linux kernel are separate software projects that do complementary jobs. Typically they are packaged in a GNU/Linux distribution, and used together.
Calling the system “Linux” is a confusion that has spread faster than the corrective information.
The people who combined Linux with the GNU system were not aware that that's what their activity amounted to. They focused their attention on the piece that was Linux and did not realize that more of the combination was GNU. They started calling it “Linux” even though that name did not fit what they had. It took a few years for us to realize what a problem this was and ask people to correct the practice. By that time, the confusion had a big head start.
Most of the people who call the system “Linux” have never heard why that's not the right thing. They saw others using that name and assume it must be right. The name “Linux” also spreads a false picture of the system's origin, because people tend to suppose that the system's history was such as to fit that name. For instance, they often believe its development was started by Linus Torvalds in 1991. This false picture tends to reinforce the idea that the system should be called “Linux”.
Many of the questions in this file represent people's attempts to justify the name they are accustomed to using.
Not always—only when you're talking about the whole system. When you're referring specifically to the kernel, you should call it “Linux”, the name its developer chose.
When people call the whole system “Linux”, as a consequence they call the whole system by the same name as the kernel. This causes many kinds of confusion, because only experts can tell whether a statement is about the kernel or the whole system. By calling the whole system “GNU/Linux”, and calling the kernel “Linux”, you avoid the ambiguity.
In that alternative world, there would be nothing today like the GNU/Linux system, and probably no free operating system at all. No one attempted to develop a free operating system in the 1980s except the GNU Project and (later) Berkeley CSRG, which has been specifically asked by the GNU Project to start freeing its code.
Linus Torvalds was partly influenced by a speech about GNU in Finland in 1990. It's possible that even without this influence he might have written a Unix-like kernel, but it probably would not have been free software. Linux became free in 1992 when Linus rereleased it under the GNU GPL. (See the release notes for version 0.12.)
Even if Torvalds had released Linux under some other free software license, a free kernel alone would not have made much difference to the world. The significance of Linux came from fitting into a larger framework, a complete free operating system: GNU/Linux.
When we ask people to say “GNU/Linux”, we are not dividing people. We are asking them to give the GNU Project credit for the GNU operating system. This does not criticize anyone or push anyone away.
However, there are people who do not like our saying this. Sometimes those people push us away in response. On occasion they are so rude that one wonders if they are intentionally trying to intimidate us into silence. It doesn't silence us, but it does tend to divide the community, so we hope you can convince them to stop.
However, this is only a secondary cause of division in our community. The largest division in the community is between people who appreciate free software as a social and ethical issue and consider proprietary software a social problem (supporters of the free software movement), and those who cite only practical benefits and present free software only as an efficient development model (the open source movement).
This disagreement is not just a matter of names—it is a matter of differing basic values. It is essential for the community to see and think about this disagreement. The names “free software” and “open source” are the banners of the two positions. See Why Open Source misses the point of Free Software.
The disagreement over values partially aligns with the amount of attention people pay to the GNU Project's role in our community. People who value freedom are more likely to call the system “GNU/Linux”, and people who learn that the system is “GNU/Linux” are more likely to pay attention to our philosophical arguments for freedom and community (which is why the choice of name for the system makes a real difference for society). However, the disagreement would probably exist even if everyone knew the system's real origin and its proper name, because the issue is a real one. It can only go away if we who value freedom either persuade everyone (which won't be easy) or are defeated entirely (let's hope not).
Yes, indeed, we believe you have a free speech right to call the operating system by any name you wish. We ask that people call it GNU/Linux as a matter of doing justice to the GNU project, to promote the values of freedom that GNU stands for, and to inform others that those values of freedom brought the system into existence.
Experience shows that the system's users and the computer-using public in general, often know nothing about the GNU system. Most articles about the system do not mention the name “GNU”, or the ideals that GNU stands for. GNU Users Who Have Never Heard of GNU explains further.
The people who say this are probably geeks thinking of the geeks they know. Geeks often do know about GNU, but many have a completely wrong idea of what GNU is. For instance, many think it is a collection of “tools”, or a project to develop tools.
The wording of this question, which is typical, illustrates another common misconception. To speak of “GNU's role” in developing something assumes that GNU is a group of people. GNU is an operating system. It would make sense to talk about the GNU Project's role in this or some other activity, but not that of GNU.
It's useful to shorten a frequently-used name, but not if the abbreviation is misleading.
Almost everyone in developed countries really does know that the “Windows” system is made by Microsoft, so shortening “Microsoft Windows” to “Windows” does not mislead anyone as to that system's nature and origin. Shortening “GNU/Linux” to “Linux” does give the wrong idea of where the system comes from.
The question is itself misleading because GNU and Microsoft are not the same kind of thing. Microsoft is a company; GNU is an operating system.
People who think that Linux is an entire operating system, if they hear about GNU at all, often get a wrong idea of what GNU is. They may think that GNU is the name of a collection of programs—often they say “programming tools”, since some of our programming tools became popular on their own. The idea that “GNU” is the name of an operating system is hard to fit into a conceptual framework in which that operating system is labeled “Linux”.
The GNU Project was named after the GNU operating system—it's the project to develop the GNU system.
We developed programs such as GCC, GNU Emacs, GAS, GLIBC, BASH, etc., because we needed them for the GNU operating system. GCC, the GNU Compiler Collection is the compiler that we wrote for the GNU operating system. We, the many people working on the GNU Project, developed Ghost script, GNU Cash, GNU Chess and GNOME for the GNU system too.
An operating system, as we use the term, means a collection of programs that are sufficient to use the computer to do a wide variety of jobs. A general purpose operating system, to be complete, ought to handle all the jobs that many users may want to do.
The kernel is one of the programs in an operating system—the program that allocates the machine's resources to the other programs that is running. The kernel also takes care of starting and stopping other programs.
To confuse matters, some people use the term “operating system” to mean “kernel”. Both uses of the term go back many years. The use of “operating system” to mean “kernel” is found in a number of textbooks on system design, going back to the 80s. At the same time, in the 80s, the “Unix operating system” was understood to include all the system programs, and Berkeley's version of UNIX included even games. Since we intended GNU to be a Unix-like operating system, we use the term “operating system” in the same way.
Most of the times when people speak of the “Linux operating system” they are using “operating system” in the same sense we use: they mean the whole collection of programs. If that's what you are referring to, please call it “GNU/Linux”. If you mean just the kernel, then “Linux” is the right name for it, but please say “kernel” also to avoid ambiguity about which body of software you mean.
If you prefer to use some other term such as “system distribution” for the entire collection of programs, instead of “operating system”, that's fine. Then you would talk about GNU/Linux system distributions.
A kernel is not much like the foundation of a house because building an operating system is not much like building a house.
A house is built from lots of little general parts that are cut and put together in situ. They have to be put together from the bottom up. Thus, when the foundation has not been built, no substantial part has been built; all you have is a hole in the ground.
By contrast, an operating system consists of complex components that can be developed in any order. When you have developed most of the components, most of the work is done. This is much more like the International Space Station than like a house. If most of the Space Station modules were in orbit but awaiting one other essential module, that would be like the GNU system in 1992.
A computer system is not much like a human body, and no part of it plays a role comparable to that of the brain in a human.
No, many components take a lot of work.
Many packaged and installable versions of GNU are available. None of them is called simply “GNU”, but GNU is what they basically are.
We expected to release the GNU system packaged for installation, but this plan was overtaken by events: in 1992 others were already packaging GNU variants containing Linux. Starting in 1993 we sponsored an effort to make a better and freer GNU/Linux distribution, called Debian GNU/Linux. The founder of Debian had already chosen that name. We did not ask him to call it just “GNU” because that was to be the name of a system version with the GNU Hurd kernel—which wasn't ready yet.
The GNU Hurd kernel never became sufficiently ready; we only recommend it to those interested in working on it. So we never packaged GNU with the GNU Hurd kernel. However, Debian packaged this combination as Debian GNU/Hurd.
We are now developing an advanced Scheme-based package manager called Guix and a complete system distribution based on it called the Guix System Distribution or GuixSD. This includes repackaging a substantial part of the GNU system.
We never took the last step of packaging GNU under the name “GNU”, but that doesn't alter what kind of thing GNU is. GNU is an operating system.
That practice seems to be very rare—we can't find any examples other than the misuse of the name “Linux”. Normally an operating system is developed as a single unified project, and the developers choose a name for the system as a whole. The kernel usually does not have a name of its own—instead, people say “the kernel of such-and-such” or “the such-and-such kernel”.
Because those two constructions are used synonymously, the expression “the Linux kernel” can easily be misunderstood as meaning “the kernel of Linux” and implying that Linux must be more than a kernel. You can avoid the possibility of this misunderstanding by saying or writing “the kernel, Linux” or “Linux, the kernel.”
There is no such thing as the “feel of Linux” because Linux has no user interfaces. Like any modern kernel, Linux is a base for running programs; user interfaces belong elsewhere in the system. Human interaction with GNU/Linux always goes through other programs, and the “feel” comes from them.
For a while we tried the name “LiNUx”, which combines the words “GNU” and “Linux”. The reaction was very bad. People accept “GNU/Linux” much better.
The shortest legitimate name for this system is “GNU”, but we call it “GNU/Linux”.
The name “GNU” does not visibly appear in “Linux,” so most people would not notice it is there. Even if it is capitalized as “GliNUx,” most people would not realize that it contains a reference to GNU.
It would be comparable to writing “GNU/Linux,” but putting “GNU/” in print so small that most people could not read it.
Actually, “GNU/Linux” is only four syllables. “Unfortunately” is five syllables, yet people show no sign of reluctance to use that word.
It would not be false to the facts, but it is not the best thing to do. Here are the reasons we call that system version “GNU/Linux” rather than just “GNU”:
There's nothing wrong in calling the system “GNU”; basically, that's what it is. It is nice to give Linus Torvalds a share of the credit as well, but you have no obligation to pay for the privilege of doing so.
Question 24. Many Other Projects Contributed To The System As It Is Today; It Includes Tex, X11, Apache, Perl, And Many More Programs. Don't Your Arguments Imply We Have To Give Them Credit Too? (but That Would Lead To A Name So Long It Is Absurd.)?
What we say is that you ought to give the system's principal developer a share of the credit. The principal developer is the GNU Project, and the system is basically GNU.
If you feel even more strongly about giving credit where it is due, you might feel that some secondary contributors also deserve credit in the system's name. Of so, far be it from us to argue against it. If you feel that X11 deserves credit in the system's name, and you want to call the system GNU/X11/Linux, please do. If you feel that Perl simply cries out for mention, and you want to write GNU/Linux/Perl, go ahead.
Since a long name such as GNU/X11/Apache/Linux/TeX/Perl/Python/FreeCiv becomes absurd, at some point you will have to set a threshold and omit the names of the many other secondary contributions. There is no one obvious right place to set the threshold, so wherever you set it, we won't argue against it.
Different threshold levels would lead to different choices of name for the system. But one name that cannot result from concerns of fairness and giving credit, not for any possible threshold level, is “Linux”. It can't be fair to give all the credit to one secondary contribution (Linux) while omitting the principal contribution (GNU).
Thousands of projects have developed programs commonly included in today's GNU/Linux systems. They all deserve credit for their contributions, but they aren't the principal developers of the system as a whole, so they don't ask to be credited as such.
GNU is different because it is more than just a contributed program, more than just a collection of contributed programs. GNU is the framework on which the system was made.
In 2008, we found that GNU packages made up 15% of the “main” repository of the gNewSense GNU/Linux distribution. Linux made up 1.5%. So the same argument would apply even more strongly to calling it “Linux”.
GNU is a small fraction of the system nowadays, and Linux is an even smaller fraction. But they are the system's core; the system was made by combining them. Thus, the name “GNU/Linux” remains appropriate.
GNU is not comparable to Red Hat or Novell; it is not a company, or an organization, or even an activity. GNU is an operating system. (When we speak of the GNU Project, that refers to the project to develop the GNU system.) The GNU/Linux system is based on GNU, and that's why GNU ought to appear in its name.
Much of those companies' contribution to the GNU/Linux system lies in the code they have contributed to various GNU packages including GCC and GNOME. Saying GNU/Linux gives credit to those companies along with all the rest of the GNU developers.
Following the rules of English, in the construction “GNU Linux” the word “GNU” modifies “Linux”. This can mean either “GNU's version of Linux” or “Linux, which is a GNU package.” Neither of those meanings fits the situation at hand.
Linux is not a GNU package; that is, it wasn't developed under the GNU Project's aegis or contributed specifically to the GNU Project. Linus Torvalds wrote Linux independently, as his own project. So the “Linux, which is a GNU package” meaning is not right.
We're not talking about a distinct GNU version of Linux, the kernel. The free GNU/Linux distros do have a separate version of Linux, since the “standard” version contains non-free firmware “blobs”. If this were part of the GNU Project, it could be considered “GNU Linux”; but we would not want to call it that, because it would be too confusing.
We're talking about a version of GNU, the operating system, distinguished by having Linux as the kernel. A slash fits the situation because it means “combination.” (Think of “Input/output”.) This system is the combination of GNU and Linux; hence, “GNU/Linux”.
There are other ways to express “combination”. If you think that a plus-sign is clearer, please use that. In French, a hyphen is clear: “GNU-Linux”. In Spanish, we sometimes say “GNU con Linux”.
It is right and proper to mention the principal contribution first. The GNU contribution to the system is not only bigger than Linux and prior to Linux, we actually started the whole activity.
In addition, “GNU/Linux” fits the fact that Linux is the lowest level of the system and GNU fills technically higher levels.
However, if you prefer to call the system “Linux/GNU”, that is a lot better than what people usually do, which is to omit GNU entirely and make it seem that the whole system is Linux.
Calling a system “Foobar Linux” implies that it's a flavor of “Linux,” and people understand it that way.
If they called a GNU/Linux distro “Foobar BSD,” you would call that a mistake. “This system is not BSD,” you would tell them. Well, it's not Linux either.
It means that the people who make the “Foobar Linux” distro are repeating the common mistake. We appreciate that distributions like Debian, Dragora, Musix, Trisquel, and Venenux have adopted GNU/Linux as part of their official name, and we hope that if you are involved with a different distribution, you will encourage it to do the same.
When they spread misinformation by changing “GNU” to “Linux”, and call their version of it “Foobar Linux”, it's proper for you to correct the misinformation by calling it “Foobar GNU/Linux”.
It isn't a choice of one or the other—we ask companies and organizations and individuals to help spread the word about this. In fact, we have asked all three of those companies. Mandrake said it would use the term “GNU/Linux” some of the time, but IBM and Red Hat were unwilling to help. One executive said, “This is a pure commercial decision; we expect to make more money calling it ‘Linux’.” In other words, that company did not care what was right.
We can't make them do this right, but we're not the sort to give up just because the road isn't easy. You may not have as much influence at your disposal as IBM or Red Hat, but you can still help. Together we can change the situation to the point where companies will make more profit calling it “GNU/Linux”.
The widespread practice of adding non-free software to the GNU/Linux system is a major problem for our community. It teaches the users that non-free software is ok, and that using it is part of the spirit of “Linux”. Many “Linux” User Groups make it part of their mission to help users use non-free add-ons, and may even invite salesmen to come and make sales pitches for them. They adopt goals such as “helping the users” of GNU/Linux (including helping them use non-free applications and drivers), or making the system more popular even at the cost of freedom.
The question is how to try to change this.
Given that most of the community which uses GNU with Linux already does not realize that's what it is, for us to disown these adulterated versions, saying they are not really GNU, would not teach the users to value freedom more. They would not get the intended message. They would only respond they never thought these systems were GNU in the first place.
The way to lead these users to see a connection with freedom is exactly the opposite: to inform them that all these system versions are versions of GNU, that they all are based on a system that exists specifically for the sake of the users' freedom. With this understanding, they can start to recognize the distributions that include non-free software as perverted, adulterated versions of GNU, instead of thinking they are proper and appropriate “versions of Linux”.
It is very useful to start GNU/Linux User Groups, which call the system GNU/Linux and adopt the ideals of the GNU Project as a basis for their activities. If the Linux User Group in your area has the problems described above, we suggest you either campaign within the group to change its orientation (and name) or start a new group. The people who focus on the more superficial goals have a right to their views, but don't let them drag you along!
All the “Linux” distributions are actually versions of the GNU system with Linux as the kernel. The purpose of the term “GNU/Linux” is to communicate this point. To develop one new distribution and call that alone “GNU/Linux” would obscure the point we want to make.
As for developing a distribution of GNU/Linux, we already did this once, when we funded the early development of Debian GNU/Linux. To do it again now does not seem useful; it would be a lot of work, and unless the new distribution had substantial practical advantages over other distributions, it would serve no purpose.
Instead we help the developers of 100% free GNU/Linux distributions, such as gNewSense and Ututo.
It might have been a good idea to adopt Linux as the GNU kernel back in 1992. If we had realized, then, how long it would take to get the GNU Hurd to work, we might have done that.
If we were to take an existing version of GNU/Linux and relabel it as “GNU”, that would be somewhat like making a version of the GNU system and labeling it “Linux”.
We did not adopt Linux as our kernel, but we didn't condemn or oppose it. In 1993 we started discussing the arrangements to sponsor the development of Debian GNU/Linux. We also sought to cooperate with the people who were changing some GNU packages for use with Linux. We wanted to include their changes in the standard releases so that these GNU packages would work out-of-the-box in combination with Linux. But the changes were often ad-hoc and no portable; they needed to be cleaned up for installation.
The people who had made the changes showed little interest in cooperating with us. One of them actually told us that he didn't care about working with the GNU Project because he was a “Linux user”. That came as a shock, because the people who ported GNU packages to other systems had generally wanted to work with us to get their changes installed. Yet these people, developing a system that was primarily based on GNU, were the first (and still practically the only) group that was unwilling to work with us.
It was this experience that first showed us that people were calling a version of the GNU system “Linux”, and that this confusion was obstructing our work. Asking you to call the system “GNU/Linux” is our response to that problem, and to the other problems caused by the “Linux” misnomer.
Actually we didn't. We began talking privately with developers and distributors about this in 1994, and made a more public campaign in 1996. We will continue for as long as it's necessary.
We never refer to individual programs as “GNU/name”. When a program is a GNU package, we may call it “GNU name”.
GNU, the operating system, is made up of many different programs. Some of the programs in GNU were written as part of the GNU Project or specifically contributed to it; these are the GNU packages, and we often use “GNU” in their names.
It's up to the developers of a program to decide if they want to contribute it and make it a GNU package. If you have developed a program and you would like it to be a GNU package, please write to <[email protected]>, so we can evaluate it and decide whether we want it.
It wouldn't be fair to put the name GNU on every individual program that is released under the GPL. If you write a program and release it under the GPL, that doesn't mean the GNU Project wrote it or that you wrote it for us. For instance, the kernel, Linux, is released under the GNU GPL, but Linus did not write it as part of the GNU Project—he did the work independently. If something is not a GNU package, the GNU Project can't take credit for it, and putting “GNU” in its name would be improper.
In contrast, we do deserve the overall credit for the GNU operating system as a whole, even though not for each and every program in it. The system exists as a system because of our determination and persistence, starting in 1984, many years before Linux was begun.
The operating system in which Linux became popular was basically the same as the GNU operating system. It was not entirely the same, because it had a different kernel, but it was mostly the same system. It was a variant of GNU. It was the GNU/Linux system.
Linux continues to be used primarily in derivatives of that system—in today's versions of the GNU/Linux system. What gives these systems their identity is GNU and Linux at the center of them, not particularly Linux alone.
Actually, none of GNU comes from UNIX. UNIX was proprietary software (and still is), so using any of its code in GNU would have been illegal. This is not a coincidence; this is why we developed GNU: since you could not have freedom in using UNIX, or any of the other operating systems of the day, we needed a free system to replace it. We could not copy programs, or even parts of them, from UNIX; everything had to be written afresh.
No code in GNU comes from UNIX, but GNU is a Unix-compatible system; therefore, many of the ideas and specifications of GNU do come from UNIX. The name “GNU”, which stands for “GNU's Not Unix”, is a humorous way of giving credit to UNIX for this, following a hacker tradition of recursive acronyms that started in the 70s.
The first such recursive acronym was TINT, “TINT Is Not TECO”. The author of TINT wrote another implementation of TECO (there were already many of them, for various systems), but instead of calling it by a dull name like “somethingorother TECO”, he thought of a clever amusing name. (That's what hacking means: playful cleverness.)
Other hackers enjoyed that name so much that we imitated the approach. It became a tradition that, when you were writing from scratch a program that was similar to some existing program (let's imagine its name was “Klever”), you could give it a recursive acronym name, such as “MINK” for “MINK Is Not Klever.” In this same spirit we called our replacement for Unix “GNU's Not Unix”.
Historically, AT&T which developed Unix did not want anyone to give it credit by using “Unix” in the name of a similar system, not even in a system 99% copied from Unix. AT&T actually threatened to sue anyone giving AT&T credit in that way. This is why each of the various modified versions of Unix (all proprietary, like Unix) had a completely different name that didn't include “Unix”.
GNU Related Tutorials
|ITIL Configuration Management Tutorial||Perl Scripting Tutorial|
|UML Tutorial||Python Tutorial|
|Django Tutorial||Git (software) Tutorial|
|Socket.IO Tutorial||Unix socket Tutorial|
GNU Related Interview Questions
|ITIL Configuration Management Interview Questions||Perl Scripting Interview Questions|
|UML Interview Questions||Python Interview Questions|
|Django Interview Questions||Git (software) Interview Questions|
|Socket Programming Interview Questions||UNIX Memory Management Interview Questions|
|Advanced Linux Interview Questions||Basic C Interview Questions|
|Unix socket Interview Questions||Secure Socket Layer Interview Questions|
|Firmware Development Interview Questions||Linux Shell Scripting Interview Questions|
All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd
Wisdomjobs.com is one of the best job search sites in India.