Many people refer to GNU operating system as Linux. I believe that is wrong. If an operating system or distribution of that calls itself Linux, like Archlinux, I’ll use that name.

However, if an operating system/distribution is based on GNU, I refuse to use the word Linux to call that in general. For example, I refuse to call Debian a Linux distribution. Debian with Linux kernel is a distribution of GNU+Linux operating system.

But why GNU? What’s wrong with using the word Linux you ask? The problem is that Linux is not an operating system, it’s a kernel. Of course you may don’t agree with my definition of operating system, but there is one I believe is true.

I believe an operating system is a unit of software that you can install on a computer and it will let you use the computer through a set of utilities or programs in one way or another. An operating system is for humans, a kernel is for programs.

Many argue that unlike Android, which also uses the Linux kernel, our programs run on the kernel so referring the operating system we use with Linux kernel as Linux is not wrong. I believe that argument is wrong because we run our programs on our operating system, which a part of it is the kernel. We use the operating system for our computing, not the kernel. Kernel is only one part of the operating system that processes programs.

Calling the whole GNU operating system Linux is like calling a whole automobile engine. While engine may be one of the most important parts of the automobile, it is not the only part and solely it can’t do anything. I’m saying if Renault builds an engine and BMW builds other parts, it’s fair to call that automobile Renault/BMW or Renault+BMW.

If you consider FreeBSD to be an operating system which is also a different operating system than OpenBSD with different structure, point, and function, then Ubuntu, Debian, RedHat, and SUSE should also be considered different operating systems. Otherwise you’ll be using double standards.

If you don’t expect a tutorial for FreeBSD to work out of the box on OpenBSD, then you shouldn’t expect a tutorial for Ubuntu to work on SUSE or RedHat. If those operating systems are similar enough that you can tweak the tutorial a bit and still apply it, then, be grateful instead of whineful.

I know FreeBSD and OpenBSD have different kernels while Ubuntu and Fedora are both using Linux kernel but, as I said, kernel is just one part of the whole structure of the operating system, not all of it.

Now, why I use the term GNU+Linux instead of solely using GNU? It’s because there are different kernels and we use the term GNU+Linux to specify that we are using GNU operating system (or a distribution of it) with the Linux kernel (or a distribution of it). For example, there’s Debian GNU+Linux distribution, there’s Debian GNU+FreeBSD distribution, and also Debian GNU+Hurd distribution.

Of course there’s no need to use GNU always. I can simply use the term Debian with Linux kernel and there’s nothing wrong with it as the licenses of GNU operating system lets Debian project to rename it to whatever they want and that’s a benefit of software freedom.

But I use Debian GNU+Linux (or other kernels) name to give credit to the GNU project. GNU project is one of the most important parts of the Free Software Movement.

But what if that operating system or distribution is not based on GNU? If an operating system or distribution is not based on GNU, then I won’t call it GNU. I simply use the name the maintainers or owner of that project chooses. For example, I don’t call QubesOS a GNU distribution.