Growing Linux Desktop market share
I have been reading this article over at Information Week over and over the past few days because it bugs me. It bugs me for several reasons, the most important reason being that part of it is right. Now, I think a few of the "7 reasons" are bogus and irrelevent but a few are close to correct. And, the premise that this is not the Year of the Linux Desktop, and that next year is probably not the Year of the Linux Desktop is valid. And it won't be the Year of the Linux Desktop until a few things change. The good news is that some of those things that need to change have started or are slowly inching forward. But there are still a few issues which were touched upon in that article that have not yet been addressed at all.
First, let me do a quick (very quick) commentary on the key points from that article, followed by a few thoughts on what is missing. Alex Wolfe's 7 points are (slightly simplified):
1. Prohibitive application porting costs
2. Fanboy alienation
3. You can't make money on the operating system
4. Resistence from average users
5. Linux is "simple"; Windows "just works"
6. There are way too many Linux Distros
7. No Powerful Evangelist
I think of these, the three that are most important are Applications (and Porting), the "simple" vs. "just works" distinction, and, a bit, the comment about too many Linux Distros. I'll come back to those three in just a moment.
With respect to Fanboy alienation - most end users don't deal with Fanboys, or, if they do, those Fanboys are just as prevalent for any OS, and software, any hardware. And face it, most of these fanboys are die-hard geeks who learn their social skills in SecondLife. I don't think that is helping or hindering Linux in any material way. As far as making money on the OS - OS's haven't been a profit center for anyone *except* Microsoft for over 10 years now, maybe closer to 15. In the days of the Unix wars, the investment in the OS was high but the derived value was always in the enablement of hardware or applications. That surely hasn't changed. As relates to resistence from average users, there may be a bit of that because people resist paradigm changes that don't add value to their lives. And, in many cases, Linux provides "equivalents" for Windows applications, not clearly superior applications. And, of course, there are many applications missing or simply hard to find/identify. Especially when free software doesn't wind up in boxes that people can pick up at Costco or Walmart saying "here's how to do your taxes". And, as far as evangelism, Linux grass roots evangelism seems to be as powerful as any force out there. And, of course, the Linux Foundation is working to provide a focal point for some of that evangelism as well.
However, the three points that I believe are valid from above have slightly different core issues. Yes, the absence of common, key applications on Linux is a challenge. I still struggle with my Linux x86-64 platform because Sun Java plugins for Firefox are not available, Apple's QuickTime isn't available, Macromedia isn't available, etc. Yes, there are workarounds, but they are not bundled in a single "yum" package with dependencies that allows me to "just make it work". But there are other applications that don't provide native Linux ports today - TurboTax, PhotoShop (sure, gimp is more powerful, perhaps, but as a photo editing novice, I was able to do more with PhotoShop in a few hours than I've been able to do with the gimp in several days), and other desktop software. On the other hand, nearly every major application that runs on Windows servers has a strong equivalent or a direct port to Linux, such as databases, web servers, PHP, perl, python, backup/restore software, etc.
I think the real problem here is that interactive applications may be a bit more difficult to write for Linux, in part because things like sound, graphics, panels for print, print preview, document layout, etc. have so many options for the developer to choose from. The Portland Project is helping to standardize many of these with the goal of simplifying the writing/porting of desktop applications. This is one excellent activity that came out of OSDL/The Linux Foundation pulling together the various Linux Desktop Architects and a number of desktop ISVs. Of course, reaping the full benefits from this activity are still a year or two out. I could drone on more about the challenges here and some of the other activities (like the Linux Standard Base) but I'll leave those for another time. The summary though is that there are some challenges in writing/porting desktop applications to Linux, although usually it isn't porting cost that stops companies from having Linux applications, but the ongoing maintainance and support costs based on diverging platforms, changes in the underlying environment, and the required QA that needs to go into the release.
I see a parallel between Linux and IBM internally that parallels Alex's "simple" vs. "just works" argument, although I'd phrase it a bit differently. Linux (and IBM) have *great* technology that can solve nearly any problem, address nearly any workload. However, translating that technology into desktop value, business value requires an expert in those technologies. IBM has started delivering "Express" solutions which provide less functionality that is more accessible, and in some sense, that is what the various distros try to do for a given target end user. But, that leads to the last point that I wanted to address, and what may actually be the most important overall.
I believe there *are* too many Linux distros. Well, maybe not "too many" exactly, but too many that are too different in all of the minutia that matter to application writers, end users, systems administrators, etc. And, most of those differences do not add any value to any of the distros - pulling in a slightly newer version of one library here that is incompatible with some other application or library that has several new features, or changing the location of repositories or the directory structure to match one distros view of "the best" location. Many of those types of changes wind up creating fragmented support forums on a per distro basis (how do I get my TV tuner card to work? Well, what distro and what version of that distro are you running?). And, this proliferation of distros makes it especially hard for the ISV's writing software to know how to adapt to a given distro. Sure, the LSB helps to address some of those, but the LSB is like a color by number book, and to be honest, most cool applications are closer to Van Gogh (or maybe Picasso) when it comes to creativity, and that creativity often requires capabilities beyond the LSB.
My radical answer to this problem, which might also solve some of the desktop adoption issues: Start with a single, common distro as the core for those hundreds of other distros. Something like Fedora or Ubuntu, which are already pretty common. What if Fedora were the basis for OpenSuSE and Ubuntu, for instance, and then those distros added their value *above* the basic capabilities that most ISV's ported to? As we pointed out above, most of the desktop distros are given away for free anyway - there is no value add returned for all that investment in the desktop, typically. The real value is still being added above some basic/core level. Why not consolidate on a single base building block core and give up the rat race of adding negative value at great development cost to many independent distros, and focus on the value add above that line?
[John Cherry had some excellent comments (below) and also posted an article on his blog at the Linux Foundation which is worth reading!]