A systematic examination of knowledge loss in open source software projects

Abstract Context Open Source Software (OSS) development is a knowledge focused activity which relies heavily on contributors who can be volunteers or paid workers and are geographically distributed. While working on OSS projects contributors acquire project related individualistic knowledge and gain experience and skills, which often remains unshared with others and is usually lost once contributors leave a project. All software development organisations face the problem of knowledge loss as employees leave, but this situation is exasperated in OSS projects where most contributors are volunteers with largely unpredictable engagement durations. Contributor turnover is inevitable due to the transient nature of OSS project workforces causing knowledge loss, which threatens the overall sustainability of OSS projects and impacts negatively on software quality and contributor productivity. Objective The objective of this work is to deeply and systematically investigate the phenomenon of knowledge loss due to contributor turnover in OSS projects as presented in the state-of-the-art literature and to synthesise the information presented on the topic. Furthermore, based on the learning arising from our investigation it is our intention to identify mechanisms to reduce the overall effects of knowledge loss in OSS projects. Methodology We use the snowballing methodology to identify the relevant literature on knowledge loss due to contributor turnover in OSS projects. This robust methodology for a literature review includes research question, search strategy, inclusion, exclusion, quality criteria, and data synthesis. The search strategy, and inclusion, exclusions and quality criteria are applied as a part of snowballing procedure. Snowballing is considered an efficient and reliable way to conduct a systematic literature review, providing a robust alternative to mechanically searching individual databases for given topics. Result Knowledge sharing in OSS projects is abundant but there is no evidence of a formal strategy or practice to manage knowledge. Due to the dynamic and diverse nature of OSS projects, knowledge management is considered a challenging task and there is a need for a proactive mechanism to share knowledge in the OSS community for knowledge to be reused in the future by the OSS project contributors. From the collection of papers found using snowballing, we consolidated various themes on knowledge loss due to contributor turnover in OSS projects and identified 11 impacts due to knowledge loss in OSS projects, and 10 mitigations to manage with knowledge loss in OSS projects. Conclusion In this paper, we propose future research directions to investigate integration of proactive knowledge retention practices with the existing OSS practices to reduce the current knowledge loss problem. We suggest that there is insufficient attention paid to KM in general in OSS, in particular there would appear to an absence of proactive measures to reduce the potential impact of knowledge loss. We also propose the need for a KM evaluation metric in OSS projects, similar to the ones that evaluate health of online communities, which should help to inform potential consumers of the OSS of the KM status on a project, something that is not existent today.

[1]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[2]  Mircea Lungu,et al.  Towards reverse engineering software ecosystems , 2008, 2008 IEEE International Conference on Software Maintenance.

[3]  Sonali K. Shah Motivation, Governance, and the Viability of Hybrid Forms in Open Source Software Development , 2006, Manag. Sci..

[4]  Daniel M. Germán,et al.  How the R Community Creates and Curates Knowledge: A Comparative Study of Stack Overflow and Mailing Lists , 2016, 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR).

[5]  Alain Yee-Loong Chong,et al.  Do interorganisational relationships and knowledge-management practices enhance collaborative commerce adoption? , 2013 .

[6]  Andrea Back,et al.  Open Source Software Adoption: Lessons from Linux in Munich , 2017, IT Professional.

[7]  M. Lindvall,et al.  Knowledge management in software engineering , 2002, IEEE Software.

[8]  Alice Lam Tacit Knowledge, Organizational Learning and Societal Institutions: An Integrated Framework , 2000 .

[9]  Sherae L. Daniel,et al.  Sourcing knowledge in open source software projects: The impacts of internal and external social capital on project success , 2018, J. Strateg. Inf. Syst..

[10]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

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

[12]  Hugh Willmott,et al.  Strategic knowledge management - Insights and pitfalls , 2017, Int. J. Inf. Manag..

[13]  Gerald C. Kane,et al.  Membership Turnover and Collaboration Success in Online Communities: Explaining Rises , 2011, MIS Q..

[14]  Darja Smite,et al.  Software Architects in Large-Scale Distributed Projects: An Ericsson Case Study , 2016, IEEE Software.

[15]  Ioannis Stamelos,et al.  Understanding knowledge sharing activities in free/open source software projects: An empirical study , 2008, J. Syst. Softw..

[16]  Eleni Constantinou,et al.  An empirical comparison of developer retention in the RubyGems and npm software ecosystems , 2017, Innovations in Systems and Software Engineering.

[17]  Wasif Afzal,et al.  Knowledge transfer challenges and mitigation strategies in global software development - A systematic literature review and industrial validation , 2013, Int. J. Inf. Manag..

[18]  Sven Laumer,et al.  Is the source strong with you? A fit perspective to predict sustained participation of FLOSS developers , 2011, ICIS.

