Obstacles to Open Source
Difference in Solutions And Customer Expectations
Most customers enter the Linux world with expectations informed by their experiences with Mac OS and Windows. This can create a few usability issues, but the larger issue is that of software procurement and solution building. Most desktop systems sold with Linux (Xandros, Linspire, etc) ship with proprietary, commercial software similar to the way in which it is sold for Windows and MacOS. This is an important observation because the same trend used to old in the server markets as well but as the market matured, these players (anyone remember Caldera?) have more or less disappeared.
People new to Linux think that there is a lack of available software. In reality, there is a huge variety of software available to suit all needs. They range from arcane command-line tools to simple graphical tools and even sophisticated office suites. There is indeed at least as much variety of software on Linux as there is on Windows.
But the software is fundamentally different in nature and how it is best procured. With Windows, you normally go to the store, pay a few hundred dollars for a tool, and go home and install it. With Linux, often you may either do your own research or pay a consultant a comparable fee to determine which tools are best, download them, and set them up so that you have a complete system. This can go for simple CD mastering and burning software to complex aggregates of software like those for doing e-commerce fulfillment systems. Contrary to popular it does not usually cost any more to run Linux software even including services than it does for Windows. But because this solution is still foreign to many users, they are afraid to use it.
Question of Ownership
When a complete solution is purchased from a company, there is a perception that the vendor owns the solution in terms of support, fitness for a purpose, etc. even though responsibility for these issues is usually expressly denied in the End User License Agreement (EULA). Instead, if the solution is put together via many small pieces by a consultant, the business who uses that owns the product and may need to rely on outside support for maintenance and software support.
One area where this is a real issue is in support but in larger business systems this is less of an issue because these systems tend to be often aggregate systems as well (which is why open source is hitting the server area first).
However, in most cases, the desktop tools are simple enough to make this effectively a non-issue. With good error reporting, it should be easy for any third-party consultant to troubleshoot the systems. For example, take the tool known as File-roller (similar to Winzip but with more functionality). Fileroller requires various command-line utilities such as tar, gzip, zip, ar, and more. If one of these tools is missing or not working, it is easy to determine which one and replace it. This is certainly no worse than the sort of DLL-Hell that exists on Windows anyway.
Cost of Migration
The final issue that causes issues for Linux adoption is that of cost of migration. Linux is generally less costly for new deployments in which there are no legacy application requirements for. However, for those organizations already dependent on Windows, it can take years to get to the point of being able to migrate the actual operating systems. This is rather a strategic goal and something that companies might move towards than something that they generally do. So we will probably not see mass migrations for the next 3-4 years.
These obstacles are not ones which say that companies can never adopt Linux on the desktop but rather indicates why growth is slow and why it is happening primarily in proprietary software bundles at the moment.