A mature software industry
A slashdot exchange about standard handling of updates to cell chip firmware got me thinking about the applicability of "the tragedy of the commons" to the economics of open source community projects.
From the Wikipedia article for the Tragedy of the Commons:
Central to Hardin's article is an example (first sketched in an 1833 pamphlet by William Forster Lloyd), of a hypothetical and simplified situation based on medieval land tenure in Europe, of herders sharing a common parcel of land, on which they are each entitled to let their cows graze. In Hardin's example, it is in each herder's interest to put the next (and succeeding) cows he acquires onto the land, even if the carrying capacity of the common is exceeded and it is temporarily or permanently damaged for all as a result. The herder receives all of the benefits from an additional cow, while the damage to the common is shared by the entire group. If all herders make this individually rational economic decision, the common will be depleted or even destroyed to the detriment of all.
Clearly a shared base of code and/or fixes is a commons and in fact one "open source"-ish licence, the Creative Commons licence, uses that very term. The point of the tragedy of the commons is that you have people extracting from the commons beyond sustainability because it's in their economic self-interest to do so. In this variant, the cell phone manufacturers are unwilling to contribute to building/improving a commons because doing so is not in their economic self-interest. There's a pretty clear parallel to me.
This is interesting because it has implications for the situations where open source-type communal projects are economically viable and where they are not. When computing systems were relatively rare, operating systems were part of systems that provided their users a first mover advantage and could be sold as products. However, as computing capacity becomes commoditized and ubiquitous, the proposition of setting up a commons appears to become more economically advantageous. If the above is true, it would seem to indicate that open source communal projects are viable for commodity components for infrastructure, but not for core mission critical functions that provide a competitive advantage. If that's the case, then in a mature software development industry, there will only be manufacturers of software for vertical markets because software for horizontal markets will be better supplied by community-supported projects. Which would mean that in the long term, the economics are against the sustainability of Microsoft, Oracle, and other giants of the horizontal intellectual product markets. In a mature industry the companies that will survive are companies that facilitate maintenance and use of the commons, like RedHat, Canonical, etc., and companies that focus on vertical markets and custom software development, like IBM, EDS, etc. And don't get me wrong, horizontal "software" market products initially can be very lucrative because they involve a naturally large customer base, however that profitability is time limited to the point where the product is commoditized and the cost distribution effects of an open source project is more economically rewarding for the customer/user.
Now Microsoft and Oracle do have the advantage of network effects working in their favour (interoperability/training investment for users) and those forces work against the advantages of a shared commons despite the horizontal markets for their products. However, contrary to Wikipedia, I would call these weak network effects because the barrier to entry is distributed instead of internalized. A "strong" network effect would be a telecommunications infrastructure where the key resource behind the effect is owned by the beneficiary. A would-be competitor must invest enough to replicate the resource (i.e. lay cable or buy spectrum and set up cell towers across the region) to be able to compete, in addition to convincing users to switch. However with a "weak" network effect the primary barrier to entry is associated with a non-owned resource or a time-limited government monopoly (i.e. patents). In Microsoft's case they've decided to strengthen their network effects (user/admin training investments, proprietary document exchange formats, developer mindshare), by strongly supporting ISVs and by combating attempts to commoditize Windows' features through the web. However the most used core of Windows has limited room for improvement and, as users become more aware of the issues with vendor locking, demand for open document standards has increased.Thus Microsoft's network effects are continuing to weaken, with their strongest remaining asset being developer support. As the growth of Microsoft's user base flattens and investor expectations demand continued revenue growth which can only be achieved by price increases, the relative cost proposition of open source becomes more attractive in the long run.
Oracle seems to have a mixed model where they use vertical market products to help promote sales of their horizontal product. However at some point, their horizontal product market will be sufficient commoditized that tying their vertical market products to it will put their vertical market products at a disadvantage with any competitors in those vertical markets using a commons-based infrastructure.
All right, you're a bachelor (or DINKs) and you love bacon. but you know it's bad for you and you don't want to have too much too often. The stuff comes in these packs of 20 or more slices soaked in water and if you don't freeze the bacon and just keep it in the fridge, then it starts to go bad long before you've worked through the pack. However if you freeze the pack when you buy it, then it might as well be welded together. You can't get the slices apart when you need them unless you thaw the whole pack, which defeats the point of freezing it in the first place. What to do?
Here's the solution I came up with years ago. You take a plate and cover it in plastic food wrap, then you lay down a layer of bacon strips side by side. Cover that with a sheet of plastic wrap and lay down another layer of bacon strips crosswise from the first. Repeat until you've used up the bacon. Now take that plate and stick it in the freezer for a couple of hours.
The result is a plate of frozen bacon strips that separate from each other easily. Take them apart and put them in a freezer bag. You now have bacon in your freezer that will last for months and you can take out a few strips at a time as you need them.