Reliability Against the Odds: The Lessons of Open Source Communities for Developing Reliable Software

Open source software is increasingly used in mission-critical processes of organizations, signaling its acceptance as highly reliable software. That said, the development process in open source communities differs radically from conventional approaches to reliable software development. Stronger still, open source software seems to thrive under conditions of that are orthogonal to the conventional approach: extreme fragmentation, weak planning and coordination structures and lack of control over objectives, priorities and resource allocation. Therefore, we argue that open source communities provide us with valuable and innovative lessons for managing the production of reliable software - especially since the conditions for contemporary software development increasingly resemble those of open source communities rather than those of tightly controlled corporate environments. To draw out these lessons, this paper applies concepts from High Reliability Theory (HRT) on two recent case studies of open source communities, Linux and Apache. We identify a number of important reliability-enhancing mechanisms. Understanding these mechanisms is important to a) managers of corporate software developers participating in open source communities and b) managers who want to transfer mechanisms and lessons from open source communities to their organization.

[1]  Roy T. Fielding,et al.  Shared leadership in the Apache project , 1999, CACM.

[2]  David McGowan,et al.  Legal Implications of Open-Source Software , 2000 .

[3]  K. Roberts Some Characteristics of One Type of High Reliability Organization , 1990 .

[4]  Andrea Bonaccorsi,et al.  Why Open Source Software Can Succeed , 2003 .

[5]  L. Sproull,et al.  Coordinating Expertise in Software Development Teams , 2000 .

[6]  T. L. Porte High Reliability Organizations: Unlikely, Demanding and At Risk , 1996 .

[7]  Karlene H. Roberts,et al.  New challenges in organizational research: high reliability organizations , 1989 .

[8]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[9]  Kellogg S. Booth,et al.  Coordinating open-source software development , 1999, Proceedings. IEEE 8th International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE'99).

[10]  S. Stout,et al.  Decision Dynamics in Two High Reliability Military Organizations , 1994 .

[11]  M. Castells,et al.  The Hacker Ethic and the Spirit of the Information Age , 2001 .

[12]  Guido Hertel,et al.  Motivation of software developers in Open Source projects: an Internet-based survey of contributors to the Linux kernel , 2003 .

[13]  V.H. Guthrie,et al.  Software safety analysis: using the entire risk analysis toolkit , 2004, Annual Symposium Reliability and Maintainability, 2004 - RAMS.

[14]  Timothy J. Vogus,et al.  Structuring for High Reliability: HR Practices and Mindful Processes in Reliability-Seeking Organizations , 2003 .

[15]  Vijayan Sugumaran,et al.  A framework for creating hybrid‐open source software communities , 2002, Inf. Syst. J..

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

[17]  K. Weick Making Sense of the Organization , 2000 .

[18]  Gene I. Rochlin,et al.  Safe operation as a social construct , 1999 .

[19]  E. Roe,et al.  High reliability pastoralism , 1998 .

[20]  B. Kogut,et al.  Open-source Software Development and Distributed Innovation , 2001 .

[21]  Farokh B. Bastani,et al.  A Systematic Design Method For High Quality Process-Control Systems Development , 2004, Int. J. Softw. Eng. Knowl. Eng..

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

[23]  J.B. Bowles Code from requirements: new productivity tools improve the reliability and maintainability of software systems , 2004, Annual Symposium Reliability and Maintainability, 2004 - RAMS.

[24]  Ted G. Lewis,et al.  The Open Source Acid Test , 1999, Computer.

[25]  Carola Jungwirth,et al.  Reconciling Rent-Seekers and Donators – The Governance Structure of Open Source , 2003 .

[26]  Jos A. Rijpma,et al.  From Deadlock to Dead End: The Normal Accidents‐ High Reliability Debate Revisited , 2003 .

[27]  Alexander Hars,et al.  Working for Free? Motivations for Participating in Open-Source Projects , 2002, Int. J. Electron. Commer..

[28]  Scott D. Sagan,et al.  The Limits of Safety , 2020, The Limits of Safety.

[29]  T. Laporte,et al.  Working in Practice But Not in Theory: Theoretical Challenges of “High-Reliability Organizations” , 1991 .

[30]  Josh Lerner,et al.  The Simple Economics of Open Source , 2000 .

[31]  Watts S. Humphrey,et al.  Managing the software process , 1989, The SEI series in software engineering.

[32]  Poong-Hyun Seong,et al.  Development of a safety critical software requirements verification method with combined CPN and PVS: a nuclear power plant protection system application , 2003, Reliab. Eng. Syst. Saf..

[33]  Yochai Benkler,et al.  Coase's Penguin, or Linux and the Nature of the Firm , 2001, ArXiv.

[34]  Meng-Lai Yin,et al.  Software complexity factor in software reliability assessment , 2004, Annual Symposium Reliability and Maintainability, 2004 - RAMS.

[35]  Mark C. Paulk,et al.  The Capability Maturity Model: Guidelines for Improving the Software Process , 1994 .

[36]  K. Roberts Managing High Reliability Organizations , 1990 .

[37]  Martha Grabowski,et al.  Human and organizational error in large scale systems , 1996, IEEE Trans. Syst. Man Cybern. Part A.

[38]  Emery Roe,et al.  Ecology, Engineering, and Management: Reconciling Ecosystem Rehabilitation and Service Reliability , 2002 .

[39]  K. Roberts,et al.  Risk Mitigation in Large-Scale Systems: Lessons from High Reliability Organizations , 1997 .

[40]  Nancy G. Leveson,et al.  Safeware: System Safety and Computers , 1995 .

[41]  Peter C. Wayner Free for All: How Linux and the Free Software Movement Undercut the High-Tech Titans , 2000 .

[42]  Tineke M. Egyedi,et al.  Standardization and Other Coordination Mechanisms in Open Source Software , 2004, Int. J. IT Stand. Stand. Res..

[43]  D. L. Simms,et al.  Normal Accidents: Living with High-Risk Technologies , 1986 .

[44]  K. Weick,et al.  Organizing for high reliability: Processes of collective mindfulness. , 1999 .