Comparative case studies of open source software peer review practices

ContextThe power of open source software peer review lies in the involvement of virtual communities, especially users who typically do not have a formal role in the development process. As communities grow to a certain extent, how to organize and support the peer review process becomes increasingly challenging. A universal solution is likely to fail for communities with varying characteristics. ObjectiveThis paper investigates differences of peer review practices across different open source software communities, especially the ones engage distinct types of users, in order to offer contextualized guidance for developing open source software projects. MethodComparative case studies were conducted in two well-established large open source communities, Mozilla and Python, which engage extremely different types of users. Bug reports from their bug tracking systems were examined primarily, complemented by secondary sources such as meeting notes, blog posts, messages from mailing lists, and online documentations. ResultsThe two communities differ in the key activities of peer review processes, including different characteristics with respect to bug reporting, design decision making, to patch development and review. Their variances also involve the designs of supporting technology. The results highlight the emerging role of triagers, who bridge the core and peripheral contributors and facilitate the peer review process. The two communities demonstrate alternative designs of open source software peer review and their tradeoffs were discussed. ConclusionIt is concluded that contextualized designs of social and technological solutions to open source software peer review practices are important. The two cases can serve as learning resources for open source software projects, or other types of large software projects in general, to cope with challenges of leveraging enormous contributions and coordinating core developers. It is also important to improve support for triagers, who have not received much research effort yet.

[1]  Dane Bertram,et al.  Communication, Collaboration, and Bugs: The Social Nature of Issue Tracking in Software Engineering , 2009 .

[2]  Jing Wang,et al.  Revisiting Linus's law: Benefits and challenges of open source software peer review , 2015, Int. J. Hum. Comput. Stud..

[3]  John M. Carroll,et al.  Designers wanted: participation and the user experience in open source software development , 2009, CHI.

[4]  Jason E. Robbins Adopting OSS Methods by Adopting OSS Tools , 2002 .

[5]  Christine Nadel,et al.  Case Study Research Design And Methods , 2016 .

[6]  이영식 Communication 으로서의 영어교육 , 1986 .

[7]  Amy J. Ko,et al.  How power users help and hinder open bug reporting , 2010, CHI.

[8]  Bhavana S. Pansare,et al.  Information Needs in Bug Reports : Improving Cooperation between Developers and Users , 2015 .

[9]  Kevin Crowston,et al.  Bug Fixing Practices within Free/Libre Open Source Software Development Teams , 2008, J. Database Manag..

[10]  Maurizio Morisio,et al.  Characteristics of open source projects , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[11]  Maurizio Morisio,et al.  Characterizing the Open Source Software Process: a horizontal study , 2003 .

[12]  Françoise Détienne,et al.  User and developer mediation in an Open Source Software community: Boundary spanning through cross participation in online discussions , 2008, Int. J. Hum. Comput. Stud..

[13]  Paul B. de Laat,et al.  Governance of open source software: state of the art , 2007 .

[14]  Hajimu Iida,et al.  Understanding OSS Peer Review Roles in Peer Review Social Network (PeRSoN) , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[15]  Dane Bertram,et al.  Communication, collaboration, and bugs: the social nature of issue tracking in small, collocated teams , 2010, CSCW '10.

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

[17]  Stefan Koch,et al.  Effort, co‐operation and co‐ordination in an open source software project: GNOME , 2002, Inf. Syst. J..

[18]  James D. Herbsleb,et al.  Social coding in GitHub: transparency and collaboration in an open software repository , 2012, CSCW.

[19]  Hajimu Iida,et al.  Who does what during a code review? Datasets of OSS peer review repositories , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[20]  Charles M. Schweik Sustainability in Open Source Software Commons: Lessons Learned from an Empirical Study of SourceForge Projects , 2013 .

[21]  Christoph Lattemann,et al.  Framework for Governance in Open Source Communities , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[22]  Thomas Zimmermann,et al.  Towards the next generation of bug tracking systems , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[23]  Les Gasser,et al.  Negotiation and the coordination of information and activity in distributed software problem management , 2005, GROUP.

