Scaling Open Source Communities: an Empirical Study of the Linux kernel
Large-scale open source communities, such as the Linux kernel, have gone through decades of development, substantially growing in scale and complexity. In the traditional workflow, maintainers serve as ``gatekeepers'' for the subsystems that they maintain. As the number of patches and authors significantly increases, maintainers come under considerable pressure and that may hinder the operation and even the sustainability of the community. A few subsystems have begun to use new workflows to address these issues. However, it is unclear to what extent these new workflows are successful, nor what factors are critical to their implementation. Therefore, we conduct an empirical study on the multiple-committer model (MCM) that has provoked extensive discussion in the Linux kernel community. We explore the effect of the model on the i915 subsystem with respect to four dimensions: pressure, latency, complexity, and quality assurance. We find that after this model was adopted, the burden of the i915 maintainers was significantly reduced and also, the model scales well to allow more committers. We propose that overloaded subsystems having trustworthy candidate committers are suitable for adopting this model. We further suggest its success is closely related to a series of measures for risk mitigation—sufficient pre-commit testing, strict review process, and the use of tools to simplify work and reduce errors. We employ a network analysis approach to locate candidate committers for the target subsystems and validate this approach and contextual success factors through email interviews with their maintainers. To the best of our knowledge, this is the first study focusing on how to scale open source communities. We expect that our study will help the rapidly growing Linux kernel and other similar communities to adapt to changes and remain sustainable.