It sometimes seems that Open Source has achieved a mythic status, able to leap tall abstractions with a single bound. But as I’ve been thinking about it, for all its strengths, it also has flaws.
The primary strength of Open Source is the software development model. It’s a meritocracy whose members are judged based upon their intellectual capital and their willingness to use it. The code tends to be of higher quality, because it undergoes more extensive peer review. And it tends to be more robust because it is used in a wider range of host environments.
The other main strength of Open Source is the support model. Open Source can have a competitive support marketplace rather than a closed market locked to the vendor. If necessary, important features can be added to the product. And there is a reasonable chance that the feature will be added into the main source tree when done correctly.
The primary disadvantage of Open Source is the business model. Open Source primarily addresses existing markets because the business model doesn’t provide the marketing resources required to develop a new market. And the resources aren’t available because Open Source gives away the high margin software market and keeps the low margin service market (software is high margin because the money rolls in once the non-recurring development cost is recovered; services are low margin because there has to be an employee for every 2000 billable hours).
The other main disadvantage of Open Source is that critical mass can be hard to attain. The advantages of the development and support models don’t come into play until there is a good sized user pool to draw upon. And small Open Source projects are susceptible to a lingering death if the founder’s commitment wanes.