Open Source Software Development As a Complex System John David Nicholas Graves a Thesis Submitted to Auckland University Of

Open Source Software Development As a Complex System John David Nicholas Graves a Thesis Submitted to Auckland University Of

Open Source Software Development as a Complex System John David Nicholas Graves A thesis submitted to Auckland University of Technology in fulfillment of the requirements for the degree of Doctor of Philosophy (PhD) October, 2013 Software Engineering Research Laboratory Faculty of Design and Creative Technologies Supervisors: Dr. Tony Clear and Dr. Steve MacDonell 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. Open Source Software Development as a Complex System ii TABLE OF CONTENTS 1. Introduction ............................................................................................................................. 1 1.1 No Explanation for Open Source Project Growth ............................................................ 1 1.2 Insights from Business Startups ....................................................................................... 6 1.3 Insights from Biology....................................................................................................... 8 1.4 Thesis Structure .............................................................................................................. 11 1.5 Artifacts .......................................................................................................................... 12 1.5.1 Publications. ............................................................................................................ 12 1.5.2 Prototype open source projects. .............................................................................. 13 1.5.2.1 Open Allure Dialog System. ............................................................................ 13 1.5.2.2 Wiki-to-Speech. ............................................................................................... 13 1.5.2.3 SlideSpeech. .................................................................................................... 14 1.5.3 Simulations. ............................................................................................................ 15 1.5.3.1 Simulation in R. ............................................................................................... 15 1.5.3.2 Simulation in Excel. ........................................................................................ 15 1.5.3.3 Simulation in NetLogo. ................................................................................... 16 1.5.4 Videos. .................................................................................................................... 17 1.5.5 SlideShare presentations. ........................................................................................ 17 1.5.6 SlideSpeech presentations. ...................................................................................... 17 2. Literature Review.................................................................................................................. 19 2.1 Theoretical Ideas ............................................................................................................ 19 2.1.1 Open source software development as a complex system. ..................................... 19 Open Source Software Development as a Complex System iii 2.1.1.1 Sensitivity to initial conditions. ....................................................................... 22 2.1.1.2 Nonlinear value creation. ................................................................................. 23 2.1.1.3 Diversity. ......................................................................................................... 24 2.1.1.4 Complexity. ..................................................................................................... 38 2.1.1.5 Unpredictability. .............................................................................................. 56 2.1.1.6 Emergent patterns ............................................................................................ 57 2.1.2 Open source software development as an innovation system ................................. 64 2.1.2.1 Recombinant search. ........................................................................................ 65 2.1.2.2 Project uniqueness. .......................................................................................... 67 2.1.2.3 Conditions for beneficial diversity. ................................................................. 68 2.1.3 Open source and evolution...................................................................................... 69 2.1.3.1 Potential biological parallels with open source. .............................................. 70 2.1.3.2 Entropy ............................................................................................................ 73 2.1.3.3 Epigenetics....................................................................................................... 75 2.2 Prior Research ................................................................................................................ 78 2.2.1 A systems view of the bazaar. ................................................................................. 78 2.2.1.1 Sensitivity to initial conditions. ....................................................................... 78 2.2.1.2 Diversity yields robustness. ............................................................................. 79 2.2.1.3 Emergent phenomenon. ................................................................................... 80 2.2.2 Established projects. ............................................................................................... 81 2.2.3 Open source beyond the repositories. ..................................................................... 84 2.2.4 Prior research in open source simulation. ............................................................... 85 2.2.4.1 Fitting a power law distribution....................................................................... 86 Open Source Software Development as a Complex System iv 2.2.4.2 Crosetto’s model. ............................................................................................. 88 2.2.4.3 FLOSSSim. ...................................................................................................... 89 2.2.4.4 Summary .......................................................................................................... 91 3. Research Design.................................................................................................................... 92 4. Data and Analysis ................................................................................................................. 98 4.1 Overview ........................................................................................................................ 98 4.1.1 Open source projects. .............................................................................................. 98 4.1.2 Project notes. ......................................................................................................... 100 4.1.3 Code commits. ...................................................................................................... 104 4.1.4 Project wikis.......................................................................................................... 106 4.1.5 Presentations. ........................................................................................................ 107 4.1.6 Project summary. .................................................................................................. 109 4.2 Open Allure Dialog System ......................................................................................... 109 4.2.1 Project initiation. ................................................................................................... 111 4.2.2 Downloads. ........................................................................................................... 120 4.2.3 Social media trials. ................................................................................................ 124 4.2.4 Public announcements and publicity. ................................................................... 125 4.2.5 Getting Python code to execute. ........................................................................... 127 4.2.6 Documentation. ..................................................................................................... 128 4.2.7 Multiple platforms

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    256 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us