Participatory Motivations and Determinants of Success in Open Source Software
Total Page:16
File Type:pdf, Size:1020Kb
Participatory Motivations and Determinants of Success in Open Source Software Sarah Rittgers Thesis Advisor: Patrick Cozzi EAS 499 Senior Capstone Thesis Department of Computer and Information Science School of Engineering and Applied Science The University of Pennsylvania May 1st, 2019 Acknowledgements I would like to thank Jean Paoli, former President of Microsoft Open Technologies and currently the founder of Docugami, and Gabby Getz, a Software Developer at Cesium, for agreeing to take time out of their schedules to be interviewed. Their input provided critical real-world information that shaped the direction of this thesis. I would also like to give special thanks to Patrick Cozzi, a Principal Graphics Architect at Analytical Graphics, creator of Cesium, and lecturer at the University of Pennsylvania. During the spring 2019 semester, he guided my thesis from conception to its final state and was always willing to offer advice, valuable sources, and introductions to experts in the field. 2 Table of Contents 1. INTRODUCTION ................................................................................................................................................... 5 2. BACKGROUND ...................................................................................................................................................... 6 2.1. TERMINOLOGY .................................................................................................................................................. 6 a. Open Source .................................................................................................................................................... 6 b. Community Roles ............................................................................................................................................ 6 c. Legal Concepts ................................................................................................................................................ 6 d. Licenses ........................................................................................................................................................... 6 2.2. HISTORICAL CONTEXT ..................................................................................................................................... 7 3. MOTIVATIONS: WHY CONTRIBUTE? ............................................................................................................ 8 3.1 INDIVIDUAL CONTRIBUTORS ............................................................................................................................. 8 a. Intrinsic Motivations ....................................................................................................................................... 8 b. Extrinsic Motivations ...................................................................................................................................... 8 3.2 BENEFITS FOR FIRMS ......................................................................................................................................... 9 a. A Game Theory Analysis ................................................................................................................................. 9 b. Faster Innovation .......................................................................................................................................... 10 c. Standardization and Influence ...................................................................................................................... 11 d. Interoperability .............................................................................................................................................. 11 e. Complementary Services ............................................................................................................................... 12 f. Lower Costs .................................................................................................................................................... 13 g. Improved Code .............................................................................................................................................. 13 h. Reputation and Trust .................................................................................................................................... 14 i. Recruiting ....................................................................................................................................................... 14 3.3 COMMON MISCONCEPTIONS............................................................................................................................ 14 a. Security .......................................................................................................................................................... 14 b. Cost-Free ....................................................................................................................................................... 15 c. Code Stealing ................................................................................................................................................. 15 4. DECIDING TO OPEN SOURCE ........................................................................................................................ 17 4.1 WHEN TO START A PROJECT ........................................................................................................................... 17 a. Define a Reason ............................................................................................................................................ 17 b. Unique Needs ................................................................................................................................................ 17 4.2 WHAT TO RELEASE .......................................................................................................................................... 18 5. DEFINING MEASURE OF SUCCESS ............................................................................................................... 19 5.1 NUMERICAL METRICS ...................................................................................................................................... 19 5.2 OTHER TRACKING METHODS .......................................................................................................................... 19 6. INFRASTRUCTURE BEHIND SUCCESSFUL PROJECTS ........................................................................... 21 6.1 OPEN SOURCE PROGRAM OFFICE ................................................................................................................... 21 6.2 COMMUNICATION CHANNELS .......................................................................................................................... 21 6.3 TECHNOLOGY FOR AUTOMATION ................................................................................................................... 22 a. Version Control Systems ............................................................................................................................... 22 b. Continuous Integration ................................................................................................................................. 22 c. Other Tools for Quality and Standards......................................................................................................... 23 d. Custom Tools ................................................................................................................................................. 24 6.4 LEGALITIES ...................................................................................................................................................... 24 a. Licenses and Choosing the Right One .......................................................................................................... 24 b. Patents and Intellectual Property ................................................................................................................. 25 c. Contributor License Agreements .................................................................................................................. 26 3 6.5 MARKETING ..................................................................................................................................................... 26 7. HAVING A SUCCESSFUL IMPACT ................................................................................................................. 28 7.1 ATTRACT DIVERSE CONTRIBUTORS ................................................................................................................ 28 7.2 DEFINING GOVERNANCE STRUCTURES ........................................................................................................... 28 7.3 SHOW COMMUNITY SUPPORT .......................................................................................................................... 29 a. Work with the Community ............................................................................................................................ 29 b. Open Source Foundations and Community-Building Events ..................................................................... 29 8. COMMUNITY BEHIND SUCCESSFUL PROJECTS ...................................................................................... 31 8.1 ONE-TIME CONTRIBUTORS.............................................................................................................................