Linus Torvalds on the Linux desktop's popularity problems

Linus Torvalds on the Linux desktop's popularity problems

Summary: Prompted by an article on trouble with the Linux desktop, several top Linux developers talked about the technical roots to Linux desktop's popularity problems on Google+.

Linux developers disagree on why the Linux desktop hasn't taken off with users.

I'm a Linux desktop user. Google's staff are Linux desktop users. But the Linux desktop itself has never been that popular and Miguel de Icaza, one of the creators of the GNOME's Linux desktop explained why in What Killed The Linux Desktop. Linux's creator, Linus Torvalds, and other top Linux developers, had other takes.

De Icaza had argued that Linux desktop's 'failure' was “rooted in the developer culture that was created around it.” Specifically, “Linus, despite being a low-level kernel guy, set the tone for our community years ago when he dismissed binary compatibility for device drivers. The kernel people might have some valid reasons for it, and might have forced the industry to play by their rules, but the Desktop people did not have the power that the kernel people did. But we did keep the attitude.”

By that, de Icaza meant, “The attitude of our community was one of engineering excellence: we do not want deprecated code in our source trees, we do not want to keep broken designs around, we want pure and beautiful designs and we want to eliminate all traces of bad or poorly implemented ideas from our source code trees. … And we did.”

He continued, “We deprecated APIs [application programming interfaces], because there was a better way. We removed functionality because 'that approach is broken,' for degrees of broken from 'it is a security hole' all the way to 'it does not conform to the new style we are using.'”

And here is where Torvalds disagrees. Torvalds wrote, “One of the core kernel rules has always been that we never ever break any external interfaces. That rule has been there since day one, although it's gotten much more explicit only in the last few years. The fact that we break internal interfaces that are not visible to userland is totally irrelevant, and a total red herring.”

Ingo Molnar, a leading Red Hat, Linux developer added, “The Linux kernel project was always very strict about keeping its external ABIs, intended ABIs and even accidental ABIs. This is how it's possible that Alan Cox's 20 years old Rouge game binary built in 1992 is still compatible with and working</b>on today's latest Linux kernel unmodified - and will still work 50 years in the future.

Theodore “Ted” T'so, another top Linux kernel developer, added “instead of the desktop developers from only paying attention to the kernel's attitude towards internal interfaces, and IGNORING the kernel developer's attitude towards external interfaces used by applications --- and then taking the wrong lesson by focusing on the wrong thing.  May I suggest that this is totally and wholly the GNOME developer's fault?   The fact is that we've always had the attitude of You Will Never Break Applications has been a hard and fast rule for decades, and we have reverted kernel changes when breakage has been discovered.”

But, there was more to it than development style, de Icaza stated, “The second dimension to the problem is that no two Linux distributions agreed on which core components the system should use. Either they did not agree, the schedule of the transitions were out of sync or there were competing implementations for the same functionality.”

De Icaza continued, “The efforts to standardize on a kernel and a set of core libraries were undermined by the Distro of the Day that held the position of power. If you are the top dog, you did not want to make any concessions that would help other distributions catch up with you. Being incompatible became a way of gaining market share. A strategy that continues to be employed by the 800 pound gorillas in the Linux world.”

To this, Alan Cox, a leading Linux developer replied, “That made me laugh. There was KDE and Miguel then came along and created the very confusion he's ranting about. … He's dead right about the way the Gnome people keep breaking their compatibility every time not just with the apps but with the UI, with the config (which is still worse now than in Gnome 1.x !) and so on. However it's not an Open Source disease its certain projects like Gnome disease “

Torvalds agreed, “Some gnome people seem to be in total denial about what their problem really is. They'll wildly blame everybody except themselves. This article seems to be a perfect example of that."

Be that as it may, de Icaza, argued that both factors “killed the ecosystem for third party developers trying to target Linux on the desktop. You would try once, do your best effort to support the "top" distro or if you were feeling generous 'the top three' distros. Only to find out that your software no longer worked six months later.” On the Google+ thread, de Icaza added, “Supporting Linux desktop for proprietary software developers is just too expensive and the market is both small and deeply fragmented.”

In his article, he continued, “we missed the big picture. We alienated every third party developer in the process. The ecosystem that has sprung to life with Apple's OS X AppStore is just impossible to achieve with Linux today.”

