Will Microsoft Win the Linux Wars?
Open source advocates should read Winning the Linux Wars in this month's Redmond Channel Partner magazine. Emblazoned with tanks and missiles, the feature article boldly proclaims that "[Microsoft] partners should relish the opportunity to compete with Linux, and they should win every time."
How? By making total cost of ownership comparisons which highlight the following advantages of Microsoft products:
- More complete feature set, which could be very costly to develop in their open source equivalents.
- High cost and difficulties of finding or training people with Linux skills.
- A clear and coherent future for Microsoft products, thanks to its size, dominant market share, and research budget.
For example, the article claims that "because open source software is readily customized, there's no guarantee that even a specialist fully understands a particular company's exact flavor of Linux."
Come on. This is like saying buying a popular model car is riskier because too many mechanics would know how to fix it.
A more legitimate concern is that while open source software comes without licensing costs, it could be more expensive for a single user to complete all of its "missing" features than buying a commercial package. Despite all the advances in open source software, this actually often happens.
This may not actually be a problem. Open source software is developed on an "as needed" basis, with new features implemented as users need them. In contrast, commercial software is developed according to a product vision which could often be bloated with features most users won't ever use. Therefore, an open source solution with fewer features may actually be better for the user.
We would be deluding ourselves, however, if we thought this is always the case. There are many features which users do indeed want but do not find their way into open source software. Some of these are high performance "enterprise-class" features. Others are user-friendly convenience features. Still others are industry-specific features that fit the needs of a smaller market niche. Finally, there are the strategic "killer-app" features that a user does not know she needs today but would rush out to buy whichever software offered it tomorrow.
In these areas, the commercial software model has a fundamental advantage: commercial software vendors can spread development costs across licensing and support revenues from many customers. In contrast, a pure open source model relies on incremental contributions from a large pool of user-developers. To work at all, this model requires a large number of technically capable users, since at any one time, only a small percentage of them can be expected to contribute back to the project.
Such a development model can be highly efficient but would not address some important market needs. For example, it cannot help non-technical consumers who cannot develop the features they want themselves. (Think about 100,000 users with $10 each to spend. That's $1,000,000 of development which would probably never find its way into open source.) It also fails when, based on the laws of probability, there are simply too few users to create a large pool of developers. Finally, it would also not work very well when the users themselves could not envision the features they would actually need.
This is a serious gap which, if unsolved, could leave open source software as niche solutions for technically-savvy users who of commodity horizontal applications. If open source is to branch out and grow in other areas, new models for financing the development of open source software must be found.
We should, however, not fear: open source is the embodiment of the free market, and free markets by their nature innovate.
Our Archilles's Heel
Most importantly, "Winning the Linux Wars" correctly points out that "... the open source environment's Achilles' heel is supportability and maintenance."
There is a myth out there that there is no support for open source software, and that myth creates enormous anxiety. Lack of support means down time, down time means lost revenues and, more importantly perhaps, lost jobs. In reality, this is a myth: there often is actually better support for open source than commercial software (especially if you know how to get it.) Nevertheless, most IT managers do not like the idea of using mailing lists to track down support or expertise, so readily available support and expertise continues to be a key hurdle to open source software in the enterprise.
What It Really Means
Stepping back for a moment, though, it's not hard to see that support is really a codeword for credibility. Most buyers of commercial software don't actually verify that its features are bug free or check out its support lines. Instead, their "due diligence" consists of making sure that there are other users using the software, including, most importantly, their golf buddies.
Who then makes open source software credible? Today, it is usually the IT department of a company. Someone in IT, such as a systems administrator or developer, may try an open source application, get familiar with it and its community, and then start to convince others to use it. This person is then the ambassador or advocate for open source in the organization, and the adoption of open source software has traditionally meant winning over IT departments.
If open source is to gain popularity and move "up the stack", however, open source software will need other advocates in the enterprise. Somebody else besides the IT department must also be able to convince enterprise users that open source software is indeed a credible solution. Whether that advocate ultimately is a consulting firm, a distributor, or an ISV using open source software, we don't really know yet.
What we can be certain of is this: whoever makes open source a credible in the enterprise would ultimately win the "Linux wars."