Open source software development as a complex system

Date
2013
Authors
Graves, John David Nicholas
Supervisor
Clear, Tony
MacDonell, Stephen
Item type
Thesis
Degree name
Doctor of Philosophy
Journal Title
Journal ISSN
Volume Title
Publisher
Auckland University of Technology
Abstract

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.

Description
Keywords
Open source , Complex system , Software development , Simulation , Preferential attachment , Antifragile
Source
DOI
Publisher's version
Rights statement
Collections