Today, de Icaza is a Mac OS X fan. In an addition to his article, de Icaza wrote, that “the various Linux on the desktops are the best they have ever been. Ubuntu and Unity, Fedora and GnomeShell, RHEL and Gnome 2, Debian and Xfce plus the KDE distros. And yet, we still have four major desktop APIs, and about half a dozen popular and slightly incompatible versions of Linux on the desktop: each with its own curated OS subsystems, with different packaging systems, with different dependencies and slightly different versions of the core libraries.”

Is there an answer? A way for Linux to become popular on the desktop? De Icaza opined, “The only way to fix Linux is to take one distro, one set of components as a baseline, abandon everything else and everyone should just contribute to this single Linux. Whether this is Canonical's Ubuntu , or Red Hat's Fedora or Debian's system or a new joint effort is something that intelligent people will disagree until the end of the days.”

Related Stories:

The truth about Goobuntu: Google's in-house desktop Ubuntu Linux

The 5 most popular Linux desktop distributions

Microsoft is pushing users and vendors to Macs and Linux

Is GNOME “Staring into the abyss?”

Ubuntu 12.04 vs. Windows 8: Five points of comparison

Topics: Linux, Open Source, Operating Systems, Software Development, Ubuntu, PCs

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • These things don't happen on Windows

    Just sayin' - I can run a 16 bit version of Excel from '92 on Windows 8 Pro 32 bit today and don't worry (not that I would want to anyway). Windows 8 is fast and fluid and is more progressive. Another thing, we don't have this type of TMZ drama in the Windows community.
    • Too true

      First things first; I'm a geek. All my friends that use linux are geeks. I love linux and have had it as my primary OS since '08. Lately i've gone over to FreeBSD based flavors for my primary OS while some major changes; GTK3, kernel 3 etc worked themselves out.

      I think the articles raise some good points; backwards compatibility, 6month cycles, even the fact that upgrading your distro goes wrong so many times, we recommend people re-install. This is far far more hassel than the average person poping into PC-World has time for.

      Let's have a look at my unbiased expereince with Ubuntu over the last few years:

      When they released the 10.04 LTS, I think the general feeling was that the distro had really arrived; hardware detection was excellent for many; I even got function key support for the first time with this release. The netbook edition felt mature and stable, and the only real problem was the kernel drawing too much power, this was addresses to a point. Oh and people went crazy about moving the window buttons to the mac side.

      10.10 came, and for the desktop things got more stable. The netbook went a bit weirder as unity previewed, but things were still pretty solid... Again the distro had moved forwards.

      Then the trouble came. Unity alienated many with 11.04, then kernel 3 created many new problems for users in11.10. We expect this, it's where there are LTS, stable and unstable, testing etc, etc, etc.

      Now I like Unity as an interface, but the fact remains that my personal experience is that I went from an out of the box experience in 10.x to display, trackpad, network, brighness, function key and bootloader issues in 11.x

      Whilst these have all but resolved in 12.04, the fact remains that I need 3rd party repos and hacks to attempt tasks such as moving the launcher, resizing the launcher, hide the task bar? It comes with 2 themes, all massive configuration leaps backwards from 2 years before. To your average user, asking how to move the "dock thingy" and being told to add a repo, a package, and then still not having it an easy task is just rediculous... It should all have been a right click option by now. Things like having a totaly non functional hud in an lts; yes it looks as though it'll be excellent when it's finished, but it doesn't work, yet it's there, bloating up the alt key.

      I don't mean to rant, *buntu/mint remains my favourite distro, but as to why most can't be bothered with the hassle of the linux desktop, you need look no further than the top four distros. If you cant have it install on any pc made in the last... Shall we say 6 years with zero hassle, then be able to keep it upto date without doing a full reinstall for 3 years, then it's not ready for the average user.

      It all comes down to the old addage; if my mother can't use it, it's not user friendly.

      I still believe in open source, I'm on it right now, but I wouldn't install it on a friend's PC for them... I'd give them Windows 7.
      • more "Linux is too hard" nonsense

        I'm not a geek, or a techie (in fact, I sell used books), but I've been happily using Linux for over a decade.

        Of course, Ubuntu has gone down the road of putting promotion and glitz ahead of maintaining quality, but then, Ubuntu is only one flavour of Linux.

        You wouldn't abandon driving because a particular model or make of automobile which you used to like/used to be happy with started producing lemons --you'd get rid of the lemon, and find a model, or even a brand, that you like better. Same with Linux -- except you don't have to worry about resale value, whether you can afford a replacement (you don't even have to worry whether you will like the replacement, you're not stuck with it if you change your mind).
        • It may be a subtle point, but...

          The issue here is the ACCEPTANCE of Linux in the larger market. We all know that nerds love it, but we also know that nerds DON'T rule the market. We also think that having Linux be where MS is now would most likely be a GOOD THING for humanity.

          But that future can't be bought piecemeal by a crew of over-thinking nerds, is the problem.

          We NEED to standardize, so that any gramma can buy a Linux box, select the No-Hassles Setup, and have that box function well, and CONTINUE to function well into the future, fixing itself as needed over time.
          Lightning Joe
          • Spot on...

            I've been looking at the reactions to this article (and my assertions) over the last few days with
            much interest.

            Given that we mostly read SJVN because we use and love GNU/Linux, I think the reactions here give a broad summation of what is wrong in the attitude of our community.

            I've not seen an article with so many likes and flags in ages. The flags concern me... Flag as spam or offensive/harmful... And readers from both camps are clicking away to try and get arguments they don't agree with removed. You don't even see this very often with the fandroid Vs IPhan teen arguments on here.

            Of course you should flag offensive material, and I'd be lying if I wasn't secretly proud of the flags I racked up on this topic, but it's indicative of the problem...
            Pretend everything is perfect and shout down anyone who points out the elephant in the room...

            This article was supposed to be about where Linux can improve, instead I've read potentially harmful FUD such as 'it's much easier to install than Windows' ... This is not true across the board, no way, no argument - community support is better for us linux users, but the chance you need it much higher to. As someone who has installed both on hardware of varying ages on tens of machines over.... Well years, just no. It's simply not true.

            To be honest I was taking much of the later linux advances as read in my earlier post, focusing soley on what is wrong. For example, in an attempt to pass the point across I used the example of my mother as an example of someone who is not only not very tech-savvy, but also has not interest in how something works. Again, the response was find an example of a time it did work, and uniformly apply this to all. We can't keep doing this it's about setting expectations of users. If they know what to expect they are less likely to give up. Pretending ecerything is perfect and you'll never get a bug, just won't help linux adoption.

            I can apreciate that many worry that comments like mine will have a similar impact on adoption... And I'd never introduce linux to someone in this manner, but non-technical people are unlikely to end up here, and the title of the article will have already done the damage.

            The only apology I would like to make is to Ubuntu.. I had used it as an example of a distro most users have used to relate common trends and it sparked something of a distro contest. I only referenced it so as many as possible can relate, and I had hoped people would have got the point. If it helps, my disto of choice is usually something ubased- mint or ubuntu with kde installed... SUSE and I have a gentoo virtual host for testing.

            Oh and one big thank you for some of these gems... 10 years ago linux was just as easy to use? Well I fist encourterd debian Potato... I had to print out the install guide, and it was another month before i understood what a mountpoint was.

            We've come such a long way, let's not get complacent now!
          • Grandma doesn't care about Linux

            If grandma even wants to use a computer then it will be an easy computer. She wouldn't care what OS it's running as long as it is easy to understand and use and "just works".

            Normal users don't care about the OS either. The borderline computer illiterate would want to just keep using the same thing so they don't have to struggle with anything that is even slightly different than they are used to. The others needs something that isn't too alien and can accomplish all their tasks. They don't care much about operating systems either. They just go with what comes on their computers, so the main thing is to get pre-installed devices in retail stores. They don't do much to change default setting either, so configuration options aren't all that critical and if it's not easily achievable then it doesn't exist.

            If Ubuntu fixed the USC and got itself into retail stores it would be very close to perfect.
        • ubuntu has sacrificed some configurability

          which is annoying, but I strongly disagree that they are lacking quality. their LTS distributions are pretty damn stable, and while most distros just try to make the standard desktop with a little extra configurability or stability (which is not a bad thing mind you), ubuntu is one of the few distros actually trying to innovate the desktop and look for new directions to make computing a more enjoyable experience. not everyone likes unity, and that's fine, but they have more imagination than most distros out there, and I think more should try to look for something new instead of just polishing the old.
        • Windows upgrades break things too

          They just upgrade less often.

          Regardless, if I have to re install Linux I can do it easily without losing any files even if I don't have a back up. Re-installing with the Ubuntu live CD defaults to preserving the /home directory where all of my files are. It works like a charm.

          Also, my last two upgrades in Ubuntu didn't break anything. OS upgrades are rarely a smooth process and every sys admin worth a grain of salt knows to be wary regardless of the OS. That's the const of change.
      • if my mother can't use it, it's not user friendly

        My mother uses it, she uses Debian Squeeze, and she has no problems with it what so ever, so I guess its user friendly then.

        "If you cant have it install on any pc made in the last... Shall we say 6 years with zero hassle, then be able to keep it upto date without doing a full reinstall for 3 years, then it's not ready for the average user."

        I've installed Linux on PC's made within 6 years with zero hassel, in fact I just brought a brand new laptop a week ago, and the only driver I had to install was for the card reader, now if you compare that to a windows install, who knows how many drivers you would have to install, so Linux is actually less hassle than windows, its just that windows comes preinstalled making it seem easier, and Ubuntu LTS has a five year support span, so you can keep it up to date without doing a full reinstall, and rolling release distro's like Archlinux can be kept up to date without doing a full reinstall, so I guess its ready for the average user then.
        • Yes but does she maintain it?

          That's the real trick and that's what people are getting at.
          My daughter who has no interest in computers other than internet access and homework USE"S a Linux notebook but I maintain it as I'm a PC tech.
          What of the bloke down the road, or the mother down the road? Can they maintain it with out friends or family who use's and knows Linux? If not then it's not ready for mainstream.
          • Yes but does she maintain it?

            She doesn't need to maintain it, it doesn't need any, thats the beauty of it, it just works, its not a high maintenance OS like windows.

            And what of the bloke down the road, or the mother down the road? can they maintain windows by themselves? no they can't, so windows isn't ready for mainstream then.
          • My GF's Windows 7 machine breaks all the time

            I have to lock it down for her so she can't install anything. Windows machines are a hassle to keep up when the user isn't an IT pro.
          • "Maintaining" linux vs WIndows

            I am somewhat OS agnostic, do much of my routine stuff (email, digital photography and music digitizing, etc.) on a Mac. I got my start in DOS and in fact worked only in DOS and those particularly dreadful early Windows versions for many years but now use Windows as little as possible. It was seeing a NeXTStation in '91 and then buying one and using NeXTSTEP that convinced me that the whole mouse-menu GUI thing actually made sense. I bought my first Mac a year later. I have also (mainly in a university lab) suffered with limited maintenance of Solaris on SPARC. But I admit that linux is what really interests me (starting in '96 with an InfoMagic CD) and where I would do everything if I could (and that of course does make one comment about the limits of the spread of linux). As a scientist I would never imagine doing "heavy lifting" in any other OS (by that I mean truly computationally intensive analyses) and in many fields of science *nix and linux apps are still the best available.

            I know that it is popular for linux bashers to complain that linux (I mean today or in the last few years, not in '96 when I started using it) is difficult to set up and maintain, but the fact is I do spend a lot of time (too much time) "fixing" my own Windows boxes as well as my friends and my lab computers at the university and it is simply wrong for Windows zealots to claim that Windows takes no work to keep functioning properly. What I observe is that (and this was and is particularly true with XP) the average Windows user accepts that periodically you just reinstall Windows from scratch because the performance and stability deteriorates with time. Even Windows 7 and Windows 8 still have that cursed monstrosity the Windows Registry, and if you don't fairly often run several different registry cleaners the registry gets so overloaded with debris that Windows starts to work more poorly. Then you have that hideous excuse for a file system, NTFS, which fragments and scrambles files by design ("lazy writes"; apparently NTFS is based on the old Vax VMS file system) and if you don't run a third-party disk defragmenter or even optimizer then performance takes an increasing hit. I will also tell you that in my experience the best way to try to rescue or repair a Windows problem is often by booting into a linux distro (if you have dual-boot as I do on all of my PCs) or at least with a live linux CD-DVD like Knoppix.

            So I think this "does she maintain it" is a straw man. His mother may very well have some challenges keeping her linux working well in the long run but she would in Windows (maybe more so) as well but just wouldn't know it. I also note he mentioned that she is in debian, which I have gravitated to myself after having used most major (and many minor) linux distros since '96. I often have several distros on any one computer (this machine has Mint, debian, plus XP Pro 64, Windows 7 Home Premium and Windows 8 Preview) plus a few virtual machines in Virtualbox but I admit that I have become rather tired of the *buntu group insisting that there will be two releases a year regardless. I do prefer the more conservative debian approach.

            I am amused by non-linux people complaining that linux has too much choice in the number of distros and I often wonder what it would be like to walk around a grocery store with such people or go car shopping with them. I think that debian and its numerous derivatives have one huge advantage in the form of the software repository. I don't think that Redhat-Fedora, openSUSE, Mandriva-Mageia or Slackware and their derivatives (nor any of the BSD variations, some of what I have tried at times) offer nearly the breadth and depth in that regard.
            The dominate computer OSs, Windows and MacOSX are monolithic and apparently a lot of computer users either prefer that or aren't even aware of that. I don't know how you reconcile the obvious benefit that I personally feel that the various linux distros individually and collectively offer (that is mainly in terms of options in desktop and windows managers in X) because I do currently use mainly Xfce or Xubuntu, but I can see the benefit of and do use KDE, or at the other extreme LXDE, as well at times.
            The other point is to not forget the state of computer hardware and computer operating systems in the mid to late 70's and into the mid 80's when there really were a huge variety of both. Or even later with OS/2 and BeOS. Some survived, some didn't. Even Windows and MacOS evolved. The computer business is a very volatile and often unpredictable one.
            We will see how the Windows 8 thing plays out. I think the whole tile business (formerly known as 'Metro') is stupid on any platform but especially moronic on a non-touch sensitive desktop or laptop computer system but Microsoft was dictated that at least when you start Windows 8 that's what you'll get. Maybe computer users will wake up, rebel, and finally be more open to good alternatives, obviously including linux.
          • Too much choice?

            The thing that sets Linux apart for me, and I think for others as well, is that debates rage within the community, and have an actual effect on development. There are a large range of opinions in the Linux community and there are distros to match most of the major themes. There is also the opportunity to develop the changes you wish to see if you are so inclined, and NONE of this is true of Microsoft or Apple products. That's my 2 cents.
            Kevin Warner
          • Choice vs Popularity

            As a Debian (Unstable) user, I wonder if it is possible for an OS to have lots of variants and improve all the time and still be popular with the masses. I suspect not.
          • Nice writeup

            This is more informative than most ZDNET articles. Thank you.
          • Easy to Maintain

            What is hard about maintaining Linux? You just OK the updates when they come in, basically just like in Windows.

            If anything I spend more time maintaining other people's Windows installations than other people's Linux installations. My brother and sister-in-law have a Windows 7 computer, and they've been having some issues with it, but my sister-in-law does OK with some phone calls to me for support.

            Their son has a Linux laptop that I gave him, and I never have to help him maintain it. The only things that I ever help him with are distribution upgrades and very occasionally hacking for something incompatible (like his iPod Touch), which wouldn't be necessary if Linux were a bit more mainstream and were supported by third party companies.

            Another brother maintains his Windows computer by basically never doing anything new with it, and just running updates, but calling me if he has a problem.

            The one problem with Windows is that it's easier for updates to some program or other to be neglected because it doesn't get updated with the rest of the system. This might become more true for Linux if more proprietary software were released for it.
        • Windows comparison?

          As someone who has never bought a machine with any OS preinstalled, I think I can safely say that windows 7 is pretty good about installing what you need. I will admit that you may have some chipset drivers to install, which is a PITA, but my experience with Linux Desktop (which I used for a year or so, ending about 3 years ago) was mixed. Ubuntu's app installer was good. The problem was when you wanted something that wasn't in it (e.g. the latest version of Firefox). That's probably been fixed by now (at least I hope it has), but I ran into little issues like that and the pain associated with them far outweighed the benefits.

          Someday I may try it again -- there are definitely advantages to using linux when you develop for *nix servers -- but that time is not now.
          • windows 7 is pretty good about installing what you need

            That hasn't been my experience, I have done a fresh install of windows 7 on my old laptop, and I needed to download drivers for the soundcard, the touchpad, and the graphics card (if I wanted half decent performance out of it)
            On the other hand with Linux, I didn't need to do anything, the Kernel had all the drivers.
          • You know that's an anecdote

            I've had difficulties in both, and ease in both. However, interface issues kill Ubuntu. It's not easy for most people. Windows7 is easier and more compatible, the same reason I dumped OpenOffice for Office10, for $100 3 seat license, it wasn't worth messing around with the hassles. That is why Ubuntu hasn't taken off. That is why OSX is a minority player.

            I like Ubuntu as a free OS for old hardware, but it's not maintenance free (no OS is, the the OSX trade-off of limited choice for solidity is probably best). Windows dominates because it's broad scope.