There are currently over 50 different types of open source software licenses approved by the OSI (Open Source Initiative).[1] One consistent theme these licenses share is that they encourage contributions from a community of users and developers. In numerous instances these contributions have proved significant and resulted in the establishment some of the most dominant technologies on the Web today, such as Apache, Linux, PHP, Java, MySQL, and SugarCRM. What are the factors that compel people to contribute to these projects? It seems the motivation comes from two sources: organizations and individual developers.

Open source can be strategic to organizations in several ways. For example, in the clinical research industry, contract research organizations (CROs) might incorporate an open source clinical data management system like OpenClinica into a complete clinical trial solution offered to their customers. Building OpenClinica into part a larger infrastructure may involve adding to or modifying the software in some way. Organizations doing this have a vested interest in contributing their software improvements back to the broader community in order to ensure these enhancements are supported in future distributions of the software. In this way, an organization can leverage a freely available software product for their own, customized purposes while helping to avoid “forking” the software into a unique product they might be stuck maintaining themselves.

While there may be solid business rationale for organization to use and contribute to open source, ultimately the software’s improvements come from individual developers. What are the motivations of individual developers to contribute to an open source project? Obviously, any company requiring its developers to work on an open source product for the company’s own purposes is providing one type of motivation for that developer to contribute. However, many open source projects largely comprise developers who purely volunteer their time outside of their capacity as an employee in a company. History has shown that over time these volunteers have produced some of the most paramount and sustained successes in the software world.

Take, for instance, the Apache project. Apache is the world’s most popular web server that began in 1995 at the University of Illinois, Urbana-Champaign and today powers nearly 50 percent of all websites worldwide.[2] While the software’s development is the result of an ongoing effort of volunteers, the community has evolved an organizational structure that appears to engender a motivational atmosphere among developers.[3] For example, a study at the University of California run by Il-Horn Hann and colleagues found that the salaries of Apache project contributors correlated positively with the contributor’s rank in the Apache organization and this ranking, therefore, is an indication of a developer’s productivity and market value to an employer.[4]

Many developers may of course contribute to an open source project out of intellectual curiosity or pure altruism. However, it seems the basic principals of economics can help to intensify the desire to contribute. Regardless of any one party’s motivation, it is undeniable that the meritocracy inherent in open source is an intriguing, if not highly effective paradigm for software development that is continuing to have a significant impact on modern computing.



[3] The not-for-profit Apache Foundation helps to organization and coordinate the Apache open source community.

[4] I-H. Hann et al., “Economic Returns to Open Source Participation: A Panel Data Analysis,” unpublished working paper, Univ. of Southern California.