Icaza's post, and the subsequent discussions on various networks, prompted a much more detailed post from prolific open source hacker Michael Meeks, who reasons that turning away third-party developers is only one of the reasons for Linux's poor show on the desktop.
While Meeks mostly agreed with Icaza's conclusion that "we're still facing a huge uphill struggle", to make Linux an attractive desktop offering, he thinks there are more reasons behind it than those highlighted by Icaza:
"My punchline is that the Linux desktop faces a huge and multi-factored ecosystem challenge, there is no single simple issue to fix."
Pre-installs are key
In fact, Meeks argues that the "Linux desktop stack (with existing frozen/back-compatible API/ABIs) is not profoundly different from other operating systems". He goes on to add that "arguably it is better for ISVs, since we have access to open the lid on the box and work with each other."
Although Meeks thinks that this makes the Linux desktop preferable to independent developers, he reasons that we fail to attract developers because the competition, despite its lack of technological superiority, has "large, addressable markets". But this seems to be changing as third-party developers are warming up to the Linux desktop.
Meeks points to video game development and distribution company Valve Software, which is working with Intel to improve open source drivers to better support its wares. However, Meeks believes that even more important than encouraging app developers is attracting OEMs to ship computers with Linux pre-installed.
Torvalds agrees. In an interaction in June 2012 with students at Aalto University, Finland, he said that a major reason for the lack of Linux on the desktop is that the average desktop user doesn't want to install an operating system: "You can't get a desktop unless you have pre-installs, and that hasn't happened."
Furthermore, he added that the reason behind Linux's success on the mobile platform "is not because people are downloading and installing disc images on their cell phone. No, it's because it comes on the cell phone pre-installed."
If you look hard enough, you'll find some vendors, including major ones like Dell, that sell machines with Linux pre-installed. There's also System76, ZaReason, the Linux Emporium, and Tiny Green PC, which sells its brand of small, fanless computers. Some distros, such as Debian, also maintain a list of OEMs that sell hardware pre-installed with its distro (www.debian.org/distrib/pre-installed). There's also a list of Linux-friendly hardware vendors at www.linuxpreloaded.com.
But since the OEMs don't need to dig in to their wallets to ship Linux on their hardware, shouldn't the stores be overflowing with Linux machines? According to Meeks, obtaining the OS is just one part of the OS pre-install process.
"One of the major business problems of hardware enablement is that it takes a constant investment of real cash to pay excellent engineers to make (brand new) hardware work reliably," writes Meeks. What he means by that is that despite it not costing anything to download and install Linux, there are additional costs to get the OS working on specific hardware configurations.
Again, one would assume that Linux has an upper hand here. After all, Meeks says, it has more drivers working out of the box than any other OS. But our advantage is negated by the Windows ecosystem, which distributes this cost among hardware vendors who write their own drivers, and by the Mac ecosystem, which ships a very limited set of hardware.
Furthermore, Meeks points out that "even if hardware can be perfectly enabled, fully translated, with accurate manuals, support and update plans, integrated with OEM's imaging infrastructure, etc, and at near-zero cost, this is still too expensive."