[19]  Walt Scacchi Free/open source software development , 2007, ESEC-FSE '07.

[20]  Eric A. von Hippel,et al.  How Open Source Software Works: 'Free' User-to-User Assistance? , 2000 .

[21]  I. Nonaka,et al.  SECI, Ba and Leadership: a Unified Model of Dynamic Knowledge Creation , 2000 .

[22]  I. Nonaka,et al.  How Japanese Companies Create the Dynamics of Innovation , 1995 .

[23]  Xiaoqing Wang,et al.  A Systematic Examination of Member Turnover and Online Community Health , 2011, ICIS.

[24]  Michael H. Zack,et al.  Developing a Knowledge Strategy , 1999 .

[25]  Andrea Hemetsberger,et al.  SHARING AND CREATING KNOWLEDGE IN OPEN-SOURCE COMMUNITIES - THE CASE OF KDE , 2004 .

[26]  Marleen Huysman,et al.  Learn to solve problems: a virtual ethnographic case study of learning in a GNU/Linux Users Group , 2006 .

[27]  Gail C. Murphy,et al.  Impact of developer turnover on quality in open-source software , 2015, ESEC/SIGSOFT FSE.

[28]  Saerom Lee,et al.  Governance strategies for open collaboration: Focusing on resource allocation in open source software development organizations , 2017, Int. J. Inf. Manag..

[29]  Marco Aurélio Gerosa,et al.  A systematic literature review on the barriers faced by newcomers to open source software projects , 2015, Inf. Softw. Technol..

[30]  Walt Scacchi,et al.  Free/Open Source Software Development Practices in the Computer Game Community , 2003 .

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

[32]  Xin Li,et al.  Using Social Psychology to Motivate Contributions to Online Communities , 2005, J. Comput. Mediat. Commun..

[33]  Ruben Pereira,et al.  A knowledge management approach to capture organizational learning networks , 2017, Int. J. Inf. Manag..

[34]  Chris Kimble,et al.  The application of knowledge management to software evolution , 2017, Int. J. Inf. Manag..

[35]  George Kuk,et al.  Strategic Interaction and Knowledge Sharing in the KDE Developer Mailing List , 2006, Manag. Sci..

[36]  C.S. Hutchison Personal knowledge, team knowledge, real knowledge , 2001, EUROCON'2001. International Conference on Trends in Communications. Technical Program, Proceedings (Cat. No.01EX439).

[37]  Alberto Sillitti,et al.  Cooperation wordle using pre-attentive processing techniques , 2013, 2013 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE).

[38]  Gregorio Robles,et al.  The processes of joining in global distributed software projects , 2006, GSD '06.

[39]  Anthony J. Rhem UML for developing knowledge management systems , 2005 .

[40]  Audris Mockus,et al.  Who Will Stay in the FLOSS Community? Modeling Participant’s Initial Behavior , 2015, IEEE Transactions on Software Engineering.

[41]  Thomas H. Davenport,et al.  Book review:Working knowledge: How organizations manage what they know. Thomas H. Davenport and Laurence Prusak. Harvard Business School Press, 1998. $29.95US. ISBN 0‐87584‐655‐6 , 1998 .

[42]  Cornelia Boldyreff,et al.  Exploring the Role of Commercial Stakeholders in Open Source Software Evolution , 2012, OSS.

[43]  Jesús M. González-Barahona,et al.  Contributor Turnover in Libre Software Projects , 2006, OSS.

[44]  Emilia Mendes,et al.  Using Forward Snowballing to update Systematic Reviews in Software Engineering , 2016, ESEM.

[45]  Robert E. Cole,et al.  From a Firm-Based to a Community-Based Model of Knowledge Creation: The Case of the Linux Kernel Development , 2003, Organ. Sci..

[46]  Ashish Sureka,et al.  What Community Contribution Pattern Says about Stability of Software Project? , 2014, 2014 21st Asia-Pacific Software Engineering Conference.

[47]  P. Drucker Knowledge-Worker Productivity: The Biggest Challenge , 1999, IEEE Engineering Management Review.

[48]  Martin Michlmayr,et al.  From the Cathedral to the Bazaar: An Empirical Study of the Lifecycle of Volunteer Community Projects , 2007, OSS.

[49]  Victor R. Basili,et al.  Viewing maintenance as reuse-oriented software development , 1990, IEEE Software.

[50]  Marco Aurélio Gerosa,et al.  Social Barriers Faced by Newcomers Placing Their First Contribution in Open Source Software Projects , 2015, CSCW.

[51]  Jesús M. González-Barahona,et al.  Adapting the "staged model for software evolution" to free/libre/open source software , 2007, IWPSE '07.

