Informal thoughts
For my own projects, maybe its a self esteem issue, but I can never imagine having a BDL governance model. The model that makes the most sense to me is a more loose model that requires people to contribute to have a say in the direction a project goes hwoever I know that this is difficult to enforce
It is interesting to see the way other projects have done things and just looking for projects I would like to contribute to, I have come across a lot of interesting governance models. For instance, a project I found on githup help-wanted that I was initially interested in, required contributers to be active in the community and contributing for at least 30 days before any of their contributions would be considered, as well as some sort of informal interview. I understand the need for these things when there is a project that you worked so hard on, but this just seems like a non-benevolent dictatiorship to me, it makes me think that my contributions probably aren’t welcome there and I think thats how other people felt also.
Therefore, it is also important to consider the way in which contribution is encouraged in a project and how much respect is given to contributers consiering you aren’t paying them. It is important to communicate with the community in a way that is respecful to them while also keeping the chosen govenance model in place.
Project Governance
Users
Projects can be adressed to a specific community, meaning it is that to up to that community to maintain therefore if that community is very active the project will thrive or if it isn’t active the project will remain stagnent e.g. blender. They can also be for contributers only i.e. a personal project that is posted to github so allows users to fork and add their own code however there is no community fostered. There are also projects addressed to a wider community e.g. an accessibility project that can’t maintain it themselves.
Contributors
If it is public contribution, people may break things if anyone is allowed to contribute. Common practice is a verification process for any contributers to the code so that only working code is being merged. Also, do contributers get to decide how the project progresses or any updates in the future?
Project Lifespan
One way to make projects is to accept that ideas come and go quickly or ’embrace death’. This is more related to personal projects as once a comunity is fostered, it is impossible to know if people will continue contributing or not whereas if you are just coding yourself, you can accept when an idea has been tried. Another way to make a project is to embrace longevity, usually when a community is behind a project, even if things break technologically it is still valuable to keep things up to date.
Governance Models
Benevolent Dictator for life/founder leader
The author (or maybe not) who started the project have the final say in all major decisions, in the context of creative software where there is strong creative direction. The danger is that everything relies on that one person to engage in the project to get anything done
Meritocracy
There are roles given to community members based on senority and how familiar they are with the code and then these roles can vote for changes.
Consensus Board
All members have equal votes, equal responsibility and equal liablity. Anything the members vote on has to be agreed upon by all members of this ‘board’.Both of these 2 are hard to do with a larger number of users as the meritocracy requires roles to be distributed between possibly a large number of people and the consensus requires possibly a large number of people to agree on a direction for the project which obviously gets less likely the more people there are on the board.
Formal structure
Usually if a project is backed by a business, a more formal approach will be taken with rigid roles and less equal liability between roles e.g. blender foundation. Because they are business backed, it allows for developers to be paid which also highers the likelyhood of the project being kept up to date.
Case Studies
OpenFoam
Their governance model allows for community members and contributers to pay if they want something to be implimented to help with project maintainance.
Nudel
Anyone is allowed to contribute to the code in any way, you are allowed to break the code if you want. Their philisophy is that if you have read the readme you are already a community member.
Leave a Reply