Advertisement

GNU/Linux naming controversy

From Academic Kids

Missing imageGnu-and-penguin-color-300x276.png

FSF artwork of the gnu (GNU mascot) and the penguinTux (Linux kernel mascot) representing "GNU/Linux". The GNU General Public License, which is used by Linux as well as most GNU software, armors both characters.

For historical and other reasons, most people use the term "Linux" for the whole system, one notable exception being Debian GNU/Linux.

The main argument for "GNU/Linux" is that Linus Torvalds' kernel was only the final small part of an otherwise complete system, GNU, written and assembled over many years with the explicit goal of creating an integrated free operating system.

The disagreement over the naming is related to a general debate over the primary purpose of free software: the free software movement, led by the FSF, emphasizes the "free" (as in freedom) aspect of software as an important right akin to freedom of speech, in contrast with the open source movement's argument that higher-quality software is the main goal. The FSF argues that the "GNU/Linux" name is important to credit the importance of their philosophy in addition to their technical work.

The controversy is also a reflection of a wider confusion between Linux the kernel and Linux the operating system as a whole — of which the kernel is typically only a small part.

History

The history of Linux is closely tied to that of GNU, which began the development of a complete Unix-like operating system composed entirely of free software in January 1984. By 1991, when the first version of the Linux kernel was released, the GNU operating system was almost complete. The early Linux kernel developers adapted Linux specifically to work with the GNU toolchain. Linux thus filled the last major gap in the GNU operating system. However, the GNU kernel, GNU Hurd, was still in its infancy. The Hurd followed an ambitious design which proved unexpectedly difficult to implement and has only been marginally usable.

In 1992, the Yggdrasil distribution adopted the name "Linux/GNU/X". The name "GNU/Linux" was first used by Debian in 1994. In GNU's June 1994Bulletin, Linux is referred to as a "free UNIX clone (with many GNU utilities and libraries)". In the January 1995 edition, the term "GNU/Linux" was used instead. In May 1996, Stallman released Emacs 19.31 with the system target "Linux" changed to "Lignux", also suggesting the alternatives of "Linux-based GNU system" or "GNU/Linux system". Stallman later used "GNU/Linux" exclusively.

Arguments for "GNU/Linux"

The FSF advocates "GNU/Linux" not simply because of the large number of GNU components used in Linux-based systems or the quantity of GNU code, but because the goal of the GNU project was specifically to develop a complete operating system:

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. [...] 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 wrote, or found people to write, everything on the list. (Stallman, "Linux and the GNU Project")

The FSF argues that the name issue is important as a way of crediting both the technical contribution of the GNU project and the idealism of the GNU free-software philosophy:

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. (FSF, "GNU/Linux FAQ")

The ordinary understanding of "operating system" includes both the kernel — the specific subsystem that directly interfaces with the hardware — and the "userland" software that is employed by the user and by application software to control the computer. Moreover, both the name "GNU" and the name "Linux" are intentionally related to the name "Unix", and Unix has always conceptually included the Clibrary and userland tools as well as the kernel. In the 1991 release notes for versions 0.01 to 0.11 of Linux (which was not released under the GPL until version 0.12), Torvalds wrote:

Sadly, a kernel by itself gets you nowhere. To get a working system you need a shell, compilers, a library etc. These are separate parts and may be under a stricter (or even looser) copyright. 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.

The use of the word "Linux" to refer to the kernel, the operating system, and entire distributions, often leads to confusion about the distinctions between the three. Many of the important GNU packages are typically included as part of a GNU/Linux distribution. Media sources frequently make erroneous statements such as claiming that the entire Linux operating system (rather than simply the kernel) was written from scratch by Torvalds in 1991; that Torvalds directs the development of other components such as graphical interfaces or the GNU tools; or that new releases of the kernel involve a similar degree of user-visible change as do new versions of proprietary operating systems such as Microsoft Windows, where many things besides the kernel change simultaneously.

Because of this confusion, legal threats and PR campaigns apparently directed against the kernel, such as those launched by the SCO Group or the Alexis de Tocqueville Institution (AdTI), have been misinterpreted by many commentators who assume that the whole operating system is being targeted. These organisations have even been accused of deliberately exploiting this confusion:

