You will usually see the Linux operating system referred to as “Linux” online. However, the term “GNU/Linux” is occasionally used instead. Linux and GNU/Linux refer to the same operating system and software, and there’s a controversy over which term is more appropriate.
We’re not here to take a side in this old debate, but this article should help you understand why there’s a naming controversy and what the difference is between the terms “Linux” and “GNU/Linux.”
“Linux” itself is just the kernel – the core part of the operating system. Other software, such as the GNU C compiler used to compile the kernel, bash command-line shell, GNU shell utilities (all the basic commands you would use on a command line), X.org graphical server, a graphical desktop like Unity, and the software that runs on top of the graphical desktop, like Firefox, are all produced by different groups of developers.
Linux distributions assemble all this disparate software from different developers and call the complete package “Linux.” For more information about Linux distributions and what they do, read HTG Explains: What’s a Linux Distro and How Are They Different?
Richard Stallman made plans for GNU in 1983. GNU was to be a complete, Unix-compatible operating system made up of free software. GNU is a recursive acronym standing for “GNU’s Not Unix!”(“Free software” is a similar term to open-source software, although free software focuses more on “freedom.” But that’s a different controversy.)
By 1991, the GNU project had finished many of the pieces of the GNU operating system, including the GNU C Compiler (gcc), bash command-line shell, many shell utilities, the Emacs text editor, and more. Other parts of the operating system could be provided by already-existing free software, such as the X Window System, which provided a graphical desktop.
However, the core part of the operating system – the GNU Hurd kernel – was not complete. The GNU Project chose an ambitious microkernel design for the kernel, resulting in long delays. (As of 2013, the GNU Hurd kernel has been in development for 23 years and no stable version has ever been released.)
The kernel was seen as “the last missing piece” of the GNU operating system by the GNU project. In 1991, Linus Torvalds released the first version of the Linux kernel. There was now enough software for a completely free operating system, and distributors (like modern “Linux distributions”) assmbled the Linux kernel, GNU software, and X Window System together.
Initially, there was some debate over what these distributions should be called. In 1992, the Yggdrasil project chose the name “Yggdrasil Linux/GNU/X” for its combination of software. GNU/Linux is the preferred term advanced by Richard Stallman and the Free Software Foundation. Debian still refers to its software as “GNU/Linux” today.
The GNU project makes up a large part of the standard “Linux” system and was a project intended to develop a full operating system, named GNU. However, a significant part of Richard Stallman’s objection to the term “Linux” is that it downplays the significance of GNU and its original purpose: as a completely free operating system intended to provide freedom to users. This is intertwined with the debate over “free software” – a term intended to focus on freedom – and “open source” – a term intended to focus on technical advantages and downplay the philosophical angle.
As Richard Stallman said in an interview with ZNET in 2005:
Linux was not designed with the goal of liberating cyberspace, and the motives for Linux would not have given us the whole GNU/Linux system.
Today tens of millions of users are using an operating system that was developed so they could have freedom — but they don’t know this, because they think the system is Linux and that it was developed by a student “just for fun’.”
More of his thoughts on the subject can be read on the GNU website.
Proponents of the term “Linux” argue it’s a mistake to focus only on GNU, as the average distribution contains software from a variety of organizations and could be called Mozilla/KDE/Apache/X.org/GNU/Linux with similar justification.
The term Linux is also used by more people – if nothing else, it’s a simpler and easier name to remember, type, and pronounce. And whatever the ideal name is, the operating system itself is generally referred to as Linux by most people. You will find it referred to as “Linux” here on How-To Geek and elsewhere because it’s a more common term that readers immediately understand.
We’ll end with a quote from Linus Torvalds in 1996:
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”