[52]  Sven Laumer,et al.  Who Will Remain? An Evaluation of Actual Person-Job and Person-Team Fit to Predict Developer Retention in FLOSS Projects , 2012, 2012 45th Hawaii International Conference on System Sciences.

[53]  L. G. Pee,et al.  Intrinsically motivating employees' online knowledge sharing: Understanding the effects of job design , 2015, Int. J. Inf. Manag..

[54]  Joon Koh,et al.  Knowledge sharing in virtual communities: an e-business perspective , 2004, Expert Syst. Appl..

[55]  Gregorio Robles,et al.  Evolution of Volunteer Participation in Libre Software Projects: Evidence from Debian , 2005 .

[56]  Kevin Crowston,et al.  Effective work practices for software engineering: free/libre open source software development , 2004, WISER '04.

[57]  Audris Mockus,et al.  Quantifying and Mitigating Turnover-Induced Knowledge Loss: Case Studies of Chrome and a Project at Avaya , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[58]  Eva Söderström,et al.  Seven Types of Knowledge Loss in the Knowledge Capture Process , 2010, ECIS.

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

[60]  Xianming Cai,et al.  International Journal of Information Management Lean Tools and Methods to Support Efficient Knowledge Creation , 2022 .

[61]  George Ghinea,et al.  Why do commercial companies contribute to open source software? , 2012, Int. J. Inf. Manag..

[62]  Andi Wahju Rahardjo Emanuel,et al.  Statistical analysis of popular open source software projects and their communities , 2014 .

[63]  Morten T. Hansen,et al.  What's your strategy for managing knowledge? , 1999, Harvard business review.

[64]  Stefan Biffl,et al.  Monitoring the "health" status of open source web-engineering projects , 2007, Int. J. Web Inf. Syst..

[65]  Brian Henderson-Sellers,et al.  A framework to support the evaluation, adoption and improvement of agile methods in practice , 2008, J. Syst. Softw..

[66]  Kevin Crowston,et al.  Information systems success in free and open source software development: theory and measures , 2006, Softw. Process. Improv. Pract..

[67]  Marcelo Serrano Zanetti,et al.  The Role of Emotions in Contributors Activity: A Case Study on the GENTOO Community , 2013, 2013 International Conference on Cloud and Green Computing.

[68]  Xiaolong Zheng,et al.  Analyzing open-source software systems as complex networks , 2008 .

[69]  Joseph G. Davis,et al.  Effects of knowledge management strategy on organizational performance: A complementarity theory-based approach , 2008 .

[70]  Abdelkader Daghfous,et al.  Understanding and managing knowledge loss , 2013, J. Knowl. Manag..

[71]  Thomas H. Davenport,et al.  Better practices for retaining organizational knowledge: Lessons from the leading edge , 2003 .

[72]  Brian Fitzgerald,et al.  Understanding open source software development , 2002 .

[73]  John E. Mathieu,et al.  A Temporally Based Framework and Taxonomy of Team Processes , 2001 .

[74]  Petra Schubert,et al.  A Global Knowledge Medium as a Virtual Community: The NetAcademy Concept , 1998 .

[75]  Nicolas Anquetil,et al.  Software maintenance seen as a knowledge management issue , 2007, Inf. Softw. Technol..

[76]  I. Nonaka A Dynamic Theory of Organizational Knowledge Creation , 1994 .

[77]  Vitaliy Mezhuyev,et al.  The impact of knowledge management processes on information systems: A systematic review , 2018, Int. J. Inf. Manag..

[78]  Rory V. O'Connor,et al.  Exploring Knowledge Loss in Open Source Software (OSS) Projects , 2017, SPICE.

[79]  Claes Wohlin,et al.  Systematic literature studies: Database searches vs. backward snowballing , 2012, Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement.

[80]  Walt Scacchi,et al.  Free and open source development practices in the game community , 2004, IEEE Software.

[81]  Petr Knoth,et al.  Fostering open science to research using a taxonomy and an eLearning portal , 2015, I-KNOW.

[82]  Rory V. O'Connor,et al.  Acquiring and sharing tacit knowledge in software development teams: An empirical study , 2013, Inf. Softw. Technol..

[83]  Jeffrey C. Carver,et al.  Impact of developer reputation on code review outcomes in OSS projects: an empirical investigation , 2014, ESEM '14.

[84]  Thomas Hess,et al.  An Empirical Study of Volunteer Members' Perceived Turnover in Open Source Software Projects , 2012, 2012 45th Hawaii International Conference on System Sciences.

[85]  Torgeir Dingsøyr,et al.  Postmortem reviews: purpose and approaches in software engineering , 2005, Inf. Softw. Technol..

[86]  Chaim Zins,et al.  Conceptual approaches for defining data, information, and knowledge , 2007, J. Assoc. Inf. Sci. Technol..

