(follow also the discussion on Hacker News or read the full description of our research line around open source communities)
In my (probably naive) perception of the open source world, I used to believe that the word “open” in “open source” included not only the code of the project but also the management and evolution of the project itself. That is, I thought that many open source projects had a transparent decision-making process and followed some kind of democratic governance model where the whole community behind the software (including the users of the software) could have a saying on it.
This is not true. If we take a look at the 25 most starred projects on GitHub we can see that only one of them clearly explains how decisions are taken in the project while most (62%) say nothing at all (the rest give some partial hints). Clearly, transparency on the governance of the open source projects is mostly inexistent.
None of them are democratic. In fact, the one that says how decisions are taken follows a Benevolent Dictator for life model. Cleary, not something we would accept in any other community aspect of our society.
To be clear, I’m not saying projects should all be democratic, I’m saying this is something that deserves to be studied: why are they not? would any democratic model (representative, direct, liquid,…) work better as governance model for OSS? And in fact, I believe that while there is plenty of research in the field of mining software practices (to extract metrics and best practices regarding the size of the projects, the programming languages used, the frequency and size of the commits, the pull request model of development,…) we should pay more attention to the people, the community behind the project.
That’s why our research plan is to analyze open source software development from a political dimension, a social science dimension and an economics dimension. You can read the full text of our proposal here
For the TL;DR version, some of the topics we plan to research are:
- On the management of OSS projects
- Systematic study of governance models in OSS development
- Creating a DSL to allow each project precisely define their governance model (extending this one)
- Review different democracy models in our society and see how they could be adapted to the specific filed of OSS
- On attracting more contributors to a project
- Study the reasons that motivate people to participate in OSS and model those as goal models for analysis
- Think about innovative contribution models where people with retributions not based on money (knd of the concept of matching market used in organ donor chains)
- Apply gamification techniques
- Techniques to suggest potential contributors using cross-profiling analysis on social profiles of people in different networks
- On maximizing the collaboration within the project community
- Analysis of the community graph (e.g. to detect clusters that do not communicate with each other)
- Define a variety of “social metrics” (like the bus factor or the number of participants per issue label) aiming also at coming up with acceptable ranges for each of them
- Adapt review aggregator techniques and sentiment analysis techniques to summarize existing project discussions
Featured image by Kristina Alexanderson