The experience of the open-source culture has certainly confounded many of the assumptions of people who learned about software development outside it. ``The Cathedral and the Bazaar'' [CatB] described the ways in which decentralized cooperative software development effectively overturns Brooks's Law, leading to unprecedented levels of reliability and quality on individual projects. ``Homesteading the Noosphere'' [HtN] examined the social dynamics within which this `bazaar' style of development is situated, arguing that it is most effectively understood not in conventional exchange-economy terms but as what anthropologists call a `gift culture' in which members compete for status by giving things away. In this paper we shall begin by exploding some common myths about software production economics; then continue the analysis of [CatB] and [HtN] into the realm of economics, game theory and business models, developing new conceptual tools needed to understand the way that the gift culture of open-source developers can sustain itself in an exchange economy.
In order to pursue this line of analysis without distraction, we'll need to abandon (or at least agree to temporarily ignore) the `gift culture' level of explanation. [HtN] posited that gift culture behavior arises in situations where survival goods are abundant enough to make the exchange game no longer very interesting; but while this appears sufficiently powerful as a psychological explanation of behavior, it lacks suffiency as an explanation of the mixed economic context in which most open-source developers actually operate. For most, the exchange game has lost its appeal but not its power to constrain. Their behavior has to make sufficient material-scarcity-economics sense to keep them in a gift-culture-supporting zone of surplus.
Therefore, we now will consider (from entirely within the realm of scarcity economics) the modes of cooperation and exchange that sustain open-source development. While doing so we will answer the pragmatic question ``How do I make money at this?'', in detail and with examples. First, though, we will show that much of the tension behind that question derives from prevailing folk models of software-production economics that are false to fact.
(A final note before the exposition: the discussion and advocacy of open-source development in this paper should not be construed as a case that closed-source development is intrinsically wrong, nor as a brief against intellectual-property rights in software, nor as an altruistic appeal to `share'. While these arguments are still beloved of a vocal minority in the open-source development community, experience since [CatB] has made it clear that they are unnecessary. An entirely sufficient case for open-source development rests on its engineering and economic outcomes -- better quality, higher reliability, lower costs, and increased choice.)