Open source software development as a complex system
Graves, John David Nicholas
MetadataShow full metadata
Open Source Software Development is an approach to software development involving open, public exposure of the source code of a computer program under development (hence, ‘open source’). Each open source program is shared online as a project in a source code repository. The so-called ‘open source community’ is the system which coordinates the work of software developers on the code in the repositories. This research explored the growth dynamics of this system, first by launching open source projects and then via simulation. Following (Barabasi & Albert, 1999) and a biodiversity model (Hubbell, 2001), simulations of a complex system driven by preferential attachment, where popular projects attract more developers and grow (subject to some attrition), provided a systematic explanation for the lack of growth typical of single-developer projects. In this multi-methodological study, the lack of growth in the research projects empirically demonstrated the need for a theoretical understanding of open source project initiation and growth while the subsequent simulation results showed how the pattern of no growth (one developer) projects could be explained by a simple model.