We have analyzed the 25 most starred projects in GitHub (list of projects) in order to understand how they are governed (i.e., who / when and how important decisions for the project, like whether to accept a patch or what feature to work on next, are taken).
We first checked whether this decision-making process was transparent. That is, if we could find an explicit definition of the process for everybody to read. The following pie chart shows the results obtained:
Our results reveal that only 1 out of the 25 projects analyzed explicitly describes how it is governed.
And when looking at this specific project to see whether it followed some kind of democratic model, it turned out it clearly said it was a dictatorship scheme (the project documentation stated that “this project follows the timeless, highly efficient and totally unfair system known as Benevolent dictator for life”). This figure of a “Benevolent Dictator for Life” is not uncommon in open source.
A few other projects (17 out of 25) included some information on how to contribute but focusing on technical aspects (coding style, test coverage,…) but not on how these contributions would be then evaluated.
Further details can be found in this document including the full set of data of this analysis.
This work is part of a more ambitious study on the topic of Very Large Community-based Software Development aiming at: “transforming software development into a real community-driven process by providing an online collaborative platform where a software community at large (i.e. including its users) can effectively participate and be managed in order to make joint decisions in the open to ensure the long-term sustainability of the project. This will require solving a number of research challenges around the human and social aspects of software development. Therefore, the project will built a unified interdisciplinary framework combining techniques from software mining and analytics with methods borrowed from political science, sociology and economics.”