Vertical Interaction in Open Software Engineering Communities Patrick Adam Wagstrom
Total Page:16
File Type:pdf, Size:1020Kb
Vertical Interaction in Open Software Engineering Communities Patrick Adam Wagstrom CMU-ISR-09-103 March 2009 Carnegie Insitute of Technology and School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Thesis Committee: James D. Herbsleb, Co-Chair Kathleen M. Carley, Co-Chair M. Granger Morgan Audris Mockus Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Engineering and Public Policy and Computation, Organizations and Society. Copyright c 2009 Patrick Adam Wagstrom. ! This research was supported by the National Science Foundation through the Graduate Research Fellowship Program, National Science Foundation Grant No. IIS-0414698, the National Science Foundation IGERT Training Program in CASOS(NSF,DGE-9972762), the Office of Naval Research under Dynamic Network Analysis program (N00014-02-1-0973, the Air Force Office of Sponsored Research (MURI: Cultural Mod- eling of the Adversary, 600322), the Army Research Lab (CTA: 20002504), and the Army Research Institute (W91WAW07C0063) for research in the area of dynamic network analysis. Additional support was provided by CASOS - the center for Computational Analysis of Social and Organizational Systems at Carnegie Mellon University. The views and conclusions contained in this thesis are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of the the National Science Foundation, the Office of Naval Research, the Air Force Office of Sponsored Research, the Army Research Lab, or the Army Research Institute. Keywords: Open Source, software engineering, software development, socio-technical systems, socio- technical congruence, computer supported cooperative work This work is licensed under the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc- nd/3.0/us/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. To Kristina and my parents. Abstract Software engineering is still a relatively young field, struggling to develop consistent standards and methods across the domain. For a given project, de- velopers can choose from dozens of models, tools, platforms, and languages for specification, design, implementation, and testing. The globalization of software engineering and the rise of Open Source further complicate the issues as firms now must collaborate and coordinate with other firms and individu- als possessing a myriad of goals, norms, values, expertise, and preferences. This thesis uses four empirical studies to take a vertical examination of Open Source ecosystems and identify the way that foundations, firms, and individu- als come together to create large scale software ecosystems and produce world class software despite their differing goals and values. First, I examine Open Source as a collaborative phenomenon between firms and non-profit foundations that support many communities and identify the ways in which non-profit foundations enable member firms to create value in the ecosystem. Next, an empirical study of direct collaboration between firms within the Eclipse system reveals that most firms operate relatively indepen- dently, but there is still heavy reliance on a single dominant player for core portions of the ecosystem. I then evaluate how the presence of commercial firms affects the attraction and retention of volunteer developers in an Open Source community. The final study examines how individual developers man- age their dependencies in Open Source and extends the socio-technical con- gruence metric to address changing requirements and facilitate the metric as a tool for continual use. Finally, based on the findings of these studies, I close with a set of recommendations for stakeholders investing in Open Source. Acknowledgments A huge amount of thanks goes to my primary thesis advisors, Jim Herbsleb and Kathleen Carley. Thank you for giving me the freedom to design and implement a course of research that I wanted. Thank you for gently guiding me back when I would stray from the course. And thank you for your input, direction, and most importantly, patience with me. I’ve had the privilege to work with and build my ideas through interaction with many other amazing researchers, engineers, and scientists at Carnegie Mellon. In particular, I am in debt to Marcelo Cataldo for his work laying the foundation for socio-technical congruence. Thanks to all the folks in the CASOS lab and COS seminar for your feedback and advice on my research. Thanks to Peter Landwehr for his help in focusing some of the ideas regard- ing Eclipse. Thanks to Anita Sarma for her feedback and willingness to take on additional responsibilities so I could finish. I’m also grateful for the sup- port and help from Robert Kraut, particularly for his help in understanding volunteer motivation and the social aspects of volunteer participation in open communities. I’ve also had the pleasure of working with numerous individuals outside of Carnegie Mellon who have greatly shaped my research. Sonali Shah was in- valuable in organizing, planning, and analyzing the interviews with the Eclipse Foundation. Thanks to the software governance team at IBM research: Clay Williams, Kate Ehrlich, Mary Helander and Peppo Valetto for their help in exploring some of the preliminary ideas with expanding the problem space around socio-technical congruence. I’m eternally in debt to my previous aca- demic mentors at Illinois Institute of Technology, Xian-He Sun and Gregor von Laszewski who were willing to help direct an undergrad in a class he wasn’t supposed to take on how to do research and be successful as a researcher and scientist. Finally, this wouldn’t be possible without the support of my friends and family. Thanks to everyone who has been in my small groups for letting me vent. Thanks to my parents for giving me just enough support so I still felt independent. Finally, thanks to my wonderful wife Kristina, whom I love very much and who tolerates all of my mood swings, listens to my frustrations, and is a sane force in my life. Thanks for being willing to move out here and share in the pain when you decided to come to Carnegie Mellon and get a Ph.D. for yourself. Contents 1 Introduction 1 1.1 A Brief History of Open Source ....................... 2 1.2 Academic Research on Open Source ..................... 7 1.3 Overview of Thesis .............................. 12 2 Firms and Foundations: Guiding an Ecosystem To Promote Value 16 2.1 Governance and Intellectual Property ..................... 17 2.2 Foundations in Open Source ......................... 19 2.3 Description of Data .............................. 22 2.3.1 Interview Methodology ........................ 24 2.4 Community Design in Eclipse ........................ 27 2.5 Dominant Purposes of the Eclipse Foundation ................ 32 2.6 Driving Value Creation ............................ 36 2.6.1 Non-Market Player .......................... 36 2.6.2 Introduction of Process ........................ 37 2.6.3 The Value of the Eclipse Brand and Joint Marketing ........ 38 2.6.4 Organizational Structure Driving Value ............... 41 2.6.5 Platform for Innovation ........................ 43 vi 2.7 Conclusion .................................. 45 2.8 Topics for Future Research .......................... 46 3 Firms and Firms: Business Collaboration Through Open Source Projects 48 3.1 Description of Data .............................. 53 3.2 The Architecture of Eclipse .......................... 55 3.3 Distribution of work .............................. 58 3.3.1 Firm Participation on Projects .................... 66 3.4 Comparison of Eclipse with GNOME .................... 74 3.5 Conclusions .................................. 83 4 Firms and Individuals: The Impact of Commercial Participation on Volunteer Participation 86 4.1 Introduction .................................. 86 4.1.1 Commercial Participation and Positive Project Momentum ..... 88 4.1.2 Negative Impacts of Heterogeneity .................. 90 4.1.3 Business Models and Community Norms .............. 90 4.1.4 Cognitive Complexity at the Module Level ............. 92 4.2 Research Method ............................... 94 4.2.1 Community Background ....................... 94 4.3 Study 1: Developer Interviews ........................ 97 4.3.1 Views of Commercial Participation .................100 4.3.2 Classification of Firms ........................102 4.4 Study 2: Quantitative Analysis ........................105 4.4.1 Data Collection and Analysis .....................106 4.4.2 Product Focused vs. Community Focused Developers ........108 vii 4.4.3 Quantifying the Impact of Commercial Developers on Volunteer Participation .............................113 4.5 Discussion ...................................129 5 Individuals and Individuals: Evolution of the Socio-Technical Congruence Metric 133 5.1 Organizational Congruence ..........................135 5.2 Problems with Socio-Technical Congruence .................138 5.3 Replication of Original Results in Open Source ...............141 5.3.1 Selection of Projects .........................141 5.3.2 Generation of Networks .......................142 5.3.3 Selection of Control Variables ....................144 5.3.4 Results in Open Source ........................146 5.4 Individualized Congruence ..........................148 5.4.1 Distribution of Metrics ........................149 5.4.2