One way that it could be claimed that Linux is not an operating system is by asserting that what we call “Linux” is in fact a name of the kernel, a core of the operating system, rather than an OS as a whole. Such assertions would usually come from the Free Software supporters who would quickly point out how the proper way to call this “OS” is as “GNU/Linux” because it is only after combining the Linux as a kernel with GNU as tools that the operating system actually is capable of operating usefully.
However, if pointing this out was the sole purpose of my writing this article I wouldn’t have written it. It is a well known observation and as much as some believe it worth repeating, said often enough. What I have in mind, however, is something different. I would like to make a case for asserting that what we usually refer to as “Linux” (or “GNU/Linux” regardless) is not really an operating system. In fact I believe that referring to it as such and spending money and effort on marketing it as such is actually doing “it” a disservice, if that’s even possible.
There are hundreds of distributions of “Linux” or “GNU/Linux” which we usually clumsily also metaphorically represent as “flavors of Linux”. There is often talk about such things as “duplication of effort”, disparity, calls for unification and opposition to such calls. We have people saying concurrently “Linux rocks” and “Linux sucks”, but what they’re actually referring to is a frankenstein concoction of various distributions or who knows what. It’s hard for someone who tries to think precisely about what exactly are they saying to conclude what exactly is it that sucks or rocks. Is it Ubuntu? Is it Fedora? Is it the kernel? Perhaps the GNU tool chain or maybe Xorg? What exactly? How can it all be at the same time? Indeed if Linux is an operating system, it is at war with itself, not to mention it’s one of the vaguest possible concepts in existence because it can supposedly mean so many things at once, which is as much as some people love such a multiplicity of meaning in some strange poetic sense, in fact an utter state of confusion.
Even if we go by the definition of an “operating system”, as aptly explained on wikipedia as in a nutshell an “interface between computer hardware and a user” and a “host for applications that are run on the machine” the confusion isn’t quite resolved. For one thing a Linux kernel itself can exist in numerous different incarnations. GNU tools can be combined with the kernel in different versions. Which combination is the right one? You never see a “Linux OS version X.X”. Instead you have different variations at different times between Linux kernel version x.x.x, glibc x.x etc. Which one is representative of a current “Linux OS” and if you would point a finger at any particular combination, why exactly that one and not the other one?
Additionally, GNU and Linux aren’t necessarily all that is necessary for complete “interface between computer hardware and a user” and a “host for applications that are run on the machine”. If you have a video card you’ll need Xorg, along with 3D acceleration capable drivers (which from what I understand cannot work without Xorg) so you can run games or 3D applications. I could even go as far to say that a desktop environment too is necessary for an interface between hardware and the user to be complete, and thus for a particular combination of software to be properly called a complete OS. But at that level there are already so many possible combinations and variations (which we call “distros”), that it is impossible to refer to all of them as a single OS.
Fortunately, there IS a better way to describe what “Linux” actually represents and it doesn’t even have to be called Linux per say. Better way could be to call it an operating system framework, but to truly do justice to the diversity of available components and amount of possible combinations it’s probably best understood as amarket of operating system components.
Such a market is analogous to a market of car components where you can find everything from the chasis and the engine up to the decorative additions all of which can be combined to make all kinds of quite different cars. Even if a dominant engine in this particular market is a variation of a single design (analogous to the Linux kernel), it doesn’t mean that the final cars created using this particular engine type couldn’t be completely different. It would be stupendous to call this entire car components market as a single car by the name of the dominant kind of engine used.
When we begin to understand what we usually referred to as a single operating system called “Linux” as in fact a market of various different operating system and software components which can be combined to make different operating systems in their own right, then we may begin to understand the flaws in trying to market this market of products as a single product. Even an advanced user can occasionally get lost, let alone the average user. We all one way or another, sooner or later, face the inevitable question. What exactly IS Linux? And then we sit there while some geek stutters to explain what is barely explainable. It is an OS, but it is at the same time a whole bunch of these “flavors” etc..
Suffice it to say: Marketing FAIL.
What I believe we should focus on instead is designation of what we used to call “distros” as operating systems in their own right. We could call them “Linux based” operating systems to denote the fact that they have Linux as the core. FSF fans can call it “GNU based” if they wish, but the distro itself is the actual OS, not “Linux” or “GNU/Linux”. So when we try to get people to switch, I believe we would be FAR more effective to just pick one OS on the market and promote that one on its own merits. If you pick Fedora then call it a Linux based Fedora OS and brag about all of the things that make Fedora great, not all of the things that make Linux or GNU great – alas both GNU and Linux are a part of Fedora, but it is still this unique product and user experience we can have with it that is what we are interested in, not the parts.
Mark Shuttleworth appears to be trying his best to somehow coordinate the development of all “Linux” as if it was all a single OS, and to an extent he has had some success, particularly in aligning release schedules (such as that of GNOME) to the release schedule of Ubuntu. This is probably the best Linux unification effort so far and yet still I’m not holding my hopes up. To illustrate why I’ll refer you to the presentation recently given by Bryan Lunduke called Linux Sucks. He was talking about picking a single package management system and getting behind (hinting at apt and deb packages) and a single multimedia system (hinting at gstreamer) etc. What he basically did was just pick his own personal favorites, combined with their relative popularity. In the questions session someone proposed one way of cross-Linux installation of software to be putting it into an /opt subdirectory, and this suggestion was immediately dismissed.
Who is right and why? Who will ever be right and why? Who can ever have a final word in this mystical thing we call “Linux” and why? How can that even be possible when what we call Linux in reality is a market, not a single organization, not a hierarchy, but a fundamentally decentralized market of actors each with different interests, different needs and different preferences.
I have no faith at all in the Linux unification cause as much as I don’t have faith in command economies such as those in the soviet union. They never work.
The sooner we stop dreaming about it probably the better. Instead of endlessly pushing for the impossible, each distribution should realize that they are a project of providing a unique operating system, not merely some sort of a “subset” of a larger OS, with all of the implied responsibilities and false obligations that come from that. They should focus on providing their own particular operating system experience, NOT the “Linux experience”.
And then, just like in every market, let the best operating system win out. And no user is gonna be a loser because the market share will align relative to the choices of each individual user. If you like Gentoo, than that is an OS of your choice and so long as there is a few more like you, Gentoo or something like it will probably be made, or if you’re so enthused about it, you’ll do it yourself. If one OS, like Ubuntu, gains the majority market share, that still doesn’t mean you have to use it nor is it a reason to call them out for “stealing the show” and “representing Ubuntu as if it was the whole of the Linux OS”.
There is NO whole of the Linux OS.
Finally, while there is something unique about the market of Linux or GNU based operating systems, it is not necessarily a closed off ecosystem. It IS indeed a part of the larger OS market in the world with Windows and Mac OS X as respective players. Technically speaking the only differences between Windows or Mac OS X and Linux based operating systems is that Windows and Mac OS X tend to do a lot of reinventing the wheel in house instead of reusing existing components, in that they don’t tend to release the source code and that they use government far more to impose their supposed ownership over your own copies of software and thus conditions on its use. In that sense the model used to produce Linux based operating systems, called the Open Source model, IS more efficient and generally more just. Unfortunately, we sometimes get a little too carried on with the bazaar style of development and shoot ourselves in the foot in our own way, which explains why even today, proprietary OSs can in some fields still outrun us. (Note that there is a distinction between licensing and development models; it’s possible to develop liberally licensed software in a proprietary-like cathedral style fashion, which is sometimes desirable).
But more on that in the next articles where I will talk about the weaknesses of the bazaar model, flawed licensing propositions popular in the so called FOSS “community” and the implications of the “freedom” fervor of the FSF led Free Software movement.