It’s been interesting following the recent discussion about the Linux Desktop and how it failed. It’s a notion that’s been around for some time - I’d say approximately since people tired of discussing whether next year was going to be the Year of the Linux Desktop or so. Painful as it is, it’s also a notion that needs to be discussed, so we can learn from it or at least try to put it to bed.
Sometimes I feel like we’re talking past each other, though. As with any discussion, it’s a good idea to define what we’re talking about:
Most of us use the term “Linux” very loosely (just ask RMS). For instance, it can refer to:
- Linus’ kernel tree, or the tree of some other well-respected Linux maintainer.
- GNU/Linux proper, including the much-loved userspace.
- Anything based on a lightly modified Linux kernel - this is what GNU/Linux distributions tend to ship, but it also appears in routers and all kinds of embedded devices.
- Anything based on a Linux-derived kernel, including heavily modified/forked Linux kernels - the Android kernel comes to mind.
As it happens, we also use the term “success” (and conversely, “failure”) very loosely. It reflects who we are and what we want to achieve with Linux, e.g:
- Works-for-me. A solution that works well for ourselves and for some of our friends. Also known as “itch-driven development”.
- Works-for-everyone. We tend to define “everyone” as people who have requirements different from our own - often typified as parents, grandparents, spouses, and so on. Whether these demographics will end up using it is seen as a separate problem. Maybe if you build it, they will come, but it’s not a requirement that they do so.
- Engineering excellence. A product of inherent beauty, often the result of some design process/criteria, but not necessarily addressing a specific problem. Sometimes you will see this masquerading as works-for-everyone, but you’ll be able to tell it’s about excellence by its uncompromising nature.
- Commercial ecosystem. A big, commercial ecosystem built around Linux, often expressed as market share or total revenue generated by sales.
- Big user base. Similar to commercial success in that it emphasizes quantity and popularity, but usually with the aim of enabling freedom/free culture instead of business models.
This used to mean something like “a top-level graphical user interface with a file browser and application launcher”, but user interfaces have become more diverse, and it might make sense to include media libraries, smartphone interfaces and other environments where you can’t explicitly browse files. We’d have to draw the line somewhere, though - I doubt my router’s configuration UI would make the cut.
What do you want from (GNU/)Linux?
Depending on your perspective, Desktop Linux may be a failure - and if you were expecting to put GNOME in front of a majority of the population of planet Earth, it certainly is.
In many other ways, it’s a success. It’s been a test bed for a very capable free library stack, including GLib, GTK+, Cairo, Pango, D-Bus, GVFS, GStreamer, and more recently, Clutter and Cogl. This is not trivial. The surrounding community has also grown and diversified, and it has nurtured individuals and groups who’ve gone on to do some pretty sterling stuff.
I think a desktop built on the GNOME platform could still be a moderate commercial success if integrated and marketed skilfully, perhaps tied to some kind of hardware. The window of opportunity hasn’t closed - the UI space is fragmented, Windows 8 is coming out, Valve have announced Steam for Linux (shiny games!) - and our building blocks are better than ever.