Tuesday, September 20, 2005

Hardware Vendors Supporting Linux

I saw a good article today from a Windows to Linux switcher that provides a pretty concise look at the state of Linux on the desktop. As I expected, one of the first comments it received was that hardware vendors don't provide Linux support because of Linux's small market share. Time to dispell that myth.

The problem with hardware vendors targeting Linux isn't market share, it's that there's no single "Linux" to target.

Let's say you're an open minded hardware vendor. You see that the overall Linux market share isn't huge, but it's big enough that targeting it could give you an advantage on your competition. Your software development budget is limited so you have to pick a specific "Linux" to target. How much does the Linux market share drop if you say "I'm going to target just the latest kernel"? I don't know the exact number but 75% or more wouldn't surprise me. Of course device drivers are not guaranteed to be binary compatible across even minor kernel releases, so you just picked up an ongoing maintenance task of releasing a new driver binary every time there's a new kernel release. Why not just release the source code and get it integrated into the kernel baseline? Well, right or wrong, most hardware vendors don't want their competitors to have any insight into the design of their hardware and in many cases driver code can be very revealing.

So you come to terms with the device driver issues and you're convinced that there's still enough market share to make it worthwhile, now what about the user space utilities? Do you target Gnome or KDE (or something else)? Now you not only take another big market share hit, but you so infuriate the other "camp" that you'll be subjected to a bunch of negative Linux press over your decision (and of course you've angered the CLI die-hards either way). But it doesn't end there. Which version of Gnome or KDE? They're both moving targets following the tried and true open source doctrine of release early, release often. There's that whole maintenance thing again. And here releasing source becomes even stickier because if you go that route there's literally nothing standing between your products and the Asian hardware cloners.

Now, depending on how complex your utilities are, you may also need to decide which additional shared libraries are safe to use? Which versions? Every decision divides the market share your development will be able to reach. But you're not done yet. Which package format do you distribute in -- RPM, DEB, custom installer? Another decision, another division.

Trying to target Linux with a binary softare release is like trying to nail Jello to a tree and that problem will persist despite any forseable market share gains. Until one single distro (with a commercial style release schedule) gains enough market share by itself, the situation won't improve. RedHat came close, but the inherently "forkable" nature of any Linux distro works against any of them gaining enough traction to become the "one true Linux" that vendors can easily target. Linux users who continue to chant the mantra of "choice is good" need to realize that "choice" is a double edged sword that will continue restrict "Desktop Linux" to the domain of the highly motivated.