Linux is not an operating system

For the purpose of writing this article I’m going to use the following definition of “operating system”. There are other definitions and I’m not claiming this is the right one. An operating system is a unit of software that you can install in a computer and will let you use the computer, thought a set of utilities or program in one way or another.

The answer is: because Linux is not an operating system, it is a kernel. Except for the kernel, the rest of those Linux-based operating systems (a.k.a.: distros) are different. Those tutorials are (almost) always specific to an operating system (even when you leave the realm of Linux-based OSs). If you consider FreeBSD to be an operating system which is also a different operating system than OpenBSD, then Ubuntu, Debian, RedHat and SUSE should also be considered different OSs. 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.

The fact that there are a lot of Linux-based operating systems is because Linux is easy to re-use. In fact, re-using is the only way to use it, because unlike the FreeBSD-developers, or the OpenBSD-developers, the Linux-developers, starting with Linus Torvalds, do not make an OS around the kernel they make. And even in those OS-and-kernel-as-one, the kernel is often extracted and used in other operating systems, like Debian GNU/kFreeBSD, PCBSD or FreeNAS.

Hey! you even have Darwin, and you don’t expect a MacOS X tutorial to work on GNU Darwin, do you?