The bug fixing process in proprietary and free/libre open source software: A coordination theory analysis

Publication Type:

Book Chapter


Business Process Transformation, M. E. Sharpe, Armonk, NY, p.69-99 (2008)




Coordination, FLOSS


To support business process transformation, we must first be able to represent business processes in a way that allows us to compare and contrast them or to design new ones. In this paper, I use coordination theory to analyze the bug fixing processes in the proprietary operating system development group of a large mini-computer manufacturer and for the Free/Libre Open Source Software Linux operating system kernel. Three approaches to identifying dependencies and coordination mechanisms are presented. Mechanisms analyzed include those for task assignment, resource sharing and managing dependencies between modules of source code. The proprietary development organization assigned problem reports to engineers based on the module that appeared to be in error, since engineers only worked on particular modules. Alternative task assignment mechanisms include assignment to engineers based on workload or voluntary assignment, as in Linux. In the proprietary process, modules of source code were not shared, but rather “owned” by one engineer, thus reducing the need for coordination. In Linux, where multiple developers can work on the same modules, alternative resource sharing mechanisms have been developed to manage source code. Finally, the proprietary developers managed dependencies between modules informally, relying on their personal knowledge of which other engineers used their code. The Linux process allows developers to change code in multiple modules, but emphasizes modularity to reduce the need to do so.