(follow also the discussion on Hacker News or read the full description of the proposal for more in-deep information)
In my quest to study the world of open source development (my other attempt), I’m now preparing a ERC Consolidator grant (in short: one of the most prestigious research grants you can get in Europe which means it is also one of the most difficult to get) on this topic and I need your help. If you’re a user, owner or contributor to one or more open source projects (I guess this definition covers 99.9% of you) read on to know more about what exactly we are trying to study and:
- Give feedback on our research ideas so that we can improve them. Feel free to say whatever you want (parts you liked, aspects you didn’t like, aspects you would add, things to take into account,…) as long it is constructive; we (researchers) have a thick skin thanks to the continuous peer review of our work.
- Join our practitioners board: a group of contributors / owners of open source projects that (only) commit to read our advances in the area, accept to be contacted to learn more about how their projects evolve and organize themselves and (potentially) incorporate some of the techniques / recommendations we come up with in their projects to validate them. This will help us to make sure our research is useful. Use this link or the form below
Our research plan for open source software development
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). 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.
Transparency of the governance model in open source projects
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 (short version – 5 pages long) of our proposal here (sorry if you don’t like the template but this is the one we are given and, yes, it’s in word!) but for the TL;DR version let me give you some examples of things we would like to take a look at:
- 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
How can I help
Interested in the project? Great!. As I said at the beginning, you can help by either telling us what are your thoughts on the proposal (leave a comment below or write to us) or joining the community of open source contributors / owners that want to follow the evolution of our research, accept to be contacted/interviewed to learn more about how OSS is developed and commit to read the results we produce and (maybe) try them in their projects. The more you are the better!. This is your chance to make sure that at least for once, researchers do something that may interest you!. Join us using this link or filling the form below.
Create your own user feedback survey
Are you crazy? You should NOT make public your research ideas until they are published!
(a short clarification for my fellow researchers that may be reading this as well and thinking I lost my mind)
I know it’s not common to openly write about research grants that you plan to submit, I guess because researchers feel this is too risky: Somebody could copy your idea and do it first!!!!
A small rant to answer to this, unfortunately, common misconception. This is in fact a disease for our profession that makes advancement of science a by product of career promotion. Just read what authors of the very recommended Team geek book had to say about their perceptions of our profession (as a comparison of how open source development works):
Professional science is supposed to be about the free and open exchange of information. But the desperate need to “publish or perish” and to compete for grants has had exactly the opposite effect. Great thinkers don´t share ideas. They cling to them obsessively, do their research in private, hide all mistakes along the path and then ultimately publish a paper making it sound like the whole process was effortless and obvious. And the results are often disastrous: they accidentally duplicated someone else´s work or made an undetected mistake early on … The amount of wasted time and effort is tragic
Hopefully, open science will become soon the mandatory research paradigm.
And still, even if you disagree with all above, sharing your ideas has more pros than cons, you can get feedback and/or find new collaborators that would like to help you advance in this path, and the risk of somebody copying your idea and successfully doing something with it is small. Ideas are worth nothing without great execution. And when you write about an idea is (I hope) because you’ve been thinking a lot about it so your knowlege (and your ability of execute it) is much greater than anyone that just runs into it.
Featured image by Kristina Alexanderson