Friday, September 21, 2007

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!]



At 2:38 PM, Blogger John said...

Gerrit, glad to see that you are spending a little time in desktop space. As initiative manager for the LF Desktop Linux workgroup, I have spent some time thinking in desktop space as well. You have a good handle on some of the major problems, especially the problems that ISVs have in porting applications to Linux. Your solution is also interesting, but it reminds me of the United Linux fad that we experienced a few years ago. You know, that might have worked if one of the flagship distros hadn't bolted with the rest of the community.

Some of the blockers for mainstream Linux desktop usage are lack of legal codecs, hardware integration and certain types of basic functionality like software suspend not working reliably. This is not news, of course, but rather the typical gripes people have had for years.

While we have waited around for the Linux distros to solve these problems for their customers, this has not really been the case. Sure, there are the promises of CNR and other "easy" mechanisms to bring a Linux desktop to the point of "just working". However, the landscape has changed over the last few months and now there are at least 4 companies producing general purpose computing platforms (desktops/laptops) with pre-installed Linux. These companies include Dell, HP, Lenovo, and Acer.

So what does it take to deliver a pre-installed product that consumers will buy? Can you take a popular distribution like Ubuntu and slap it on some hardware (that has the Linux driver support that is needed) and you are off and running? In a recent Wall Street Journal article, a popular pre-installed Linux product was tested by an "average" consumer. Out of the box, it was discovered that the user could not play mp3s, could not play DVDs, and the touchpad continually got in the way. When I read this, my heart sank because I figured that when an OEM produced a Linux-based product that they would handle the integration of codecs and usability capabilities that would "just work" and meet the expectations on consumer desktop users. MY expectation was that the OEM would add value to the integration of an operating system and hardware. Integration that is difficult for platform-independent distros to accomplish should be done by the OEMs that are actually delivering hardware to the market.

So what can the Linux community do? Now that OEM vendors have entered the ecosystem, it is vitally important that the OEM vendors participate in the Linux communities (kernel, system software, middleware, desktop, applications) so that OEMs can deliver real products that meet customer expectations with components that are actually mainlined (not one-offs for specific distros).

What strategy can OEMs take? I would suggest that OEMs target products for market niches, rather than throwing products out to the general computing markets. These products should be pre-configured with everything needed by that market niche. In some cases (like Tivo), the user may not even need to know they are running Linux. However, if a product is integrated for a specific set of tasks, such as multimedia and video editing and if the product "just worked", the use of Linux would start to gain ground in traditional desktop markets.

John Cherry
Linux Foundation

At 12:16 PM, Blogger jaison said...

thanks.. that was useful


Post a Comment

Links to this post:

Create a Link

<< Home