Reviewing Career Paths of the OpenStack Developers

Career perspectives are known to motivate software engineers. However, so far, career perspectives have been mostly studied within traditional software development companies. In our work we take a complementary approach and study career paths of open source developers, focusing on their advancement through the code review hierarchy, from developers to reviewers and further to core reviewers.To gain understanding of code review career paths we conduct an exploratory case study of the OpenStack community. Based on the case study we have publicized anonymized research data and formulated four hypotheses pertaining to career paths of contributors in modern multi-company open source projects. We conjecture that(i) developers and reviewers are separate subpopulations with little movement between them, (ii-a) the turnover of the core reviewers is high and rapid, (ii-b) companies are interested in having core reviewers among their staff, and (iii) being a core reviewer is beneficial for career.Validity of those hypotheses in other multi-company open source projects should be investigated in the follow-up studies.

[1]  Alexander Serebrenik,et al.  Who's who in Gnome: Using LSA to merge software repository identities , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[2]  Alexander Serebrenik,et al.  How do Scratch Programmers Name Variables and Procedures? , 2017, 2017 IEEE 17th International Working Conference on Source Code Analysis and Manipulation (SCAM).

[3]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[4]  Christoph Treude,et al.  Who is Who in the Mailing List? Comparing Six Disambiguation Heuristics to Identify Multiple Addresses of a Participant , 2016, 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[5]  B. Flyvbjerg Five Misunderstandings About Case-Study Research , 2006, 1304.1186.

[6]  Sandra Slaughter,et al.  Understanding the Motivations, Participation, and Performance of Open Source Software Developers: A Longitudinal Study of the Apache Projects , 2006, Manag. Sci..

[7]  James H. Gerlach,et al.  An empirical analysis of open source software developers' motivations and continuance intentions , 2007, Inf. Manag..

[8]  Daniel Izquierdo-Cortazar,et al.  Effort estimation of FLOSS projects: a study of the Linux kernel , 2013, Empirical Software Engineering.

[9]  Anita Sarma,et al.  The onion patch: migration in open source ecosystems , 2011, ESEC/FSE '11.

[10]  Alberto Bacchelli,et al.  Expectations, outcomes, and challenges of modern code review , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[11]  K. Gabriel,et al.  SIMULTANEOUS TEST PROCEDURES-SOME THEORY OF MULTIPLE COMPARISONS' , 1969 .

[12]  Helen Sharp,et al.  Motivation in Software Engineering: A systematic literature review , 2008, Inf. Softw. Technol..

[13]  Brian Fitzgerald,et al.  Why and How Should Open Source Projects Adopt Time-Based Releases? , 2015, IEEE Software.

[14]  Edgar Brunner,et al.  Rank-based multiple test procedures and simultaneous confidence intervals , 2012 .

[15]  Fabian Fagerholm,et al.  Onboarding in Open Source Projects , 2014, IEEE Software.

[16]  Gang Yin,et al.  Reviewer recommendation for pull-requests in GitHub: What can we learn from code review and bug assignment? , 2016, Inf. Softw. Technol..

[17]  Jesús M. González-Barahona,et al.  Developer identification methods for integrated data from various sources , 2005, ACM SIGSOFT Softw. Eng. Notes.

[18]  Tom Mens,et al.  On the variation and specialisation of workload—A case study of the Gnome ecosystem community , 2014, Empirical Software Engineering.

[19]  Premkumar T. Devanbu,et al.  How social Q&A sites are changing knowledge sharing in open source software communities , 2014, CSCW.

[20]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[21]  Georgios Gousios,et al.  Work practices and challenges in pull-based development: the contributor's perspective , 2015, ICSE.

[22]  Gregorio Robles,et al.  Developer Turnover in Global, Industrial Open Source Projects: Insights from Applying Survival Analysis , 2017, 2017 IEEE 12th International Conference on Global Software Engineering (ICGSE).

[23]  J. Herbsleb,et al.  Two case studies of open source software development: Apache and Mozilla , 2002, TSEM.

[24]  Fabio Q. B. da Silva,et al.  Motivation in software engineering: A systematic review update , 2011, EASE.

[25]  Nicole Novielli,et al.  Confusion Detection in Code Reviews , 2017, 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[26]  Alexander Serebrenik,et al.  Gender, Representation and Online Participation: A Quantitative Study of StackOverflow , 2012, 2012 International Conference on Social Informatics.

[27]  Christoph Treude,et al.  Overcoming Open Source Project Entry Barriers with a Portal for Newcomers , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[28]  Jose Teixeira,et al.  Understanding Coopetition in the Open-Source Arena: The Cases of WebKit and OpenStack , 2014, OpenSym.

[29]  Hajimu Iida,et al.  Using Profiling Metrics to Categorise Peer Review Types in the Android Project , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering Workshops.

[30]  D HerbslebJames,et al.  Two case studies of open source software development , 2002 .

[31]  Jesús M. González-Barahona,et al.  Estimating development effort in Free/Open source software projects by mining software repositories: a case study of OpenStack , 2014, MSR 2014.

[32]  Walt Scacchi,et al.  Role Migration and Advancement Processes in OSSD Projects: A Comparative Case Study , 2007, 29th International Conference on Software Engineering (ICSE'07).