<edit>I’m in the process of rewriting this with some information and rebuttals to some of the comments. Stay tuned for that later tonight. Sorry to anyone on identi.ca in !ubuntu !linux or !gnu that may be writting a comment now. I’m locking comments so the newer one will get the traffic (since it’s going to be much better written than this one which I spent all of 10 minutes on.) </end edit>
I don’t understand why there’s so much push to have the Linux OS, called GNU/Linux. I see arguments like, “Linux is useless without GNU, so it’s part of the OS”, “Linux is just a kernel and not an OS”, “Look at other OS’s like FreeBSD, it includes more than just the kernel.” etc. In a very strict sense of the definition of an OS it’s:
The operating system interacts directly with the hardware, providing common services to programs and insulating them from hardware idiosyncrasies. Viewing the system as a set of layers, the operating system is commonly called the system kernel, or just the kernel, emphasizing its isolation from user programs.
— From The design of the unix operating system, Maurice J. Bach, Prentice/Hall, 1986, page 4
By that definition of an OS, Linux itself stands on its own. Whether or not you consider it useful at that definition is irrelevant. That’s why a POSIX environment is used, to actually do something useful after the hardware has been abstracted. GNU, just so happens to fill end up being the common POSIX environment. That doesn’t mean that it’s now GNU/Linux does it? Or better yet, should BusyBox based distros be called BusyBox/Linux? Do you know why you rarely, if ever, see that phrase? Because it’d by-and-large be incorrect to say it. The fact that you use GNU, BusyBox, or any other POSIX or non-POSIX userland is irrelevant to what the OS actually is. Here’s another example of the above error in logic from http://www.topology.org/linux/lingl.html :
A linux operating system cannot work without a CPU.
Therefore the CPU is part of the linux operating system.
Therefore the operating systems which I use are AMD/linux and Intel/linux.
I’ll highlight a few more snippets from the above web page:
There are three plausible definitions of operating system:
1. The OS kernel. This is the technically correct definition.
2. The OS kernel plus some basic utilities (compiler, linker, editor, CLI shells, etc.).
This is the obsolete 1980s colloquial and marketing definition which is used by RMS.
3. The OS distribution. This is the modern colloquial and marketing definition.
If you read a technical book about how to write an operating system, you will always see definition (1): the kernel, a RAM-resident program which loads and unloads applications and manages access to resources.
If you buy a linux operating system, then you are using definition (3). The linux OS distribution is usually several thousand packages on one or more disks. Of these thousands of packages, a few contain the kernel, a few contain some basic utilities (such as gnu for example), and about 97% of the packages are 3rd party software.
If you use the most correct definitions (1) and (3) of an operating system, then linux is not gnu/linux. Only if you use the obsolete 1970s and 1980s definition (2), then linux would be gnu/linux. But history has moved on. RMS is in a time-warp. We don’t get our operating systems on a 1/2″ mag tape any more. Definition (2) comes from the old Unix distribution tapes in the 1980s. That’s why RMS claims that kernel + compiler + basic utils = operating system. That is a Unix tape, not an operating system. The old Unix tapes had operating systems on them, and also lost of other stuff. It was just colloquial usage in the 1980s to call the Unix mag tape the Unix operating system, but that was just colloquial usage, not technically correct usage.
If you say linux, you are being factual and informative. If you say SuSE linux or redhat linux, you are being factual and informative. If you say gnu/linux, you are being political. I don’t like political propaganda. If I want to make political propaganda, I make my own political propaganda. I don’t want to parrot the factually incorrect propaganda of others.
Think of it this way:
Question: Are any gnu tools loaded into RAM when a linux OS is booted?
Question: Do the gnu tools need to run continuously in RAM while a linux OS is running?
Question: Would a linux operating system stop working if your removed the gnu tools?
Answer: No, except for the “ld” tool and a couple of other minor tools.
So it is clear that the gnu tools are not part of the operating system.
I’ll be more than happy to continue if you’d like 🙂