Understanding Software Development in an Open Source Context:Network Analysis of Source Code Repositories
Total Page:16
File Type:pdf, Size:1020Kb
Understanding Software Development in an Open Source Context:Network Analysis of Source Code Repositories Orucevic-Alagic, Alma 2016 Link to publication Citation for published version (APA): Orucevic-Alagic, A. (2016). Understanding Software Development in an Open Source Context:Network Analysis of Source Code Repositories. LTH Tryckeriet E-huset. Total number of authors: 1 General rights Unless other specific re-use rights are stated the following general rights apply: Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal Read more about Creative commons licenses: https://creativecommons.org/licenses/ Take down policy If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. LUND UNIVERSITY PO Box 117 221 00 Lund +46 46-222 00 00 Understanding Software Development in an Open Source Context: Network Analysis of Source Code Repositories Alma Oruceviˇ c-Alagi´ c´ Doctoral Dissertation, 2016 Department of Computer Science Lund University ii Dissertation 50, 2016 LU-CS-DISS: 2016-2 ISBN 978-91-7623-719-9 (printed version) ISBN 978-91-7623-720-5 (electronic version) ISSN 1404-1219 Department of Computer Science Lund University Box 118 SE-221 00 Lund Sweden Email: [email protected] Web Page: http://cs.lth.se/alma_orucevic-alagic Typeset using LATEX Printed in Sweden by Tryckeriet i E-huset, Lund, 2016 c 2016 Alma Oruˇcevi´c-Alagi´c ABSTRACT Open Source Software (OSS) created a paradigm shift within the software engi- neering field prompting further research to understand how mature, industry grade, software can be produced in an online milieu with distributed and lightly managed developers contributing source code in their free time. The OSS has become also a major revenue generator for many commercial organizations, and has found its place in closed source products, putting many proprietary software producers in the middle of an OSS community. The goal of the thesis is two-fold. Firstly, the research focuses on the assess- ment of the scope of impact the OSS has had on commercial software develop- ment. Secondly, the research studies some of the scoped aspects in more depth, such as the applicability of the OSS development practices within the closed soft- ware development environment, also known as inner source, as well as the analysis and benchmarking of developers’ collaboration networks. A systematic review of literature was conducted to scope OSS usage within the commercial context, while a case study with focus of understanding applicability of inner source development practices was conducted within a large company. The conducted research has in large part focused on the analysis of source code for over 400 Open Source Software projects, such as Android Open Stack, Apache Software Foundation, Ingres dbms, and a proprietary source code produced by a large branch within Ericsson. The results of the conducted research show that Open Source Software has impacted the way companies develop software by including OSS components into their proprietary products, implementing OSS business models, participating in OSS communities, and implementing OSS development practices. The research provides guidelines on how to implement inner source, as well as a network theory based approach for assessment and monitoring of software development process along with associated network metrics benchmarks. CONTENTS ABSTRACT iii PREFACE ix ACKNOWLEDGEMENTS xi Popular Science Summary xiii I INTRODUCTION 1 1 Background and Related Work . .3 2 Research Overview . 10 3 Research Methodology . 13 4 Results . 17 5 Synthesis . 22 6 Threats to Validity . 25 7 Conclusion and Future Work . 27 References . 29 Included Papers 37 I A Systematic Review of Research on Open Source Software in Com- mercial Software Product Development 39 1 Introduction . 40 2 Background and related work . 41 3 Review Method . 42 4 Results . 47 5 Discussion . 55 6 Conclusions . 56 vi CONTENTS References . 57 II Usage of Open Source in Commercial Software Product Development 63 1 Introduction . 63 2 Methodology . 64 3 Results from focus group meeting . 68 4 Conclusions . 71 References . 72 III A Case Study on the Transformation From Proprietary to Open Source Software 75 1 Introduction . 76 2 Background and related work . 77 3 Research approach . 78 4 Results . 84 5 Discussion . 88 6 Conclusions . 89 References . 89 IV A Prolonged Two Phase Case Study on Implementation of Open Source Development Practices within a Large Company Setting 93 1 Introduction . 94 2 Background . 95 3 Research approach . 98 4 Results . 101 5 Discussion . 104 6 Conclusions . 105 References . 106 V Network Analysis of a Large Scale Open Source Project 109 1 Introduction . 110 2 Background . 111 3 Research approach . 113 4 Results . 121 5 Discussion . 130 6 Conclusions . 130 References . 131 VI Development Process Monitoring Through Application of Network Anal- ysis on Source Code Repository Data 133 1 Introduction . 134 2 Background and related work . 135 3 Research approach . 137 4 Results . 146 CONTENTS vii 5 Discussion . 148 6 Conclusions . 150 References . 150 VIIBenchmarking Apache Software Foundation Projects: Network Anal- ysis of the Contributors’ Collaboration Networks 153 1 Introduction . 154 2 Background and related work . 156 3 Research approach . 157 4 Results . 165 5 Discussion . 172 6 Conclusions . 174 References . 175 PREFACE List of Included Publications The following publications are included in this doctoral thesis: I A Systematic Review of Research on Open Source Software in Com- mercial Software Product Development Martin Höst, Alma Oruˇcevi´c-Alagi´c Journal of Information & Software Technology, 53:6, pp. 616-624, 2011 II Usage of Open Source in Commercial Software Product Development - Findings from a Focus Group Meeting Martin Höst, Alma Oruˇcevi´c-Alagi´c,and Per Runeson International Conference on Product Focused Software Development and Process Improvement (PROFES) 2011, pp. 143-155, 2011 III A Case Study on the Transformation from Proprietary to Open Source Software Alma Oruˇcevi´c-Alagi´c,Martin Höst, Extended version of 6th International IFIP WG 2.13 Conference on Open Source Systems (OSS 2010), Notre Dame, IN, USA, May 30 - June 2, 2010, Proceedings, pp. 367-372, 2010 IV A Prolonged Two Phase Case Study on Implementation of Open Source Development Practices within a Large Company Setting Alma Oruˇcevi´c-Alagi´c,Martin Höst Submitted. V Network Analysis of a Large Scale Open Source Project Alma Oruˇcevi´c-Alagi´c,Martin Höst Extended version of 40th EUROMICRO Conference on Software Engineer- ing and Advanced Applications, Verona, Italy, August 27-29, 2014 x PREFACE VI Development Process Monitoring Through Application of Network Anal- ysis on Source Code Repository Data Alma Oruˇcevi´c-Alagi´c,Martin Höst Submitted. VII Benchmarking Apache Software Foundation Projects: Network Analy- sis of the Contributors’ Collaboration Networks Alma Oruˇcevi´c-Alagi´c,Nicklas Johansson, Christian Tenggren, Martin Höst Submitted. Contribution statement The author of this doctoral thesis, Alma Oruceviˇ c-Alagi´ c,´ is main contributor of publications III-VII. For these papers, she was the main designer, and responsible for most of the writing and the running of the research process. For the Paper II, the author participated in the design and implementation of the focus-group meeting. The author was involved in the implementation of the research presented in Paper I, the systematic literature review, in particular the articles’ selection and assessment process, as well as in the writing of parts of the paper, such as summarizing two subject areas. List of Related Publications Related publications that are not included in this doctoral thesis: I A Case Study of Open Source Development Practices within a Large Company Setting Alma Oruˇcevi´c-Alagi´cand Martin Höst ICSET 2014 International Conference on Software Engineering and Tech- nology, Istanbul, Turkey, Sep 29-30, 2014 II Inner Source Project Management Martin Höst, Klaas-Jan Stol, and Alma Oruˇcevi´c-Alagi´c Software Project Management in a Changing World, Gunther Ruhe and Claes Wohlin Springer Berlin Heidelberg, ISBN:978-3-642-55034-8, pages 343-369, 2014 III Development of Safety-Critical Software Systems Using Open Source Software - A Systematic Map Sardar Muhammad Sulaman, Alma Oruˇcevi´c-Alagi´c,Markus Borg, Krzysztof Wnuk, Martin Höst, and Jose Luis de la Vara 40th EUROMICRO Conference on Software Engineering and Advanced Applications, EUROMICRO-SEAA 2014, Verona, Italy, August 27-29, 2014 ACKNOWLEDGEMENTS This work was funded by the Industrial Excellence Center EASE - Embedded Ap- plication Software Engineering. “Only when we see ourselves in our true human context, as members of a race which is intended to be one organism and one body, will we begin to understand the positive importance not only of the successes but of the failures and accidents in our lives. My successes are not