Earlier tonight I submitted a first draft of VVV’s governance model for comment by the community. This is one of those times as an open source software maintainer where you realize you’re doing something that should have been done a long time ago.
See also the time we added a license 1.5 years in… 😅
As I started researching how one goes about documenting a governance model, I ran into “Planning for Sustainability“, from OSS Watch. At the bottom of that document are a few time estimates to help you project the level of effort in doing this all. They’ve marked 30 hours to “understand the different governance models” and create the document (from a template).
I kind of laughed at first, especially because VVV is not that big of a project. But here I am after 2 days of on and off research and documentation, probably somewhere about 6 hours in, thinking that they aren’t so far off.
It’s easier for VVV because it is (IMO) a fairly clear benevolent dictator model. I’ve led the project for 5 years and have relied on active members of the community for input throughout. I can imagine this being near impossible for larger projects where the project structure is less clear.
Of course, the benefit of spending so much time researching is parsing the great information that’s available thanks to years of others’ successful and failed attempts.
Here’s a walkthrough of some material I’ve found useful, along with commentary.
First, I’m happy to have run into the “Open-source governance” Wikipedia article early in the process. This does not directly describe governance for open source software, but instead the political philosophy of a community editable legislation. This helped set the tone in my head that my intent should be to document a clear explanation of how the project is managed rather than just a brief overview of my assumptions.
Next, all of the OSS Watch documentation was very useful. I spent some quality time with “Governance Models“, “Roles in Open Source Projects“, “Meritocratic Governance Model“, and “Benevolent Dictator Governance Model“. I almost used one of the provided templates, because it’s nicely open sourced as CC BY-SA 4.0, but decided to go completely custom.
I explored the models used by other other open source projects. In the process, I studied those from NodeJS, WP-CLI, and Ubuntu among other random finds I stumbled on through GitHub’s search. This process taught me that not nearly enough open source projects provide a statement on governance. WP-CLI in particular inspired the inclusion of the project administration section so that clear documentation existed on server and domain management.
I also spent some time with some hard copies. The “Project Structures and Ownership” page from Homesteading the Noosphere was useful in wrapping my head around the word “benevolent dictator”, a term that I still don’t really like. And Producing Open Source Software is always so valuable. I went back again and again to “Benevolent Dictators“, “Social and Political Infrastructure“, “Choosing Committers“, and “Writing It All Down“.
My favorite phrase of the process comes from that last section:
living reflection of the group’s intentions, not a source of frustration and blockage
This sums the process up. A documented governance model is a document of intent, one that can be changed as the project matures, and it’s meant to provide a clear way for work to happen rather than a roadblock.
I’m looking forward to seeing what the community thinks!