A Framework for Open Source Projects
Total Page:16
File Type:pdf, Size:1020Kb
A Framework for Open Source Projects Master Thesis in Computer Science submitted by Gregor J. Rothfuss [email protected] of Zurich, Switzerland Register No. 97-711-915 Supervisor: Prof. K. Bauknecht Department of Information Technology University of Zurich Zurich, November 12, 2002 Abstract The historical roots of Open Source are outlined. A comparison between Open Source projects and classical projects highlights strengths and weaknesses of both, and defines their attributes. Existing Open Source theories are evaluated, and the requirements for a framework for Open Source projects are determined. The framework introduces the notions of actors, roles, areas, processes and tools, and depicts their interrelationships in a matrix. Each aspect of the framework is then further developed to serve both as a conceptual foundation for Open Source and a help for organizing and managing Open Source projects. Die Geschichte von Open Source wird aufgezeigt. Ein Vergleich zwischen Open Source und klassischen Projekten beleuchtet Stärken und Schwächen beider Ansätze, und definiert deren Atribute. Existierende Open Source Theorien werden evaluiert, und die Anforderungen für ein Rahmenwerk über Open Source ermittelt. Das Rahmenwerk führt die Begriffe Akteur, Rolle, Bereich, Prozess und Werkzeug ein und illustriert deren Zusammenspiel in einer Matrix. Die einzelnen Aspekte des Rahmenwerks werden vertieft und dienen als konzeptuelle Grundlage für Open Source sowie helfen bei der Organisation und dem Management von Open Source Projekten. 2 Acknowledgements I would like to thank Prof. Dr. Kurt Bauknecht, head of the “Information Management” research group at the Department of Information Technology at the University of Zurich who made this master thesis possible. I would like to thank for valuable discussions and suggestions Carl P. Corliss, Curtis Hays, Steven McGregor, Daniel Mettler, Andrew Vogel, Benjamin Voigt and Eric Wiseman. Special thanks to the participants in the PostNuke and OSCOM Open Source projects who inspired me to write this thesis in the first place, and to the University of California Berkeley for hosting me during the writing of this thesis. A special thanks to Carl P. Corliss for careful spell checking and helping with the layout. 3 Table of Contents Abstract .................................................................................................................................... 2 Acknowledgements ................................................................................................................. 3 Table of Contents..................................................................................................................... 4 List of Figures.......................................................................................................................... 7 List of Tables ........................................................................................................................... 8 List of Tables ........................................................................................................................... 8 1. Introduction.......................................................................................................................... 9 1.1 Why Open Source is relevant....................................................................................... 9 1.2 Goals of this paper.......................................................................................................10 2. The Open Source Phenomenon ........................................................................................11 2.1 Historical Overview ....................................................................................................11 2.1.1 The early days ......................................................................................................11 2.1.2 The rise of UNIX .................................................................................................11 2.1.3 The GNU Project .................................................................................................14 2.1.4 Linux.....................................................................................................................15 2.1.5 To the mainstream................................................................................................16 2.2 Fundamentals...............................................................................................................16 2.2.1 Intellectual Property Concepts............................................................................16 2.2.2 The significance of Contracts..............................................................................19 2.2.3 Definitions of Open Source.................................................................................19 2.2.4 Open Source Software Licenses..........................................................................23 2.3 Theories about Open Source.......................................................................................26 2.4 The Open Source Community....................................................................................27 2.4.1 Sociology..............................................................................................................28 2.4.2 Software Engineering ..........................................................................................29 2.4.3 Economy...............................................................................................................33 2.5 Open Source Projects..................................................................................................35 2.5.1 Developers............................................................................................................36 2.5.2 Project Lifecycle ..................................................................................................37 2.5.3 Example OSP .......................................................................................................40 3. Open Source Projects versus Classical Projects..............................................................42 3.1 Underlying Trends.......................................................................................................43 3.1.1 New Communication Technologies....................................................................43 3.1.2 More powerful Hardware ....................................................................................44 3.1.3 Higher-level Languages.......................................................................................44 3.1.4 Ubiquitous Standards...........................................................................................45 3.2 Defining Open Source Projects ..................................................................................46 3.2.1 Resources..............................................................................................................47 3.2.2 Coordination.........................................................................................................51 3.2.3 Structures..............................................................................................................55 3.3 Defining Classical Projects.........................................................................................61 3.3.1 Resources..............................................................................................................61 3.3.2 Coordination.........................................................................................................63 4 3.3.3 Structures..............................................................................................................66 3.4 Strengths of Open Source Projects.............................................................................71 3.4.1 Release frequency ................................................................................................71 3.4.2 Customer Input.....................................................................................................72 3.4.3 Scalability.............................................................................................................72 3.5 Weaknesses of Open Source Projects ........................................................................73 3.5.1 Communication....................................................................................................73 3.5.2 Redundant Efforts ................................................................................................73 3.5.3 Lack of Priorities..................................................................................................74 3.5.4 Lack of Conventions............................................................................................74 3.5.5 Lack of focus........................................................................................................74 3.5.6 Dependency on key persons................................................................................74 3.5.7 Leadership ............................................................................................................75 3.6 Strengths of Classical Projects ...................................................................................75 3.6.1 Predictability ........................................................................................................75 3.6.2 Standards ..............................................................................................................76