[24]  E. Guest Effort , 1924 .

[25]  Jing Wang,et al.  Behind Linus's law: A preliminary analysis of open source software peer review practices in Mozilla and Python , 2011, 2011 International Conference on Collaboration Technologies and Systems (CTS).

[26]  Karim R. Lakhani,et al.  Community, Joining, and Specialization in Open Source Software Innovation: A Case Study , 2003 .

[27]  DucheneautNicolas Socialization in an Open Source Software Community , 2005 .

[28]  Kouichi Kishida,et al.  The Co-Evolution of Systems and Communities in Free and Open Source Software Development , 2005 .

[29]  Eric S. Raymond,et al.  The cathedral and the bazaar - musings on Linux and Open Source by an accidental revolutionary , 2001 .

[30]  Walt Scacchi,et al.  Understanding Open Source Software Evolution 181 , 2006 .

[31]  Adina Barham,et al.  The Impact of Formal QA Practices on FLOSS Communities - The Case of Mozilla , 2012, OSS.

[32]  Christian Bird,et al.  Gerrit software code review data from Android , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[33]  Tony Cornford,et al.  Version management tools: CVS to BK in the Linux kernel , 2003 .

[34]  Stefan Haefliger,et al.  The periphery on stage: The intra-organizational dynamics in online communities of creation , 2013 .

[35]  Andy Huber,et al.  Peer reviews in software: a practical guide , 2002, SOEN.

[36]  Matthew Kay,et al.  Perceptions and practices of usability in the free/open source software (FoSS) community , 2010, CHI.

[37]  N. Hoffart Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory , 2000 .

[38]  E. K. Gannett,et al.  THE INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS , 1965 .

[39]  Gina Venolia,et al.  The secret life of bugs: Going past the errors and omissions in software repositories , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[40]  Jonas Gamalielsson,et al.  Sustainability of Open Source software communities beyond a fork: How and why has the LibreOffice project evolved? , 2014, J. Syst. Softw..

[41]  Walt Scacchi,et al.  Understanding Open Source Software Evolution , 2003 .

[42]  Lee Sproull,et al.  Essence of Distributed Work: The Case of the Linux Kernel , 2000, First Monday.

[43]  Lars Frederiksen,et al.  The Core and Cosmopolitans: A Relational View of Innovation in User Communities , 2012, Organ. Sci..

[44]  Christian Robottom Reis,et al.  An Overview of the Software Engineering Process and Tools in the Mozilla Project , 2002 .

[45]  Chiara Francalanci,et al.  Empirical Analysis of the Bug Fixing Process in Open Source Projects , 2008, OSS.

[46]  Daniel M. German,et al.  Open source software peer review practices , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[47]  Kevin Crowston,et al.  Effective Work Practices for FLOSS Development: A Model and Propositions , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[48]  Yutaka Yamauchi,et al.  Collaboration with Lean Media: how open-source software succeeds , 2000, CSCW '00.

[49]  David M. Nichols,et al.  Exploring Usability Discussions in Open Source Development , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

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

[51]  Audris Mockus,et al.  Impact of Triage: A Study of Mozilla and Gnome , 2013, 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement.

[52]  Nicolas Ducheneaut,et al.  Socialization in an Open Source Software Community: A Socio-Technical Analysis , 2005, Computer Supported Cooperative Work (CSCW).

[53]  Kevin Crowston,et al.  Emergent Decision-Making Practices in Free/Libre Open Source Software (Floss) Development Teams , 2007, OSS.

[54]  Kevin Crowston,et al.  Open source software projects as virtual organisations: competency rallying for software development , 2002, IEE Proc. Softw..

[55]  Gregorio Robles,et al.  Free/Libre and Open Source Software: Survey and Study - FLOSS FINAL REPORT , 2002 .

[56]  Kevin Crowston,et al.  Free/Libre open-source software development: What we know and what we do not know , 2012, CSUR.

[57]  Margaret-Anne D. Storey,et al.  Understanding broadcast based peer review on open source software projects , 2011, 2011 33rd International Conference on Software Engineering (ICSE).