Why Linux desktop lags behind

Jeanno
5 min readAug 30, 2022

--

Why Linux desktop as oppose to server lags behind in terms of popularity and usability [1]? Although usability could be very subjective depending on how technical the user is, I would argue Linux desktop is less usable than other more popular OS like Windows and MacOS. Although different people might come up with a different reason, it is a thing that the majority of Linux users agrees with.

As this is a topic that the community has discussed many times, various reasons, from poor package management system, fragmented development effort to insufficient hardware support, have been suggested to explain why the year of Linux desktop still hasn’t arrived. However I think they are merely phenomenons and fundamentally there is one root cause which is seldom pointed out and missed by most people: the GPL license of Linux.

GNU General Public License (GPL) is designed to prevent the software from being commercialized. For those who don’t know, GPL requires anyone who extends or uses the code in software that is distributed, the person must also make the source code available freely with the same GPL license. For example, if you add features to a GPL software, you must also release the edited source code which effectively means that you wouldn’t be able to charge the user for using your software. Which means it is not possible to monetize your software directly by selling it because the user has the source code for free anyway [2]. To do so, you would need to have a model like Android, which monetize through Play store and ads.

For proprietary software, if it starts to become popular and profitable, the programmers would be able to leverage the money earned to support their living, or reinvest to improve the software, perhaps starting a company and hiring more programmers to work on it. I believe this feedback loop is crucial to the success of many software, or even our society.

It is undeniable that there are great software engineers who have put a lot of effort in creating Linux desktop environment. But there are even far more mundane work to be done. If a programmer has to choose something to work on for free, he or she would pick something interesting and challenging. Adjusting the color and size of a button, displaying error messages in the right area with the right font, could be fun for the first time, but certainly not after a hundred times. And these are exactly the things that are left undone in Linux desktop. A hired programmer has more incentive to do so out of responsibility or the necessity to keep the job.

But since Linux is a great and popular choice for servers, you might wonder, why is there such a big difference between Linux server and Linux desktop? There are approximately 3 reasons from where I can observe:

  • Server software doesn’t require graphical interface, and it is much easier and requires significantly less effort to create a usable command line interface than GUI. Server and CLI are a perfect match mainly because it is way more easier to reproduce operations on command line interface than on GUI, with or without scripts. It uses a lot less resource and is easier to access remotely.
  • Server does the same thing over and over again. They have similar patterns — a web server connected to a database, an FTP server which serves files, a server that needs to handle cron jobs from time to time. Most of them are just not evolutionary. Even if sometimes it requires troubleshooting to set up the server, you would normally have to do it once, or at least you would’ve learned how to handle it next time.
  • Linux is free. As a teenage hacker, you would always choose Linux over Windows Server or whatever IBM stack they have or had, not because Linux is technologically superior but simply because it is free! 20 years ago, when web servers are mostly running with CGI and Perl scripts, you can easily find free server hosts with Linux installed. Windows and IBM started out as more popular choices for servers in the corporate world. But as these teenage hackers grew up and became tech leads, directors or CTOs in these companies or in their own startups, most of them picked Linux out of familiarity (and an abundance of Linux hackers). A teenage would choose free Linux desktop too, but constant troubleshooting really turns people off, so they would rather get a cracked copy of Windows for just a few bucks.

It is really fascinating once I figured out how the GPL license works for Linux Server but against Linux Desktop.

Fortunately, things are changing in the recent years. As companies have found ways to monetize Linux based on their existing solid monetization model, there are incentives to polish their Linux distros. Android has become the most popular platform for mobile users. ChromeOS has become the most popular OS for low end laptops and will probably become more popular in higher end laptop or even desktop in the next few years [3]. The Steam Deck bundles Steam together with Linux and a specific selection of hardware, allowing Valve to reach more gamers and sell more games. It is quite ironic to see a group of people from the Linux community bashes these big corporations on how they invade users’ privacy and “sell” users’ data, even though some of them are true, at the end it is these big corporations who has made Linux widely accepted by non-technical users.

[1] I was playing with Fedora recently and tried to update the system through GUI. The software update button isn’t disabled or changed in any way after being pressed, although it did seem that something was happening at the background. However after a while it failed and an error message showed up, but there was no instruction on how to resolve the problem. Later on I was able to perform the update through terminal, but the whole experience is mediocre in my opinion.

[2] Some companies like System76, hire programmers to build their version of Linux distros. But since everyone can retrieve a free copy anyway, I would consider them as advertisements for the company rather than products to be sold for profit.

[3] Some might argue that Android and ChromeOS are not Linux distros, but most people would agree that they are in a broader sense.

--

--