Funding proposal policy discussion

I’d like to discuss our current approach to farmOS “funding proposals”, which we use to propose expenditures from our OpenCollective balance: farmOS - Open Collective

We currently have a loosely defined policy/methodology, whereby someone can create a forum topic with the funding-proposal tag, which describes their proposal, and includes a poll to vote yes/no on it.

That’s worked fine so far. But I think it would be worth standardizing a bit more, and solidifying some of the policy rules to answer some “what ifs” and make it more clear when a proposal can be declared “accepted” or “declined”.

Perhaps we should create an official “funding proposal policy” document in the farmOS repo /docs/community directory (and link to it from /donate to show potential sponsors that we have a process), which outlines some of these basic rules. I don’t think it needs to be long or verbose with legalese. Just some bullet points to lay the ground rules, which we can add to or adjust over time if we need to.

This can be an active document that evolves over time. I don’t claim to be an expert on community governance or even simple voting mechanisms/strategies, so I welcome feedback! Consider this just a way to get the ball rolling… :slight_smile:

Copying some of my comments from #farmOS chat:

PS: speaking of the “funding proposal policy”… I have an idea to improve that a bit. Right now we don’t really have strict rules about how it works. I might propose we solidify that a little bit more. What I was thinking is: we require that proposals specify a “deadline”, and we requires a certain number of “yes” votes by that date (or maybe a ratio of yes to no votes). AND we require that anyone who votes “no” leave a comment to justify their vote, otherwise it doesn’t get counted. So it is the responsibility of the proposer to justify the funds in their proposal, and it is the responsibility of “no” voters to justify their veto.

These are just some ideas that came to mind, but they are not perfect… I see issues with the idea of requiring “No” voters to justify their vote as well.

My original thinking was basically that it’s easy to understand “Yes” votes, because they agree with the proposal author’s summary and justifications, but understanding the reasoning of “No” votes without any justification is more opaque. And since all votes are essentially anonymous, it would be possible for someone to prevent proposals from going through by creating multiple accounts and flooding the poll with anonymous “No” votes. The same is true of “Yes” votes, though.

So maybe it would be better to just encourage “No” voters justify their vote. Requiring it is problematic.

And maybe the “anonymous vote flooding” problem is still too hypothetical to worry about at this stage. :slight_smile:

Here is a draft of what farmOS.org/community/funding-proposals might look like. Curious what others think…

Funding proposal policy

The farmOS community has an established process for deciding how to spend funds from the farmOS OpenCollective budget. If you would like to propose a new expense, follow the procedure outlined below.

  1. Create a new funding proposal topic in the farmOS Community Forum
    • Title: Funding proposal: {{ Brief title/summary }}
    • Category: Community
    • Tag: funding-proposal
    • Template:
# Funding Proposal

**Title:** {{ Brief title/summary }}
**Submitted by:** {{ Proposal author(s) }}
**Related links:**
  - {{ Url(s) w/ brief titles/descriptions (optional) }}
**Cost:** ${{ Proposed dollar amount }}
**Deadline:** {{ Date when votes will be tallied and the proposal will be approved or denied. }}

## Description

{{ Detailed description of how the funds will be used and justification for why this is worthwhile. It is the responsibility of the proposer to make the case for spending funds. }}

## Poll

Do you support funding this proposal?

[poll type=multiple results=always min=1 max=1 chartType=bar]
* Yes
* No
[/poll]

**If you vote "No" you are encouraged to leave a comment comment explaining your decision.**

See [farmOS.org/community/funding-proposals](https://farmOS.org/community/funding-proposals) for official funding proposal process and policy.
  1. Share the proposal with others in the community.
  2. Wait for community to vote.
  3. When the deadline arrives, tally the votes and declare the proposal as “approved” or “denied”.
  4. If “approved”, the proposal author may create expense(s) in the farmOS OpenCollective up to the total proposal amount.
  5. The farmOS OpenCollective administrators accept or decline the expense(s) (see guidelines below).

Guidelines:

  • It is the responsibility of the proposal author(s) to justify the expenditure. Funding proposals should demonstrate their benefits to the farmOS community as a whole.
  • It is the responsibility of “No” voters to justify their decision to decline the proposal. A “No” vote should be accompanied by a comment on the forum topic explaining their reasoning for voting “No”.
  • A proposal may be edited/modified during the voting period in response to “No” votes. If the proposal author(s) edit their proposal they must leave a comment explaining their changes.
  • “No” votes may be changed to “Yes” votes in response to proposal edits/modifications. If this happens, the original “No” voter should leave a comment making it clear that they changed their vote.
  • If substantial changes are made during the voting period, the proposal deadline may be extended to allow votes to be changed.
  • The schedule of expense payments should be defined in the proposal. Some expenses may require payment immediately upon acceptance of the proposal. Others may require payment after services are performed, or as a reimbursement after related expenses are incurred by the author(s) (eg: from a third-party invoice).
  • The deadline for a proposal should be at least one month after the date of proposal submission to allow sufficient time for community voting. Exceptions may be made to this rule in circumstances where funding is needed sooner.
  • A proposal must have at least 3 “Yes” votes by the deadline to be approved.
  • “Yes” votes must outnumber “No” votes at the end of the voting period for a proposal to be approved.
  • Voting must end on the deadline and any votes after the deadline cannot be counted.
  • An administrator must summarize the vote results in a comment at the end of the voting period and declare the proposal as “approved” or “denied”.
  • The farmOS OpenCollective administrators have the final say over whether or not an expense is approved. They will follow the outcomes of proposal voting whenever possible, but may provide justification for a denial (eg: if there are not enough funds in the budget).
  • These guidelines may change at any time in response to specific cases as they come up. This is an evolving process, and these are community guidelines, not hard rules.

Do these guidelines make sense? Can we improve any of them? Are there other points or considerations we should highlight?

Actually, it looks like it’s possible to make polls public. Should that be a requirement for funding proposal polls?