A Linux Kernel Doesn't Make a Linux OS

We should stop referring to operating systems that use a Linux kernel as “Linux” operating systems.

“Linux” describes a kernel, not a complete operating system

The current practice of including “Linux” in the name of all operating systems that use a Linux kernel may be a convenient way for the press and other non-technical people to lump these systems together, but the Linux label is not a complete or precise description of an operating system (OS), certainly not in the same way that Windows version Z or OS-X version 10.5 defines a system’s properties and capabilities. The word Linux describes a UNIX-like monolithic kernel that, depending on the version, provides a certain set of services and access interfaces to the other (i.e. userspace) components of the operating system.

The “Linux” kernel is not a necessary component of any operating system

The “Linux” label also puts the Linux kernel ahead of all other components of the system in importance, which is not reflective of reality. A mainstream modern general purpose OS requires a kernel to operate, but not necessarily any particular kernel. Moreover, the kernel is certainly a necessary component of a functional OS, but it is hardly useful by itself. Without userspace services and applications, a bootloader, compilers, a command shell or GUI, network services, et cetera, an OS is not very useful to anyone.

Linus and the other Linux kernel developers have chosen a monolithic kernel architecture (which encapsulates lots of functionality that “could” reside in userspace) over the (superior for most purposes) true microkernel architecture, in which the kernel strictly serves to regulate the fundamental resources of the system. But the fact that the Linux kernel encapsulates so much functionality does not make it more essential to the OS as a whole. With a lot of work, another UNIX-like kernel or a true microkernel and accompanying architecture could be substituted for the Linux kernel. Part of the beauty of this type of operating system is that no particular component is essential and you are free to mix and match various candidates for kernel, shell, GUI, file system, et cetera, as long as you are willing to do the work to glue these components together into a working OS. So, referring to Ubuntu as “Ubuntu Linux” makes no more sense than calling it “Ubuntu GRUB GNOME BASH X.Org GNU Linux”.

A better way to name a Linux based OS

Starting now, I’m going to call Linux-based operating systems by their non-Linux name, so Red Hat Enterprise Linux will be Red Hat (escept at work where I have to use the full name on occasion), Ubuntu Linux will be Ubuntu, and the great Linux Mint will just be Mint or Mint OS. (I really like Mint.) Why don’t you do the same? It will better (i.e. more accurately and fairly) reflect the reality that GNU and MINIX served as a basis and development toolkit for Linux, and that the Linux kernel, while now preeminent, may someday fall by the wayside and another kernel (or perhaps a radically new architecture) take its place. If this happens, there is no good reason to believe that the other components in the Open Source Software ecosystem will be adversely affected.

Leave a Reply

Your email address will not be published. Required fields are marked *