A lot of my FOSS friends are busy these days thinking about Foundations, not-for-profit organisations, and Associations. This kind of thinking is almost always useful. But I do not have much of substance to contribute to such a discussion. Instead I thought I would spend a few words and minutes setting down what I look for in FOSS project governance. These are merely my personal reflections. I would not be surprised if they do not have universal application.
To be clear, I am not a vendor of software or of software services. And I do not work for a vendor of software. So the concerns of vendors, though I am certain they are perfectly valid, are not my concerns.
When I consider whether or not I want to spend any of my personal time involving myself with a FOSS project, the first thing I look for is how it governs itself. This is my time (and effort) that I am contributing. And while my time (and effort) is no more valuable than anyone else’s, it is no less valuable either. How a project values my participation is expressed, I think, through the way it governs itself.
For example, I do not want to participate in a project where the voice someone has within the project depends on something that is not directly related to the contribution they have made within this very project. It seems to me that it makes good sense for some people to have commit rights for the code and for others not to have those rights. But that only makes sense if the route to attaining commit access is a result of contributions made to the project. And it must be at least possible for me similarly to attain such rights, given sufficient contributions of my time (and effort). If that is not possible, then clearly my contributions are not being equally valued. I will go elsewhere.
Who would be in an appropriate position to judge whether my contributions were of sufficient worth to merit my gaining commit rights? I can only imagine that it would be those who themselves have already attained such a position due to the strength of their own contributions. And thus the meritocracy.
I imagine there are many occasions when a project could go in one direction or a different direction. How do such decisions get made? The particulars do not matter so much to me. What matters is whether my opinion, as a project participant, counts and whether it counts equally with the opinions of others. Yet, again, I do not think that counting equally means a project needs to devolve all decision-making to mere majority voting. It seems obvious to me that some participants will have more experience than I do. They will have made longer term or more substantial contributions. It seems right to me that they should have a greater voice in current decision-making about the direction that the project should take. In part this greater responsibility will already have been signalled by the project because these individuals will have commit access to the codebase. And even within those with commit rights, there may need to be a further level of distinction such as a project management committee. This could help the project make some of its decisions. I can even imagine projects where ultimately there is a final authority, a single individual, who casts deciding ballots when necessary. But I cannot imagine participating in such a project unless there is some route by which I too might eventually attain such a position and that such attainment would be based upon the contributions I had made to the project.
And so it comes back to whether or not my contributions of time (and effort) are equally valued. It seems to me that there are many, many ways to organise the particulars of project governance each of which express this principle. There are also, I’m sure, many examples of projects that forego such equality of participation. That’s fine. I have no wish to insist that all projects conform to my ideals. Since this is my time (and effort) we are talking about, I can simply vote with my feet. I will go elsewhere.
I could be wrong, but I suspect that over time more and more projects will move toward the view that all participation needs to be valued equally. And from this starting point they will organise themselves in different ways which they think best expresses that belief.
One final observation. It seems obvious to me that if a project does organise itself in such a way in which each participant’s contribution is valued equally, the project will want to make this clear to one and all. It may lay out just such a principle when it explains how participation in the project works. More, however, I would expect the project to be telling me how decisions are made, how commit access is attained, what I need to do to get started and how I will be able to move through whichever levels of contribution the project has deemed necessary. When a project website does not explain very, very clearly how my participation will be valued, I almost immediately head for the exit.
I hope there will be more thinking and talking about Foundations, and not-for-profit organisations, and Associations amongst the FOSS projects that I have an interest in. I think it is usually a sign that the project is heading toward some sort of clarity about its own governance. And that kind of clarity can only help, if only to help me decide whether I want to continue to participate in the project.