To learn more about this issue, you can also read our page on Linux and the GNU Project, our page on Why GNU/Linux? and our page on GNU Users Who Have Never Heard of GNU.
When people see that we use and recommend the name GNU/Linux for a system that many others call just “Linux”, they ask many questions. Here are common questions, and our answers.
In fairness, we ought to get at least equal mention.
See Linux and the GNU System and GNU Users Who Have Never Heard of GNU for more explanation, and The GNU Project for the history.
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 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.
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.
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.
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).
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.
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.
The GNU Project was named after the GNU operating system—it's the project to develop the GNU system. (See the 1983 initial announcement.)
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 Ghostscript, GNUCash, GNU Chess and GNOME for the GNU system too.
The kernel is one of the programs in an operating system—the program that allocates the machine's resources to the other programs that are 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 time 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 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.
That standard is too strict, not the right way to judge the contributions of any contributor.
Linus Torvalds made an important contribution to the operating system we use; the GNU Project started earlier and contributed much more. The name “GNU/Linux” gives credit to each.
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.
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.”
The shortest legitimate name for this system is “GNU”, but we call it “GNU/Linux” for the reasons given below.
The name “GNU” does not visibly appear in “Glinux,” 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.
It only takes a second to say or type “GNU/”. If you appreciate the system that we developed, can't you take one second to recognize our work?
Actually, “GNU/Linux” is only four syllables. “Unfortunately” is five syllables, yet people show no sign of reluctance to use that word.
Omitting “Matthew” does not misrepresent anything important about Stallman's nature, origin, ideas or purpose. Omitting “GNU” does misrepresent those things about the GNU/Linux system.
This is an example of a frequent way of hiding a fallacy: to bury it inside a misleading analogy. A better analogy would be, “Why shouldn't we call Stallman ‘Torvalds’?”
So if you want to refer to the system simply as “GNU”, to avoid paying the fee for calling it “Linux”, we won't criticize you.
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. If 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).
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.
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.
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”.
Please pronounce it as “GNU slash Linux.” If you don't pronounce the slash, people will think you are saying “GNU Linux,” which is not a suitable name for the combination.
Following the rules of English, in the construction “GNU Emacs” the word “GNU” modifies “Emacs”. That is the right way to describe a program called Emacs which is a GNU package.
“GNU/Emacs” would mean the combination of GNU, the operating system, and the program Emacs. That doesn't fit this program, so “GNU/Emacs” is the wrong way to refer to it.
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.
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”.
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 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!
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.
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”. That wasn't right, and we don't want to act like that.
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.
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 <gnu@gnu.org>, 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.
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”.
The BSD system was developed by UC Berkeley as non-free software in the 80s, and 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 variant of GNU, as GNU/Linux is. It is not. 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 convince them to start, but the code had little overlap with GNU.
BSD systems today use some GNU packages, 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, so a name like GNU/BSD would not fit the situation.
The connection between GNU/Linux and GNU is much closer, and that's why the name “GNU/Linux” is appropriate for it.
There is a version of GNU which uses the kernel from NetBSD. Its developers call it “Debian GNU/NetBSD”, but “GNU/kernelofNetBSD” would be more accurate, since NetBSD is an entire system, not just the kernel. This is not a BSD system, since most of the system is the same as the GNU/Linux system.
GNU is an operating system maintained by a community. It includes far more than just the GNU software packages (of which we have a specific list), and people add more packages constantly. Despite these changes, it remains the GNU system, and adding Linux to that yields GNU/Linux. If you use part of the GNU system and omit part, there is no meaningful way to say “how much” you used.
If we look at the level of packages, Linux is one important package in the GNU/Linux system. The inclusion of one important GNU package is enough to justify our request for equal mention.
Android is very different from the GNU/Linux system—because the two have very little code in common. In fact, the only thing they have in common is Linux.
If you call the whole GNU/Linux system “Linux”, you will find it necessary to say things like, “Android contains Linux, but it isn't Linux, because it doesn't have the usual Linux [sic] libraries and utilities [meaning the GNU system].”
Android contains just as much of Linux as GNU/Linux does. What it doesn't have is the GNU system. Android replaces that with Google software that works quite differently. What makes Android different from GNU/Linux is the absence of GNU.
The public will find it very strange to speak of using Android as “using Linux”. It's like having a conversation, then saying you were conversing with the person's intestines or the person's circulatory system.
The public will understand the idea of “using Linux” when it's really GNU/Linux, by way of the usual misunderstanding: thinking of the whole system as “Linux”.
Use of Android and use of GNU/Linux are totally different, as different as driving a car and riding a bicycle. The fact that the first two both contain Linux is irrelevant to using them, just as the fact that a car and a bicycle both have a structure of metal is irrelevant to using those two. If you wish to talk about using cars and bikes, you wouldn't speak of “riding metal objects” — not unless you're playing games with the reader. You would say, “using cars and bikes.” Likewise, the clear way to talk about using GNU/Linux and Android is to say “using GNU/Linux and Android.”
Linus publicly states his disagreement with the free software movement's ideals. He developed non-free software in his job for many years (and said so to a large audience at a “Linux”World show), and publicly invited fellow developers of Linux, the kernel, to use non-free software to work on it with him. He goes even further, and rebukes people who suggest that engineers and scientists should consider social consequences of our technical work—rejecting the lessons society learned from the development of the atom bomb.
There is nothing wrong with writing a free program for the motivations of learning and having fun; the kernel Linus wrote for those reasons was an important contribution to our community. But those motivations are not the reason why the complete free system, GNU/Linux, exists, and they won't secure our freedom in the future. The public needs to know this. Linus has the right to promote his views; however, people should be aware that the operating system in question stems from ideals of freedom, not from his views.
He recognized this at the beginning. The earliest Linux release notes said, “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”.
Making the GNU Hurd work well enough to compete with Linux would be a big job, and it's not clearly necessary. The only thing ethically wrong with Linux as a kernel is its inclusion of firmware “blobs”; the best fix for that problem is developing free replacement for the blobs.
It is ineffective because it may not sink in, and surely will not propagate. Some of the people who hear your explanation will pay attention, and they may learn a correct picture of the system's origin. But they are unlikely to repeat the explanation to others whenever they talk about the system. They will probably just call it “Linux”. Without particularly intending to, they will help spread the incorrect picture.
It is inefficient because it takes a lot more time. Saying and writing “GNU/Linux” will take you only a few seconds a day, not minutes, so you can afford to reach far more people that way. Distinguishing between Linux and GNU/Linux when you write and speak is by far the easiest way to help the GNU Project effectively.
Why do we take the risk of making a request that sometimes leads people to ridicule us? Because often it has useful results that help the GNU Project. We will run the risk of undeserved abuse to achieve our goals.
If you see such an ironically unfair situation occurring, please don't sit idly by. Please teach the laughing people the real history. When they see why the request is justified, those who have any sense will stop laughing.
It makes no sense to worry about alienating people who are already mostly uncooperative, and it is self-defeating to be deterred from correcting a major problem lest we anger the people who perpetuate it. Therefore, we will continue trying to correct the misnomer.
Please note that there are at least two different BSD licenses. For clarity's sake, please don't use the term “BSD license” without specifying which one.
We hope you disagree with that premise just as we do.
We could never have developed a free operating system without first denying the belief, held by most people, that proprietary software was legitimate and acceptable.
We hope that you are one of those for whom right and wrong do matter.