Steinmacher, 2015
Total Page:16
File Type:pdf, Size:1020Kb
Supporting newcomers to overcome the barriers to contribute to open source software projects Igor Fabio Steinmacher TEXT SUBMITTED TO THE INSTITUTE OF MATHEMATICS AND STATISTICS OF THE UNIVERSITY OF SÃO PAULO FOR THE DOCTORAL DEGREE IN SCIENCE Program: Computer Science Advisor: Professor Marco Aurélio Gerosa This research is supported by Fundação Araucária (projeto DINTER UTFPR/IME- USP), CAPES (proc. BEX 2037-13-7), NAWEB, NAPSoL-PRP-USP, FAPESP and CNPq (Universal 477831/2013-3) São Paulo, November, 2015 Supporting newcomers to overcome the barriers to contribute to open source software projects This version of the thesis contains the changes suggested by the Committee Members during the public defense of the original version of this work, which occurred in Feb 26th, 2015. A copy of the original version is available at Institute of Mathematics and Statistics (IME) -University of São Paulo (USP) Committee Members: Prof. Dr. Marco Aurélio Gerosa (advisor) - IME-USP Prof. Dr. Christoph Treude - UFRN Prof. Dr. Tayana Uchoa Conte – UFAM Prof. Dr. José Carlos Maldonado – ICMC-USP Prof. Dr. Daniel Batista Macêdo – IME-USP Acknowledgements First, I would like to thank my advisor Marco Aurélio Gerosa for the guidance and helpful discussions during all these years, putting me on track whenever I got lost. His way of thinking and supporting me on my research taught me everything I know about being a researcher and conducting research. Marco helped me, guided me, and became a good friend. I also would like to thank David F. Redmiles, who received and welcomed me at UCI. I had a really good time there and could learn a lot with his suggestions and feedbacks. I am grateful to Tayana Conte and Cleidson de Souza who introduced me the qualitative research and supported me during my journey. I am very grateful to all the members of my qualifying committee and final examining committee. It was a pleasure to receive feedback and comments from a group of outstanding researchers: Carlos Denner, Cleidson de Souza, Fabio Kon, Daniel Batista, Christoph Treude, José Carlos Maldonado and Tayana Conte. I extend this gratitude to all the anonymous reviewers of the scientific community that gave important feedback to preliminary versions of this work reported in scientific papers. Thank you to all the open source software practitioners who volunteered and our students who participated of our studies. The kindness of complete strangers was essential for my research. I hope that my results bring benefits to OSS communities and to newcomers who want to contribute. This PhD would not be possible without the interinstitutional doctoral project (DINTER), financed by Fundação Araucária. I would like to thank Fabio Kon and Carlos Eduardo Ferreira for heading it at IME-USP and Reginaldo Ré for helping us coordinating the project at UTFPR. I extend this greeting to all the IME professors who supported and participated in this project. Due to the remote settings of DINTER project, I had to solve many issues while away from São Paulo, and I would not do that without the help of Lucileide R. G. Tadei, Secretary of CCP/CC. Thanks for all the colleagues from LAPESSC and CCSL, mainly Gustavo Ansaldi, Maurício Aniche and Igor Wiese, for the support, help, and hints during this period. I also would like to thank the other colleagues who were part of this doctorate program, residents of apartment 141: André Kawamoto, André Schwerz, Frank Helbert, Igor Wiese, Ivanilton Polato, Lucio Valentin, Luiz Arthur Feitosa, Marcos Silvano, Rafael Liberato, Rodrigo Campiolo, Rogério Gonçalves e Wellington Previero. I could not forget all the colleagues from Department of Computing at UTFPR who took part of my duties during this period. During this research, I received financial support from different foundations. I am really grateful to Fundação Araucária (DINTER UTFPR/IME-USP), CAPES Sandwich scholarship (BEX 2037-13-7), NAWEB, NAPSoL-PRP-USP, FAPESP, and CNPq (Universal 477831/2013-3). Finally, I would like to thank to my Family: my wife, my angel, my supporter Ana Paula Chaves Steinmacher, who encouraged, understood, pushed, and loved me during this long journey; and my two little pumpkins, who arrived during this period, Dante and Alice, who could not understand the reasons of my absence. I love you all. This thesis is for and because of you. i ii Abstract STEINMACHER, I. F. Supporting newcomers to overcome the barriers to contribute to open source software projects. 2015. 183 f. Tese (Doutorado) – Instituto de Matemática e Estatística, Universidade de São Paulo, São Paulo, 2015 Community-based Open Source Software (OSS) projects are generally self-organized and dynamic, receiving contributions from volunteers spread across the globe. These communities’ survival, long-term success, and continuity demand a constant influx of newcomers. However, newcomers face many barriers when making their first contribution to an OSS project, leading in many cases to dropouts. Therefore, a major challenge for OSS projects is to provide ways to support newcomers during their first contribution. In this thesis, our goal was to identify and understand the barriers newcomers face and provide appropriate strategies to lower these barriers. Toward this end, we conducted multiple studies, using multiple research methods. To identify the barriers, we used data collected from: semi-structured interviews with 35 developers from 13 different projects; 24 answers to an open questionnaire conducted with OSS developers; feedback from 9 graduate and undergraduate students after they tried to join OSS projects; and 20 primary studies gathered via a systematic literature review. The data was analyzed using Grounded Theory procedures: namely, open and axial coding. Subsequently, the analysis resulted in a preliminary conceptual model composed of 58 barriers grouped into six categories: cultural differences, newcomers’ characteristics, reception issues, newcomers’ orientation, technical hurdles, and documentation problems. Based on the conceptual model, we developed FLOSScoach, a portal to support newcomers making their first OSS project contribution. To assess the portal, we conducted a study with undergraduate students, relying on qualitative data from diaries, self-efficacy questionnaires, and the Technology Acceptance Model. By applying the model to a practical application and assessing it, we could evaluate and improve the barriers model, changing it according to improvements identified during the conception of the tool, as well as suggestions received from the study participants. The FLOSScoach study results indicate that the portal played an important role guiding newcomers and lowering barriers related to the orientation and contribution process, whereas it was inefficient in lowering technical barriers. We also found that the portal is useful, easy to use, and increased newcomers’ confidence to contribute. The main contributions of this thesis are: (i) empirical identification and modeling of barriers faced by OSS project newcomers; and (ii) a portal providing information to support OSS project newcomers. Keywords: Newcomers; Beginners; Newbies; Novices; Joiner; Open Source Software; Free Software; FLOSS; Barriers; Obstacles; Problems; Joining Process; Onboarding; Socialization; Empirical Software Engineering. iii iv Table of Contents List of Abbreviations........................................................................................................... ix List of Figures .................................................................................................................... xi List of Tables .................................................................................................................... xiii Chapter 1 Introduction ........................................................................................................ 1 1.1 Research Questions ...................................................................................................... 2 1.2 Research Design and Thesis Organization .................................................................... 2 1.3 Scope ........................................................................................................................... 5 1.4 Main Contributions ...................................................................................................... 6 1.5 Other Results ............................................................................................................... 7 1.5.1 Published Papers .................................................................................................. 7 1.5.2 Awards and Nominations .................................................................................... 10 1.5.3 Funding .............................................................................................................. 10 1.5.4 Advising ............................................................................................................. 11 1.5.5 Software Developed ............................................................................................ 11 1.5.6 Serving the community ....................................................................................... 12 Chapter 2 Related Work .................................................................................................... 13 2.1 Newcomers’ Barriers .................................................................................................. 13 2.2 Newcomers to Online Communities