[87]  Ioana Rus,et al.  Knowledge Management for Software Organizations , 2003 .

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

[89]  Xue Li,et al.  Knowledge sharing in open source software project teams: A transactive memory system perspective , 2013, Int. J. Inf. Manag..

[90]  Owen Watson,et al.  Ascending into order: A reflective analysis from a small open source development team , 2007, Int. J. Inf. Manag..

[91]  Daniel M. Germán,et al.  Peer Review on Open-Source Software Projects: Parameters, Statistical Models, and Theory , 2014, TSEM.

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

[93]  Davi Viana,et al.  Knowledge Creation and Loss within a Software Organization: An Exploratory Case Study , 2015, 2015 48th Hawaii International Conference on System Sciences.

[94]  Pearl Brereton,et al.  A systematic review of systematic review process research in software engineering , 2013, Inf. Softw. Technol..

[95]  Peng Huang,et al.  Participation in Open Knowledge Communities and Job-Hopping: Evidence from Enterprise Software , 2016, MIS Q..

[96]  Qin Zhou,et al.  The Impact of Job Satisfaction Affect on Turnover Intention: An Empirical Study Based on the Circumstances of China , 2009, 2009 Second International Conference on Education Technology and Training.

[97]  Michel Grundstein,et al.  A Reference Model for Knowledge Retention within Small and Medium-sized Enterprises , 2011, KMIS.

[98]  Audris Mockus,et al.  Organizational volatility and its effects on software defects , 2010, FSE '10.

[99]  Rory V. O'Connor,et al.  Social interaction, team tacit knowledge and transactive memory: empirical support for the agile approach , 2012 .

[100]  Claudio U. Ciborra,et al.  Sharing knowledge across boundaries , 2001, J. Inf. Technol..

[101]  J. J. Collins,et al.  An empirically-based characterization and quantification of information seeking through mailing lists during Open Source developers' software evolution , 2015, Inf. Softw. Technol..

[102]  Michael H. Zack,et al.  Managing Codified Knowledge , 1999 .

[103]  Jenny M. Hoobler,et al.  Employee Turnover and Tacit Knowledge Diffusion: A Network Perspective , 2003 .

[104]  Padraig Cunningham,et al.  Exploring the Relationship between Membership Turnover and Productivity in Online Communities , 2014, ICWSM.

[105]  Amrit Tiwana,et al.  An empirical study of the effect of knowledge integration on software development performance , 2004, Inf. Softw. Technol..

[106]  Forrest Shull,et al.  What Do We Know about Knowledge Management? Practical Implications for Software Engineering , 2009, IEEE Software.

[107]  Rory V. O'Connor,et al.  A Gamification Approach to Improve the Software Development Process by Exploring the Personality of Software Practitioners , 2016, SPICE.

[108]  Sven Apel,et al.  Evolutionary trends of developer coordination: a network approach , 2015, Empirical Software Engineering.

[109]  Sherlock A. Licorish,et al.  Understanding the attitudes, knowledge sharing behaviors and task performance of core developers: A longitudinal study , 2014, Inf. Softw. Technol..

[110]  Claes Wohlin,et al.  Experiences from using snowballing and database searches in systematic literature studies , 2015, EASE.

[111]  Chin-Lung Hsu,et al.  Acceptance of blog usage: The roles of technology acceptance, social influence and knowledge sharing motivation , 2008, Inf. Manag..

[112]  António Lucas Soares,et al.  Information, knowledge and collaboration management in the internationalisation of SMEs: A systematic literature review , 2016, Int. J. Inf. Manag..

[113]  Kathleen M. Carley,et al.  Impact of license choice on Open Source Software development activity , 2009 .

[114]  Claes Wohlin,et al.  Guidelines for snowballing in systematic literature studies and a replication in software engineering , 2014, EASE '14.

[115]  Zhenchang Xing,et al.  Who Will Leave the Company?: A Large-Scale Industry Study of Developer Turnover by Mining Monthly Work Report , 2017, 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR).

[116]  M. Petticrew,et al.  Systematic Reviews in the Social Sciences: A Practical Guide , 2005 .

[117]  Chih-Ping Lee,et al.  The role of organizational capabilities in successful e-business implementation , 2007, Bus. Process. Manag. J..

[118]  Sebastian Spaeth,et al.  Knowledge Reuse in Open Source Software: An Exploratory Study of 15 Open Source Projects , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[119]  B. Donnellan,et al.  Implementing an Open Source Knowledge Base , 2005, IEEE Softw..

[120]  Kun Huang,et al.  Shared knowledge construction process in an open-source software development community: an investigation of the Gallery community , 2006 .

[121]  Brian Fitzgerald,et al.  The Transformation of Open Source Software , 2006, MIS Q..

[122]  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).