SCO has used "Linux" to mean "all free software," or "all free software constituting a UNIX-like operating system." This confusion, which the Free Software Foundation warned against in the past, is here shown to have the misleading consequences the Foundation has often predicted. (Eben Moglen, FSF Statement on SCO v IBM, 25 June 2003).

In particular, Stallman criticized the [Ken Brown/AdTI] report for capitalizing on common confusion between the Linux kernel, which Stallman says "Linus really wrote," with the full GNU operating system and associated software, which can be and generally is used with the Linux kernel. (Lisa Stapleton, LinuxInsider, 27 May 2004).

Arguments for "Linux"

"Linux" is by far the most widespread name, and most people therefore simply adopt this usage, while references to the naming controversy appear only infrequently in mainstream sources. "Linux" has the most historical momentum because it is the name Torvalds has used for the combined system since 1991, while Stallman only began asking people to call the system "GNU/Linux" in the mid 1990s, some time after the "Linux" name had already become popular. "Linux" is shorter and easier to say than "GNU/Linux".

Some people object that the name "Linux" should be used to refer only to the kernel, not the entire operating system. This claim is a proxy for an underlying territorial dispute; people who insist on the term GNU/Linux want the FSF to get most of the credit for Linux because RMS [Stallman] and friends wrote many of its user-level tools. Neither this theory nor the term GNU/Linux has gained more than minority acceptance.

Some feel that Stallman's advocacy of the combined name is an attempt to unfairly ride on the coattails of Linux's fame. An editorial in the Linux Journal (#30, Oct. 1996) speculated:

Perhaps RMS is frustrated because Linus got the glory for what RMS wanted to do.

The same article quotes Linus Torvalds as saying:

Umm, this discussion has gone on quite long enough, thank you very much. It doesn't really matter what people call Linux, as long as credit is given where credit is due (on both sides). Personally, I'll very much continue to call it "Linux".

In a similar vein, the debate over the name for the operating system is sometimes characterized as a trivial distraction; e.g. John C. Dvorak (PC Magazine, 5 March 2002) wrote:

Unfortunately, the Linux community spends too much of its energy on things such as nomenclature (like the name GNU/Linux versus Linux).

Many users and vendors who prefer the name "Linux" point to the inclusion of non-GNU, non-kernel tools such as the Apache HTTP Server, the X Window System or the K Desktop Environment in end-user operating systems based on the Linux kernel. No single name can comprehensively acknowledge the thousands of developers and projects that have contributed to a complete distribution — GNU is only one of those, albeit a pivotal one. Linux thus serves as a convenient synecdoche for a complete OS distribution. The Free Software Foundation acknowledges the limits to credits in naming, albeit without drawing the same conclusion:

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. [...] 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). (FSF, "GNU/Linux FAQ")

In mainstream usage, the name "Linux" on its own is often used as the standard example of the concept of software or other content that may be freely modified and redistributed, even if such usages generally do not mention GNU or "free software" specifically.

Cases where "GNU/Linux" is inapplicable

In rare cases, the Linux kernel is used with few or no components of GNU (e.g. an application running directly on a nearly "bare" kernel, or with uClibc and BusyBox (or Perl in the case of Perl/Linux) in place of the GNU tools). These are typically small embedded systems, such as dedicated firewall products or other appliances. Everyone, including the FSF, agrees that "GNU/Linux" is not an appropriate name in such circumstances. Almost all Linux-based desktops and servers do use the GNU components, especially glibc, the GNU C Library.

Pronunciation

Although "GNU/Linux" is often pronounced "GNU Linux", Richard Stallman has advocated explicit pronunciation of the slash to prevent the confusing implication that the Linux kernel itself is a GNU project:

I prefer to pronounce it GNU-slash-Linux, or GNU-plus-Linux. The reason is that when you say GNU-Linux it is very much prone to suggest a misleading interpretation. After all, we have GNU Emacs which is the version of Emacs which was developed for GNU. If you say "GNU Linux", people will think it means a version of Linux that was developed for GNU. Which is not the fact. (KernelTrap.org, 2005).