Updated: November 4, 2016
Make your own distro, someone said. I might, I replied, and my brain started spinning, thinking of all how-not-to-make-your-OS, as opposed to how not to be seen. But then, it is easy to criticize the work of others. Which is why I decided to write this article as a foundation for what I think is required to make a successful Linux desktop.
And it's not about technology. It's not about desktop environments, nor the bling bling, nor the ideological differences between Debian and Red Hat. Those are probably the least important bits in this equation. It's all about the business case, and this is something that the Linux desktop has never truly had.
Start at the beginning
Often as not, people skip the basics and go for implementation. Of what, you may ask. And that's it. Nothing specific really. There's no goal, and thus the means to an end becomes the end. This is why Linux distributions are created and maintained, for the sake of the sake, without answering any crucial, existential questions that may actually bother the users. This is why, in the desktop space, Linux is an operating system solution, but not a business solution.
So what makes a successful operating system then?
Is it the technology? Of course not. Android is essentially Linux, and no one cares. Most people using Apple's products can't spell Mach, UNIX or NeXTSTEP, but that's the beauty of it, they don't really need to. Likewise, Windows folks aren't bothered that their system has something called NT in there, as long as it plays music and games.
Is it the cost? Again, it is not. Because when you buy hardware, the actual software cost is hidden in the bottom line. Whether it's a desktop, a laptop or a smartphone, the operating system cannot be decoupled from the physical kit.
Applications? Absolutely. And not too many of those, either. There's probably 10 apps in the whole world that keep 80% of the population hostage to their platforms. Just think how many people could or would switch to Linux if it had Microsoft Office and Adobe Photoshop. Steam was a big one for a while, and that one resolved most of the gaming worries for the Linux people after roughly a decade and a half of turmoil. The level of dependency is almost frightening. But only natural, because people use software to achieve things, not because they can.
Anything else? Well, not really. In fact, the formula I am going to present today isn't too different from what I wrote back in 2009. Please take a look to read my article on how to expand the Linux desktop market. It's a worthy exercise in forward thinking, and it was jotted down before the evolution of the mobile world. Now, with all these in mind, let's elaborate on what it takes to have a business model for the Linux desktop.
Hardware > software
People should change operating systems when they change their hardware. This is still valid in all aspects of computing. Just remember how much effort Microsoft invested in trying to get Windows 7 and 8 users to switch over to Windows 10 with their noisy GWX campaign. For a whole year, their latest operating system was available for free, and they tried all sorts of tricks, and yet, it didn't make a great dent in the market figures. Much like Windows XP, the older releases will take their 5-10 years dying.
With smartphones, people are enticed to upgrade in order to get the freshest set of applications, and sometimes, it is impossible to separate hardware from software, but even in this tightly controlled and user-limited world, most people refresh their systems when they buy new phones. In a way, it also makes it easier for developers to stop supporting older hardware and focus on newer, faster processors.
The one way that vendors found to be a reasonable compromise is to have non-intrusive free upgrades, but it is a nice-to-have solution rather than a necessity. Because if it works, it works. And if the hardware is already fully supported, there's not going to be any great magic coming down the digital pipes. Vendors may introduce optimizations and improvements in their existing stack, but often as not, they come to fix glaring issues in the existing software, which must have been rushed prematurely into the wild, chaotic market, rather than offer new functionality and services.
This goes completely against the current development pace and support cycles of the wider Linux world. Biannual releases are complete madness. A total waste of effort, and they lead to nothing good or productive. Canonical created a precedent by offering LTS releases, where the five-year support cycle is more or less tailored to a typical hardware refresh cycle.
Don't get me wrong, development can still continue, but on a business level, users should not see more than one new operating system release per year if that. Ideally, every two years, and again, this goes back to the LTS model. Reducing the need for rushed time tables and an overload of hasty QA can actually improve the overall quality of the Linux desktop as a product.
Ingredient 1: Major release every 2 years, supported for 5 years.
Due to the free nature of Linux, people wrongly assume a zero price tag to anything and everything open-source. But this is a wrong way of doing it. If there's no profit to be had in the software space, the only products that will survive will be volunteer effort, and that's not a sustainable business model.
A business version of the Linux desktop SHOULD cost money. It's not just the cost of support, it's the cost that goes back to development. Professional development that is wholly owned by vendors. Otherwise, Linux will be as good as its weakest link, and that is often a part-time hobbyist developer that will be gone this time next year.
I would gladly pay for Linux, if this means consistent, high-quality products. In fact, the cost can easily be absorbed and hidden in the hardware product that is offered. For example, when you buy a Dell XPS laptop preloaded with Ubuntu, do you have any idea how much the operating system costs? No, you don't, and you should not. But I would expect a portion of the price to cover the software side, too.
Ingredient 2: Paid products.
Who owns it?
Money can help, but that is not enough. Look at the enterprise Linux flavors. They are successful because pretty much everything they ship with is owned or supported by the vendors. Now, look at the desktop. Most of the stuff comes from third-party developers that have no legal obligation to anyone. It's a best effort show, and it shows. The level of amateurism in the Linux world is appalling, and again, it is a direct result of the distinct lack of ownership in the software space.
A professional company selling software cannot let a random person somewhere out there be responsible for the music codecs that will power the music player or a library needed for printing. This attitude is nonsense. Just look at Microsoft, Google and Apple, and what they ship with their systems. You don't get too much, but what you get is fully owned and supported by these companies, for better or worse. They will not sell you anything they cannot legally commit to.
This is the reason why the only way a Linux desktop can succeed if all its components come from professional sources, preferably the one company selling you the software and maybe even the hardware. At the moment, there isn't a single Linux distro that follows this model. This is why there's so much inconsistency across the board. No one cares if Samba or Gstreamer or something else breaks, because no one is really responsible.
This is also the reason why Xandros failed as a business. They tried selling you stuff, but they were not the owners of most of the software stack, and there was no added value in paying for support, because the model frayed at the seams. SUSE has its enterprise flavor of the desktop, SLED, but again, the bits and pieces that they cover are just not useful enough for home use. Once you step outside the domain of the vendor, the model breaks.
Wait, Dedoimedo, Microsoft does not own most of the Windows stuff either! That is true, but there are several cardinal differences. The basic Microsoft stack is fully self-sufficient and perfectly suitable to the task. You may not like Internet Explorer or Edge, but they exist. Microsoft Office, Notepad, Wordpad, Explorer, and so forth. These are products that Microsoft is committed to, and they allow anyone to use Windows. If they wish to expand, they can.
The third-party application stack for Microsoft is also very rich, fairly stable, supported for many years, and predictable in nature. Backward compatibility and driver support are also top-notch. You can run DOS applications in Windows. The T-42 laptop that I tested a long time ago had Windows graphics drivers 10 years after it was released to the market. Not for Linux, mind.
If you look at Linux, say Fedora, what Fedora apps are there exactly? None. Debian? None that count. Canonical apps? Well, they are trying, and this is partly because of the highly commendable if late Phone and Tablet efforts. Again, Canonical is ahead of the game compared to other vendors. And we now have Snaps available, which might change the reality a little. But then, without a formal owner, this effort may end with the same Catch 22 predicament like the AppImage framework.
Ingredient 3: Software belongs to the vendor.
What software exactly?
Well, a successful operating system lets its users actually do stuff. Drivers are the first critical component. Take a look at my G50 laptop and its Realtek card. I would rather have no distro boot on it than the half-arsed situation I'm in, where there are no proper drivers for my Wireless card. Again, because no one owns it, it's all about deflecting blame, one huge sad blamefest that's been going on for two years now.
Bumblebee is another example of shoddy, failed integration. True, distro vendors cannot control what Nvidia or Realtek or Intel do, but they could, if they were proper businesses, partner with them, run validation programs, and then release software tightly coupled to hardware, with well-proven results. It's all about doing things professionally.
After drivers, there's the operating system and the core libraries, which is almost okay, except everything breaks once we step into the userspace. Once again, Canonical tried to step up the game and got shot for developing Unity. But from a business perspective, it's the only way. Would you leave your business in the hands of Gnome, KDE or whatever developers and their petty bickering and random decisions?
The problem is, Unity still heavily depends on Gnome, there's not enough time to develop and test things properly, and there's too much third-party pollution to have a steady, dependable platform. This extends to things like codecs, sharing, printing, and more.
What do people actually need?
If I were a distro business, the very first thing I would offer is some kind of Microsoft Office support. I would make sure every Linux user is fully aware that you can actually run the online version of Office through any modern browser. This is probably the most important piece. I'm not running Linux 24/7 because I need Microsoft Office. Simple.
Games, Steam, so far so good. We have no alternative to Adobe Photoshop, so I would make sure to talk to Adobe. I would talk to every important company out there and make sure they release software for Linux. And it doesn't take too much. 10-20 apps will cover the majority of use cases.
Fully supported, native clients for Twitter, Facebook, Google Apps, Snapchat, Instagram, whatever makes the masses happy. The stuff that they love and consume on their mobile platforms, they should be available on the desktop. Not as an alternative to the existing model, but as a complementary solution.
I'm not saying let's make the desktop into a stupid, bastard touch monstrosity. No. But there has to be a viable commercial model available. On its own, Linux stands no chance, because people already have what they need. Replicating what Windows does may only work if you can slash the prices while offering 100% of the functionality. Instead, Linux offers only a fraction of that, and there's no competing with the giants in the cost game.
Besides, Google has proven that Linux CAN have an awesome commercial model. Why do you think they are bringing Android apps to Chrome OS? Why do you think they are doing all these crazy things? Because they have a clear, long-term business model, well defined and well funded and run professionally.
So yes, you can do everything through a browser. But that's slow and that sucks. Ubuntu Phone suffers from this problem, and it won't get solved any time soon. Native apps are a must. You need to make it easy for people to want to consume your platform. You may laugh all you can, but Powershell on Linux and BASH on Windows are probably the two most important things to have happened to Linux in the last year. Imagine developers who can now create software on a single platform. We may actually get to see Microsoft Office or Visual Studio land on Linux as an outcome of this endeavor.
Canonical tried to be a pioneer. For a while, you had the commercial scopes, lenses whatever in the Dash in Ubuntu, but zealots were screaming privacy and whatnot. You could also buy software through the Ubuntu Software Center, and you had that Ubuntu One account for all purposes commercial. It was a nice beginning.
I am not sure if this is still the case with the new and crippled Software Center. Ubuntu tried to move things forward, and I am sorry to see that they have caved in to the caveman mentality of the typical Linux user. It feels dead. Defeated.
Now, you don't design for the audience you have, you design for the audience you WANT to have. Canonical made a mistake of accommodating the 1990s-era users, who will never buy Linux products. There's no commercial model there. That's a graveyard.
Now, imagine a software center that has the following - integration with Amazon, Google Play, iTunes, Steam, whatever. You can buy games, music and videos directly through the store. Sounds familiar? You can use Spotify, stream and sync your data, save to cloud, whatever. Ignore the hypes, think of use cases.
Most desktop users will probably not want everything, but they might want some of these options and features. I would probably pay money for one or two online services that I find useful, plus Office, plus reliable software support. For someone else, it might be the hardware-software integration. At the moment, we have nothing. Nothing at all.
Ingredient 4: Commercial app store & desktop integration.
The Linux desktop is stuck. 1999 if you ask me, 2006 or so if you ask me on a bright day. But there's been no progress since the days of OpenArena, it's all empty dreams and hopes, there's nothing new coming. The kernel is progressing nicely, but that's a commercial entity, with most contributions coming from multi-billion-dollar giants.
In the user space, systemd, Wayland, whatever. Who gives a shit. Can I use the Linux desktop to achieve the top 5 things on my day-to-day agenda that I do in Windows? Nope. Can most people do that? No. So why would anyone bother?
Call me a fanboy, but Canonical is trying - the phone, the tablet, the convergence, it's all about trying to create a helpful, useful, practical reality for people who use their desktops and their tablets and phones and whatnot. Microsoft has a similar thing with their Lumia 950 line. However, Canonical just does not have the resources to pull it off. They are wasting time releasing pointless Ubuntu images every six months.
Sure, the company is growing, and their bite in the data center and the cloud space is growing, and those are truly encouraging results. This is where the money is. The desktop is almost a hobby. But one day, the company may just decide to give up on this dream, and focus on doing commercial stuff. Just like SUSE and Red Hat did.
People get excited reading about a new version of this or that software, but the important things are stuff like OpenStack Autopilot, Juju, Snappy, Landscape, partnership with regions and countries. This is how business is done in the real world.
Sometimes, when I'm feeling particularly insane, I'm thinking of going Kickstarter or VC, asking for millions of dollars to begin my own Linux desktop adventure and make it into a commercial product. But then, Canonical and Google have already done to some extent. Starting from scratch puts me five years behind everyone else.
And the sad part is, the product would be nothing like the Linux we use today, and virtually none of the current users would use it. Because they would hate me for selling my soul to the Devil or something. But let's face it. The classical model for the Linux desktop has failed to make it a popular domestic choice. It's 1-2%, and it's been there for the last decade or so. Nothing has cardinally changed, and just by doing incrementally more of the stuff will not sway the market.
People don't care about operating systems - and therefore, Linux needs not be Linux if it's to succeed. Google has proven it, and they will re-prove it once Chrome OS + Android hits the shelves. This means that the future of Linux actually means the death of pretty much all of the distros out there, all of the desktop environments, and 90% of useless, repeated software that does more of the same.
Sure, hobbyist efforts will continue, and they will be a welcome intellectual outlet, but in the long run, if we want a commercial Linux desktop, it can't remain in the hands of the masses. It must be a professional product, the standards will be harsh and strict. What we have today fails the test.
It does not take much to create a commercial Linux desktop. It's about hardware and software integration, a full-stack ownership of the product, commercial software plays a critical role, and it all costs money. But would you be willing to pay for a secure, stable, pretty Linux desktop that will be supported for 10 years, it comes with subscriptions to half a dozen multimedia streaming services, you can buy games and videos without ambling about the Web, and it runs on top-notch hardware?
I know I would. Then, does it matter what the operating system is called? So yes, the commercial birth of Linux is the death of our childish illusions. But after 25 years, maybe it is time for Linux to morph into a new entity, and it will no longer be our playground. Sounds sad, and it is, but I'm also tired of testing Linux distributions, testing and testing and testing and getting a small bit of my soul burned every time. You can only fail to print to an expensive printer so many times before it becomes ridiculous. Food for thought.