I was on TikTok recently – which is an experience I continue to have mixed feelings about – and I watched someone argue with complete confidence that Linux is an operating system. Someone else told them it wasn't. The first person doubled down. The comment section descended into the usual chaos. I typed a reply, decided against it, and closed the app.
This is that reply.
I should say upfront: I am primarily a Mac user. My daily driver is a Mac mini, macOS is where I spend most of my time, and I am not writing this from some Linux-only purist position. I use Linux on the side – it runs on my server infrastructure, and I have a genuine appreciation for it. But I do not have the tribal investment in the terminology that sometimes makes this particular argument generate more heat than light.
What Linux Actually Is
Linux is a kernel.
That is not a technicality or a pedantic gotcha. It is just what the thing is. Linus Torvalds created it in 1991, released the source code, and described it plainly as a kernel – the core component that sits between hardware and software, handling memory management, process scheduling, device drivers, and the rest of the low-level work that the rest of the system depends on. Without a kernel, nothing runs. With only a kernel, you still have nothing particularly usable.
The operating system – the thing you actually interact with, the thing you install applications on top of, the thing with a desktop environment or a package manager or a login screen – is the distribution. Ubuntu. Fedora. Arch. NixOS. These are operating systems built on top of the Linux kernel. The kernel is the foundation. The distribution is the building.
Calling Linux an operating system is like calling Windows "NT" because it's built on the NT kernel, or calling macOS"Darwin" because Darwin is the kernel underneath it. Both of those things are technically accurate descriptions of the underlying component. Neither is how anyone refers to the product. Nobody boots up their laptop and says they're running Darwin. Nobody tells IT support they're having trouble with NT.
The convention exists for a reason. The kernel is not the thing the user is working with. The distribution is.
Why the Distinction Actually Matters
Here is where I would push back gently on the "well, everyone knows what you mean" defence – which is the argument that usually surfaces when someone wants to close this conversation quickly.
Everyone knowing what you mean is not the same as the terminology being correct, and in this case, the imprecision does obscure something important. The kernel is not just a semantic technicality. It is literally the mechanism by which software talks to hardware. Every system call, every read and write operation, every interaction between a running process and the machine it is running on – that goes through the kernel. It is the most fundamental layer of the whole stack, and the one that everything else depends on.
When you say "I use Linux" and mean "I use Ubuntu," you are, in effect, describing your house by naming its foundations. Accurate enough that people understand you. Imprecise enough that it papers over the actual architecture.
This also matters for the same reason the Bluesky/AT Protocol distinction matters – something I have written about before. People conflate the interface they interact with for the infrastructure beneath it, and that conflation tends to cause problems the moment anything goes wrong, or the moment someone wants to understand what they are actually dealing with. If you know that Linux is a kernel and Ubuntu is a distribution built on top of it, you understand immediately why you can have dozens of different operating systems that all share the same kernel. If you think Linux is just Ubuntu with a different name, you have no model for why that is possible.
The kernel is also replaceable, in principle, in ways that the distribution is not. You can run a GNU userland on top of Linux. You can run it on top of a different kernel. GNU/Linux, as Richard Stallman has been pointing out for decades with varying degrees of success, is the more technically accurate phrase – though I have never once in conversation said "GNU/Linux" and I am not planning to start now.
The Part Nobody Argues About
What I find slightly amusing about this argument is that both people in it are, in different ways, correct.
When most people say "Linux," they mean the distribution. That is just what the word has come to mean in common usage – the same way "Hoover" means vacuum cleaner and "Google" means search. Language does this. Technical precision and colloquial shorthand are two different registers, and conflating them causes its own problems.
The person saying "Linux is an operating system" is using it the way most people use it, referring to the whole ecosystem of distributions built on the kernel. The person saying "actually it's just the kernel" is using the term precisely, as Torvalds intended it. Neither of them is entirely wrong. Both of them are, to varying degrees, talking past each other.
The useful middle ground – which the TikTok comment section did not reach, because TikTok comment sections are structurally hostile to useful middle grounds – is something like: yes, when people say "Linux" they typically mean a Linux distribution, but the kernel and the distribution are distinct things and the distinction is worth understanding. The kernel is the layer that makes everything else possible. The distribution is what you actually use. Both things can be true simultaneously.
I am, again, primarily a macOS user. I have no horse in the tribal dimension of this. But I do think precision about how systems are structured is worth preserving, even when the imprecise shorthand has won the culture war. Understanding that Linux is a kernel rather than a monolithic operating system is the kind of thing that makes the rest of how operating systems work make sense. It is infrastructure literacy, at a fairly basic level – and the number of people who use Linux daily without having that model is probably higher than it should be.