The cooperation shown in development of Unix and the role of Usenet in the development of the Internet needs to be better acknowledged as part of the movement. The cooperative trend started in the early software industry has extended to some of the most interesting and successful Internet based applications. For example, the grid applications like SETI@home, the NASA Mars mapping clickworkers projects, or the Amazon.com user reviews are diverse examples. These observations lead us to a variety of peer production and customer involvement that is the thesis of Tapscott and Williams in Wikinomics.
Customizability One attribute of successful applications of software as a service on the Internet is adaptability. It is now recognized that the basic architecture of the software is vital in allowing groups of distributed individuals to work cooperatively. The architecture of the web is the premiere example of a system whose design leads to cooperation. The effect of the proper architecture is likely more important to the success of cooperative projects than volunteerism or economic incentives. The ease of customizing Internet application with tools like Perl, PHP, Python, and Ruby as well as higher level tools like Durpal, Joomia, and Plone is a key part of the architecture.
O’Reilly concludes, “Instead of thinking of open source only as a set of software licenses and associated software development practices, we do better to think of it as a field of scientific and economic inquiry, one with many historical precedents, and part of a broader social and economic story. We must understand the impact of such factors as standards and their effect on commoditization, system architecture and network effects, and the development practices associated with software as a service.”
INTELLECTUAL PROPERTY AND OPEN SOURCE – Van Lindberg
Lindberg says that we need to know the “why and what” of Open Source before examining how it works. “At its core, open source is a legal construct for cooperation and trade in intellectual property.” He uses an analogy to commercial banks (a corporate model organization like traditional software companies) and credit unions (cooperative model organizations like Open Source projects) to examine several important characteristics of Open Source projects. The two models have different ownership characteristics, corporate models have separate owners and consumers while in cooperative models the owners and consumers are the same. This leads to different incentives for involvement and investment in the production effort. Like for profit banks and non-profit credit unions the different profit motives of proprietary software development and Open Source projects lead to different levels of cooperation. “.... [T]he cooperative nature of open source software allows the users of the software to solve computing problems cooperatively. By pooling coding resources, the participants in the open source project receive the full benefits of the software product while only paying a fraction of the total cost.”
The market profile of products has a complex relationship with the ownership and profit characteristics. Products can be distinguished as specialty, high-profit goods and commodity goods. Traditional software has depended on the specialty-good nature of software to support its proprietary closed model of development. Partially driven by the Open Source movement, many classes of software are becoming commodity goods without the profit margins Just as events in the world economy have overtaken choices previously available for economic policy so that ‘We are all Keynesians now.”, the trend for more low cost commodity software restricts the choices on producing high-margin specialty software. “We are all Open Source now” may be the situation in a few years.
“So why does open source work?” The cooperative nature lowers the cost of contributions by an individual in comparison with the value of the product produced. But Open Source development is unstable because participants have incentives to become free-riders and decrease cooperation. The role of Open Source licenses in overcoming this incentive is a core aspect.
HOW COULD THIS POSSIBLY WORK?
How can anyone make money developing Open Source software and then giving it away? How can teams of developers cooperate and contribute code over long periods of time when any individual can use the code without contributing? Developers have the incentive to be free-riders and do not contribute to the community.
Information goods in general and software and systems in our specific case are what economists describe as public goods. Public goods are goods that have a characteristic that once produced additional consumers can use the good without decreasing the amount of the good for another consumer. The efficient use of such goods is to allow everyone to use as much as they like. The price that allows everyone to use this much is zero.
Software and other information goods have another characteristic common to public goods in that it is difficult or impossible to exclude people from using the good.
PRISONER S DILEMMA BECOMES THE PROGRAMMER S DILEMMA
The Programmer’s Dilemma table shown below illustrates the free rider incentives. There is a corresponding table for Programmer B with the labels reversed. The society solution would be the sum of the two tables. The sub- optimization is seen because the best choice for each individual programmer is to defect even though the best solution overall would be for both to cooperate.
Programmer’s Dilemma – Outcomes for Programmer A