Since the 1990s, there has been ongoing debate over whetheroperating systems that use theLinux kernel in combination withGNU software should be referred to asLinux orGNU/Linux.[1]
Supporters of the termLinux argue that it is more widely used in the media and by the general public,[2][3] and that it serves as a practical shorthand for systems that combine the Linux kernel with software from a variety of sources, including theGNU Project.[4]
Advocates of the termGNU/Linux, including theFree Software Foundation (FSF) and its founderRichard Stallman, argue that the name acknowledges the contributions of the GNU Project, particularly how the Linux kernel was added on top of the original GNU operating system.[5] A few distributions, such asDebian,Trisquel, andParabola GNU/Linux-libre, use this naming convention.
In 1983,Richard Stallman, founder of theFree Software Foundation, set forth plans of a completeUnix-likeoperating system, calledGNU, composed entirely offree software. In September of that year, Stallman published a manifesto inDr. Dobb's Journal detailing his new project publicly, outlining his vision offree software.[6][7] Software development work began in January 1984. By 1991, the GNU mid-level portions of the operating system were almost complete, and the upper level could be supplied by theX Window System, but the lower level (kernel, device drivers, system-level utilities anddaemons) was still mostly lacking.
The kernel officially developed by GNU was calledGNU Hurd. The Hurd followed an ambitiousmicrokernel design, which proved unexpectedly difficult to implement early on. However, in 1991,Linus Torvalds independently released the first version of the Linux kernel. Early Linux developersported GNU code, including theGNU C Compiler, to run with Linux, while the free software community adopted the use of the Linux kernel as the missing kernel for the GNU operating system. This work filled the remaining gaps in providing a completely free operating system.[8]
Over the next few years, several suggestions arose for naming operating systems using the Linux kernel and GNU components. In 1992, theYggdrasil Linux distribution adopted the name "Linux/GNU/X". InUsenet and mailing-list discussions, usages of "GNU/Linux" can be found as early as 1992,[9] and of "GNU+Linux" as early as 1993.[10] TheDebian project, which was at one time sponsored by theFree Software Foundation, switched to calling its product "Debian GNU/Linux" in early 1994.[11][12][13][14]This change followed a request by Richard Stallman (who initially proposed "Lignux," but suggested "GNU/Linux" instead after hearing complaints about the awkwardness of the former term).[15] GNU's June 1994Bulletin described "Linux" as a "freeUnix system for386 machines" (with "many of the utilities and libraries" from GNU),[16] but the January 1995Bulletin switched to the term "GNU/Linux" instead.[17]
Stallman's and the FSF's efforts to include "GNU" in the name started around 1994, but were reportedly mostly via private communications (such as the above-mentioned request to Debian) until 1996.[18][19] In May 1996, Stallman releasedEmacs 19.31 with theAutoconf system target "linux" changed to "lignux" (shortly thereafter changed to "linux-gnu" in emacs 19.32),[20][8] and included an essay "Linux and the GNU system"[21] suggesting that people use the terms "Linux-based GNU system" (or "GNU/Linux system" or "Lignux" for short). He later used "GNU/Linux" exclusively, and the essay was superseded by Stallman's 1997 essay, "Linux and the GNU System".[22]
Modernfree software andopen-source software operating systems are composed of software by many different authors, including the Linux kernel developers, the GNU project, and other vendors such as those behind theX Window System. Desktop and server-based distributions use GNU software such as theGNU C Library (glibc),GNU Core Utilities (coreutils),GNU Compiler Collection,GNU Binutils,GNU gzip,GNU tar,GNU gettext,GNU grep,GNU awk,GNU sed,GNU Findutils,gnupg,libgcrypt,gnutls,GRUB,GNU readline,GNU ncurses, and theBash shell.
In a 2002 analysis of the source code forRed Hat Linux 7.1, a typicalLinux distribution, the total size of the packages from the GNU project was found to be much larger than the Linux kernel.[23] Later, a 2011 analysis of theUbuntu distribution's "Natty" release main repository found that 8% to 13% of it consisted of GNU components (the range depending on whetherGNOME is considered part of GNU), while only 6% is taken by the Linux kernel (9% when including its direct dependencies).[24] Determining exactly what constitutes the "operating system"per se is a matter of continuing debate.[25]
On the other hand, someembedded systems, such ashandheld devices andsmartphones (like Google'sAndroid),residential gateways (routers), andVoice over IP devices, are engineered with space efficiency in mind and use a Linux kernel with few or no components of GNU, due to perceived issues surroundingbloat, and impeded performance.[26] A system runningμClinux is likely to substituteuClibc for glibc, andBusyBox for coreutils. Google's Linux-based Android operating system does not use any GNU components or libraries, using Google's ownBSD-basedBionic C library in place of glibc. The FSF agrees that "GNU/Linux" is not an appropriate name for these systems.[27][28][29]
There are also systems that use a GNU userspace and/orC library on top of a non-Linux kernel, for exampleDebian GNU/Hurd (GNU userland on the GNU kernel)[30] orDebian GNU/kFreeBSD (which uses the GNU coreutils and C library with the kernel fromFreeBSD).[31]
This sectionrelies excessively onreferences toprimary sources. Please improve this section by addingsecondary or tertiary sources. Find sources: "GNU/Linux naming controversy" – news ·newspapers ·books ·scholar ·JSTOR(November 2024) (Learn how and when to remove this message) |
The FSF justifies the name "GNU/Linux" primarily on the grounds that the GNU project was specifically developing a complete system, of which they argue that the Linux kernel filled one of the final gaps;[32] the large number of GNU components and GNUsource code used in such systems is a secondary argument:
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 beGNU. 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.
— Richard Stallman[32]
Other arguments include that the name "GNU/Linux" recognizes the role that the free-software movement played in building modernfree and open source software communities,[27] that the GNU project played a larger role in developingpackages and software forGNU/Linux or Linux distributions,[22][8] and that using the word "Linux" to refer to the Linux kernel, the operating system and entire distributions of software leads to confusion on the differences about the three. Because of this confusion, legal threats andpublic relations campaigns apparently directed against the kernel, such as those launched by theSCO Group or theAlexis de Tocqueville Institution (AdTI), have been misinterpreted by many commentators who assume that the whole operating system is being targeted. SCO and the AdTI have even been accused of deliberately exploiting this confusion.[33][34][35]
Regarding suggestions that renaming efforts stem from egotism or personal pique, Stallman has responded that his interest is not in giving credit to himself but to the GNU Project: "Some people think that it's because I want my ego to be fed. Of course, I'm not asking you to call it 'Stallmanix'."[36] In response to another common suggestion that many people have contributed to the system and that a short name cannot credit all of them, the FSF has argued that this cannot justify calling the system "Linux", since they believe that the GNU project's contribution was ultimately greater than that of the Linux kernel in these related systems.[8][24]
In 2010, Stallman stated that naming is not simply a matter of giving equal mention to the GNU Project, saying that because the system is more widely referred as "Linux", people tend to "think it's all Linux, that it was all started by Mr. Torvalds in 1991, and they think it all comes from his vision of life, and that's the really bad problem."[37]
Proponents of naming the operating systems "Linux" state that "Linux" is used far more often than "GNU/Linux".[38][11]
Eric S. Raymond writes (in the "Linux" entry of theJargon File):
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 [Stallman] and friends wrote many of its user-level tools. Neither this theory nor the term GNU/Linux has gained more than minority acceptance.
When Linus Torvalds was asked in the documentaryRevolution OS whether the name "GNU/Linux" was justified, he replied:
Well, I think it's justified, but it's justified if you actually make a GNU distribution of Linux ... the same way that I think that "Red Hat Linux" is fine, or "SUSE Linux" or "Debian Linux", because if you actually make your own distribution of Linux, you get to name the thing, but calling Linux in general "GNU Linux" I think is just ridiculous.[39][40]
An earlier comment by Torvalds on the naming controversy was:
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", ...
The GNU people tried calling it GNU/Linux, and that's ok. It's certainly no worse a name than "Linux Pro" or "Red Hat Linux" or"Slackware Linux" ...
Lignux is just a punny name—I think Linux/GNU or GNU/Linux is a bit more "professional" ...[41]
The name "GNU/Linux," particularly when using Stallman's preferred pronunciation, has been criticized for its perceived clumsiness and verbosity,[42][43] a factor that Torvalds has cited as the downfall of operating systems such as386BSD.[44]
TheLinux Journal speculated that Stallman's advocacy of the combined name stems from frustration that "Linus got the glory for what [Stallman] wanted to do."[45]
Others have suggested that, regardless of the merits, Stallman's persistence in what sometimes seems a lost cause makes him and GNU look bad. For example,Larry McVoy (author ofBitKeeper, once used to manage Linux kernel development) opined that "claiming credit only makes one look foolish and greedy".[46]
Many users and vendors who prefer the name "Linux," such asJim Gettys, one of the original developers of theX Window System, point to the inclusion of non-GNU, non-kernel tools, such asKDE,LibreOffice, andFirefox, in end-user operating systems based on the Linux kernel:
There are lots of people on this bus; I don't hear a clamor of support that GNU is more essential than many of the other components; can't take a wheel away, and end up with a functional vehicle, or an engine, or the seats. I recommend you be happy we have a bus.[47]
RMS's idea (which I have heard first-hand) is that Linux systems should be considered GNU systems with Linux as the kernel.
the total of the GNU project's code is much larger than the Linux kernel's size. Thus, by comparing the total contributed effort, it's certainly justifiable to call the entire systemGNU/Linux and not justLinux.
Generally, SCO'sCaldera v IBM Complaint is vague and confusing as to whether the accusations involve the Linux kernel, the GNU/Linux operating system, Linux distributions, Linux applications, or whatever.
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
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.
No. That's it. The cool name, that is. We worked very hard on creating a name that would appeal to the majority of people, and it certainly paid off: thousands of people are using linux just to be able to say "OS/2? Hah. I've got Linux. What a cool name". 386BSD made the mistake of putting a lot of numbers and weird abbreviations into the name, and is scaring away a lot of people just because it sounds too technical.
Perhaps RMS is frustrated because Linus got the glory for what RMS wanted to do.