I’ve had this blog entry going around in the back of my head for some time now…it’s seen a number of false starts and revisions, finally I’ve decided to cut it down to just the essence:
Andy (re)started an important discussion. How do we increase use of GNOME and Free Software in general on the desktop? What’s our target audience? What kinds of things can we do? Why haven’t we taken over the world yet?
Basically, Microsoft Windows is like a big Katamari ball. It has an enormous amount of momentum in the form of first and third party applications, drivers, hardware vendors, etc. Put another way, it’s a Network effect. Even Apple, who have a huge influx of cash from their consumer electronics business and been returning some of that as improvements to their OS, have only seen their market share increase by tenths of percentage points (insert standard statistics disclaimer and standard Wikipedia disclaimer).
How about us? First, let’s note that overall, the Free Software movement is doing better than it ever has. For example, Sun is quickly transitioning to becoming a primary Free Software company (I liked this blog entry). I’m sure if you told Richard Stallman back when he started GNU that he would end up completely winning versus all of the proprietary Unix systems of the day, he would have been amazed.
Even Microsoft is now employ people who work on projects like IronRuby (as Sun employs major JRuby hackers, and did you know Apple has their own Ruby bastard child? (I’m doing my own Ruby implementation too)). So in general almost every large technology company now ends up contributing back in some way to Free Software, typically infrastructure (development tools, shared libraries). I liked this quote from the New York Stock Exchange:
“Red Hat is like water; it’s pervasive within our architecture. … Without it, most of our computers wouldn’t be running,” — NYSE
So we understand that Free Software is doing well. Let’s go back to the desktop specifically. Despite some negativity, the Free desktop is widely regarded by a number of important software development organizations (both Free and proprietary) as a target platform. For example, Mozilla and Adobe. We have quite a lot of Free desktop applications. There are a lot of professional developers, students, etc. using the Free desktop on an individual basis, and a growing number of managed (usually thin) deployments like this Europcar one.
In particular from that story it sounds like Europcar basically needed a desktop to run Telnet to some proprietary backend booking system. Yes, it doesn’t make sense to spend large license fees to Microsoft to run telnet. More generally for a growing number of corporations their needs are increasingly met by the web browser (the 21st century telnet). So we can expect deployments like this to increase. Every time I see the default Windows XP screensaver on a point of sale system I just shake my head. It’s a testament both to how enormous the Windows Katamari ball is (it rolled in the ISVs developing the point-of-sale apps), and to how no one ever changes the defaults.
But what about consumers? Let me just say this straightforwardly: I don’t think the free desktop is likely to see significant gains in unmanaged consumer computing in the next few years. Fundamentally, it has to be extremely compelling to get people to download it and replace their current operating system, and while we do have our advantages, most people just want to check their email and then go out and do something that doesn’t involve looking at a computer screen. Could we do better in the consumer area? Yes, I think so; I have some specific business-related ideas in that area that I won’t mention now, but in the end we’re likely only talking about a percentage point or possibly two for the near future.
For consumers though, Free Software does have decent success in the form of Firefox. What’s Mozilla’s trick to get so many downloads? What we can learn is that Free Software is certainly a necessary condition, but not (in general) sufficient. The other key is the user experience. People can very much appreciate things that make computers suck less. Firefox 2 added tabs, Firefox 3 added the awesomebar. There is of course also the fact that installing Firefox is far less risky than replacing your operating system, and while we can do some things to ameliorate that it’s difficult.
Don’t get me wrong; I think we will see more adoption of the free desktop among consumers (as a percentage), but again, the Katamari ball isn’t going to stop overnight. A lot of people seem to think either we won’t see any increasing adoption (again, as a percentage), or that there will be an inflection point at which adoption takes off, and I don’t think either of those are likely soon.
So the other main audience is technical computing; sysadmins, developers, scientists, etc. What we absolutely must do is stay on the ball for this audience. These people are in some ways a proxy for the larger audience; even particle physics researchers want their sound to Just Work. For example, this bug from a Mozilla developer. That’s a generic GNOME bug; on the vendor level we are still struggling with a good upgrade process. This blog from a Fedora developer, and this blog from a Mozilla developer using Ubuntu. As I’ve said before, apt-get or yum or whatever are fundamentally just fancy implementations of wget; upgrades (without random manual intervention in a terminal) are a harder problem than that.
Anyways this is a long entry now and at the beginning I said I’d keep it short =) So the bottom line? We’re doing OK. But truly spreading the Free desktop requires solving many hard problems that do exist. We can’t spend time screwing with the code. Think about how to make the experience better; it could be for developers and sysadmins if you like, or better for nontechnical users.
One last thing; while writing this entry I stumbled on Federico’s 2006 summary of feedback from thin client deployments that I hadn’t seen before. There’s a lot of things there that are eminently solvable. Let’s just do it.