I wanted to pick up a few threads here that I let drop back in October, concerning the redesign of farmOS.org, how Open Collective funding should be allocated for projects like this, and the general topic of community governance that we touched upon in the 10/14 Monthly Call.
Specifically, the issue came up on that call of how to vote or otherwise garner consensus for the disbursement of Open Collective funds for two tasks to improve farmOS.org: 1) migrating from mkdocs to Gatsby, and 2) authoring guides, tutorial videos and other official content to aid users.
Full disclosure: I’m proposing to pay myself for the site migration. cc’ing @kirsten_mc, too, b/c I’d love for her to take the lead on content authorship.
I’ll open a separate thread to discuss particulars of that proposal, but I think it presents a good example of the governance challenges posed by such a significant disbursement of community funds (the migration alone will likely consume half the current OC budget). It raises questions like:
- Who gets paid?
- How much do they get paid?
- How does the community benefit from this?
- Are these decisions aligned with the community’s shared values?
One possible solution
I think the two best platforms for deciding these types of questions collectively are this forum and the monthly calls. Both enjoy a fair amount of participation from a broad base of users and developers and seem well-suited to facilitate free discussion as well as voting. The Riot/Element room is another potential option, but I believe it would be hard to conduct a vote there. Discourse (the forum host), on the other hand, has a nice polling option built in; it’s not the most rigorous or sophisticated, but I think it will make do for a first attempt at this.
I think if proposals are initiated with a forum post and poll, then we can use the next monthly call to allow final comments and cast any last votes. As a safety measure, I think it’s also wise to make sure that @mstenta, @paul121 and myself, as project maintainers, sign off on the proposal as well. This sort of veto power felt a little dictatorial to me at first, but truth-be-told, Mike has to approve all expenses on OC anyways, so this just seems like a good way to be transparent about that process, while also guarding against abuse.
Procedure for proposing funded work
First of all, I’m just restricting this to “funded work”, to distinguish it from other expenses (eg, server costs, app store fees, etc). Those should probably have some guidelines established, too, but I just want to reign in the scope here.
So to summarize:
- Create a proposal on the forum, as described below in “Proposal requirements”.
- The voting period will last a minimum of 30 days from when the proposal is created.
- After the voting period concludes, if the proposal is approved, it will undergo a final review process at the next monthly call, as described below in “Review process”.
- If the review process accedes to fund the project, those funds will be earmarked* and disbursed upon completion.
* @mstenta, does OC have a means for earmarking funds before disbursing them?
As for the proposals themselves, there should probably be some guidelines. I’m really inspired by the Inkscape community’s process, though we probably don’t need anything quite so rigorous.
- Name of the recipient(s).
- A “Scope of Work” including project requirements and deliverables
- Acceptance criteria, and a designated reviewer.
- A fixed or maximum cost for the work to be done.
- A date for completion.
- A poll, complying with the “Poll requirements” below.
I suppose proposals could also comprise multiple projects, in which case each project should separately list all of the requirements.
- MUST be Single Choice
- MUST be set to Always Visible
- MUST permit votes from all forum members (ie, the “Group” should be left empty or set to
- MUST provide a simple yes or no question as the Title, (eg, “Do you support funding <proposal name or brief description>?”
- MUST provide two options, “Yes” and “No”.
- MUST check the “Show who voted” box
- Final call for comment.
- Close voting on the forum, collect votes from any non-forum members in attendance, and tabulate the results.
- If the proposal has a simple majority of votes for approval from community members, it will be submitted to the farmOS project maintainers for final approval.
An evolving process
I want to emphasize that, not only are these procedures totally open for discussion, but even if we go forward with a solution for now, as a relatively young community, we should be flexible and open to change. I hope that at some point these governance policies could evolve into something more rigorous and perhaps even legally enforceable, but I think the best way to get there is through an Agile-like process, so we can learn early what works and what doesn’t and improve on the process each step of the way.
As I’m wrapping this up, it also seems pretty meticulous, so please feel free to comment on ways this could be streamlined. Also, let me know anything I left out. Open to all suggestions!