OpenCollective Spending Proposal

We have money collecting in our OpenCollective project, but we do not have a set way of disseminating it to contributors. This is a proposal I posted in the OpenCollective GitHub issue. I would like to hash out a full proposal here that we can adopt for disseminating funds in future.

We need to decide the following to form a concrete proposal:

  • Leadership structure - appointment, decision making
  • Hosting costs - approval, type
  • Other costs that can be approved
  • Developer contributions - appointment, amount of reimbursement

Proposal

Terms

  • Contributor - a member of the Contributors team of the Github LibreTime organisation
  • Maintainer - a member of the Maintainers team of the Github LibreTime organisation
  • Administrator - a member of the Administrator team of the Github LibreTime organisation

Leadership structure

The project is lead by a board of Administrators. This board answers to the Contributors. It decides on the group of Maintainers (with the help of the existing maintainers) and administers the Open Collective. This means that members of the board have administrator accounts on the LibreTime Open Collective.

The maintainers are appointed by the board and are responsible for reviewing and merging patches as described in C4. They identify and recommend members of the community who should be made Contributors to the board. The board then considers the recommendation before making the final decision.

Contributors can override any decision by the Administrators or Maintainers by means of a General Resolution. This involves creating a bug report against the CoC repo with the proposal. This proposal then goes through a period of review and discussion before being voted on by the Contributors.

Hosting Costs

Any Contributor, Maintainer or Administrator can propose a project related to LibreTime (demo, website, documentation, etc) that will be funded by the LibreTime Open Collective. These proposals are considered by the board and if approved, the Contributor, Maintainer or Administrator can request refunds from the Open Collective by uploading the original hosting provider’s invoice to be approved by the Administrators.

Developer Reimbursements

Any Contributor, Maintainer or Administrator can request reimbursement for costs incurred relating to LibreTime (travel, conference entrance, etc). These requests must occur before the event. The board then considers the request and either approves or denies it. After the event, the Contributor, Maintainer or Administrator must submit an invoice to the Open Collective to be approved by the Administrators.

Need to refine

  • The General Resolution procedure - email, Github issue?
  • Voting/Election procedure - email, devotee?
  • Reimbursement request procedure - email, issue on a Github repo?
  • Any other cost reimbursements we want to support
1 Like

Thanks for posting this @paddatrapper

Couple quick quiestions -
1 - would it be easier to comment and collaborate if this proposal was a Google doc (or something similar?)
2 - Does this proposal cover reimbursements for development and other direct contributions to the project? Just trying to determine if some of the ideas referenced here are related - LibreTime services (and other ways to sustain the project) - #2 by gusaus

Probably not. Replies can quote sections to discuss particular parts

That would be the Developer Reimbursements section, though it probably needs a better name… It also needs a bit better phrasing to explicitly include those

To spur on additional community input and discussion, here are a few more excerpts and comments from the larger discussion about Open Collective and this proposal.

From: Alanna @ Open Collective

Hi! Alanna from the Open Collective team here. If you have any questions about how the platform works or how other groups have approached these questions, I’m here to help.

Social.coop uses Open Collective in conjunction with Loomio to make decision-making and governance easier. Here’s a case study where they discuss how it works for them. Loomio is an open source tool purpose-built for this kind of distributed decision-making. Although it can also make sense to stick with the tools you already use (Github issues for example) instead of having to add another.

It’s great that this discussion is surfacing important questions about who makes decisions and internal governance processes. On the other hand, I’d like to offer that you can make a start without having it all figured out. You could allow money to start building up in the Collective and begin funding small, totally uncontroversial things first, and work up to larger budget decisions that need a more robust governance structure in the future. Because Open Collective is fully transparent, there’s automatically accountability and nothing is hidden from the community. This creates a trust margin that gives you some flexibility. Like with software, iteratively building governance processes usually works better than waterfall planning everything ahead of time.

All the best for this next phase of LibreTime as a project! Let me know if there’s anything I can do to help.

From: @gusaus

As Alanna suggested, we could begin by funding small, totally uncontroversial things first such as -

  • Hosting cost for marketing and/or demo site(s)
  • Sponsoring/participating/attending meetups, sprints, or hackathons that enables contributions and/or promotes LibreTime
  • Contributor time for project management, community, outreach, marketing, or fundraising

Similarly, there are several benefits LibreTime can provide backers and sponsors ranging from website credits, radio/podcast spots, to community-based barn-raisers and hackathons.

With Open Collective providing ways to transfer funds between projects, there are all sorts of ways both LibreTime and contributors can collaborate on related projects, events, to providing services.

Again, the best way to really get it would be to read over some of the Open Collective docs, join the community, and apply to create a collective for LibreTime if everything seems cool.

From: @robbt

I’m ok with the proposal that @paddatrapper has put together.

As far as community governance goes, what I learned at Libreplanet was that you kind of have to boot the process by building something. Python built a governance model to deal with Guido stepping away as project lead. This project has always been made from the contributions of many and I think that the maintainers are a good stand-in for a governing council at this point. I don’t know that we should necessarily bootstrap the C4 into our governing cycle.

I also don’t know about how we would handle the idea that “Contributors can override any decision by the Administrators or Maintainers by means of a General Resolution. This involves creating a bug report against the CoC repo with the proposal. This proposal then goes through a period of review and discussion before being voted on by the Contributors.”

This would also create a situation where we are equating stake in terms of contributions which makes sense from a code perspective but end-users could also be stakeholders in terms of the larger goals of the project.

I guess my biggest hesitation in terms of creating an open collective is that it will just be a distraction from the goals of the project because there won’t be sufficient funds for it to be worthwhile. I think we should have a pretty good idea that there are people who want to donate on a regular basis and also a list of specific goals we would spent the money on so as to encourage them to contribute.

Another thought on paying contributors is that it makes sense to fund things as an organization that we think are needed but nobody has taken the self initiative to actually do. We could also possibly integrate into something like https://www.bountysource.com/ to allow people to contribute to specific features.

I think this is the biggest issue with the proposal as it stands. Perhaps non-code contributors can be considered stakeholders and contribute to discussions based on a certain tier on the OpenCollective. If we do take that route, then we would need some way of managing discussion access - ensuring the people ‘voting’ are contributors either through code or monetary donations.

Seems like the bigger issue might be having people available/interested in managing… at least how it’s currently being proposed.

Couple more bits of questions and feedback…

The project is lead by a board of Administrators.

Are there enough folks on the Administrators team interested in being on the board?

This board answers to the Contributors. It decides on the group of Maintainers (with the help of the existing maintainers) and administers the Open Collective.

So we’re looking for members of the Maintainers team to manage the collective?

The maintainers are appointed by the board and are responsible for reviewing and merging patches as described in C4

How is this different from the current process? Who is doing this now?

Contributors can override any decision by the Administrators or Maintainers by means of a General Resolution. This involves creating a bug report against the CoC repo with the proposal. This proposal then goes through a period of review and discussion before being voted on by the Contributors.

So we’re talking about decisions about allocating funds?

Any Contributor, Maintainer or Administrator can propose a project related to LibreTime (demo, website, documentation, etc) that will be funded by the LibreTime Open Collective. These proposals are considered by the board and if approved, the Contributor, Maintainer or Administrator can request refunds from the Open Collective by uploading the original hosting provider’s invoice to be approved by the Administrators.

Why not include code contributions such as new features and functionality here? Anyone proposing a project should include an estimated cost.

What about funding for ongoing maintenance or other roles like project management, community, marketing or fundraising? Here are a few examples of projects with a variety of expenses.

Developer Reimbursements

Why not just call this section “Reimbursements”?

I’m not sure. Hopefully they can speak up here…

No. I think I am conflating two things in this proposal and should remove all code-related things from it. This section is referring to Maintainers in the code perspective, not managing the open collective.

This is the current process

Yes. This is to help ensure that the community is the entity in charge of the money and prevents it being a authoritarian dictatorship with the management of finances.

Sure, code projects are included and I can add them to the list there, though it is not exhaustive. An estimated cost would definitely be required and additional costs would need to go through additional review and approval.

All projects worth proposing

I agree, yes, this should be just Reimbursements

I think framing this as a ‘LibreTime’ spending proposal and leadership structure would help clarify.

Open Collective is more of a tool. One of several ways we can sustain the project.

I came across this thread in Open Collective’s Slack where they’re discussing options and resources they could provide to projects on Open Collective.

Here are some examples of models of governance for this kind of shared financial resourcing I have seen, to get our thinking gears turning, and examples of other Collectives using those modes (this is not exhaustive! There are certainly other modes besides these):

  • Devolved: anyone in the EHF Community can decide to become an admin of our Collective, and anyone can submit payout requests to be approved by any admin. We simply trust all the individuals to make good decisions without any overall coordination. Example: Scuttlebutt Consortium
  • Consensus: use a tool like Loomio to have a decision about every use of funds which a large number of people participate in. Example: Social.coop
  • Council: A committee or working group holds responsibility for use of the funds, and there’s a process by which people enter or leave it. These people can be elected, appointed, or be people who have given over $x. Example: Bushwick Ayuda Mutua
  • Contractual: There’s an explicit agreement in place between the Funder(s) and the Collective about exactly how the funds will be used and who decides what. This is often the case with specific grants or sponsorships. Example: Digital Infrastructure
  • Delegated: one or a few people are responsible for making calls about things like what’s allowed for fundraising and for expense payouts. The wider community can give them feedback but there’s no expectation of wide consultation on most decisions, except maybe on really big changes. (This is by far the most common on Open Collective because while participation sounds nice, actually it’s a lot of work and most people are very happy and grateful to trust a few peers to handle it all, but others might feel left out or a lack of accountability). Example: Babel
  • Individual: The whole thing is managed by one person and all the funders/donors know they’re turning their money over to be controlled by that person, and no one really has the power to remove that person because it’s really their project and their thing and about that person. Example: Sindre Sorhus

Also in the discussion was mention of Community Rule who has offered to do governance consultations with groups.

@paddatrapper Might be another good reason to revisit Open Collective’s Slack and join in some of these discussions.

Be sure to check out https://communityrule.info/

It’s a pretty amazing resource with a bunch of guides, templates, and examples from other projects.

Since a few months (so to say, years) I was planning to get my hands into the code to adapt it to the requirements of an FM radio I work for… we had to delay everything due to the pandemic, but the time has come and next week I will start coding so I think it would be a nice opportunity to be part of this initiative

1 Like

Really great to hear @xabispacebiker - are you thinking about helping with this spending proposal or contributing to LibreTime more… or both?

Proposal v2

Terms

  • Contributor - a member of the Contributors team of the Github LibreTime organisation
  • Maintainer - a member of the Maintainers team of the Github LibreTime organisation
  • Administrator - a member of the Administrator team of the Github LibreTime organisation

Leadership structure

The project is lead by a board of Administrators. This board answers to the Contributors. It decides on the group of Maintainers (with the help of the existing maintainers) and administers the Open Collective. This means that members of the board have administrator accounts on the LibreTime Open Collective.

The maintainers are appointed by the board and are responsible for reviewing and merging patches as described in C4 . They identify and recommend members of the community who should be made Contributors to the board. The board then considers the recommendation before making the final decision.

Projects

Any Contributor, Maintainer or Administrator can propose a project related to LibreTime (demo, website, documentation, feature implementation, etc) that will be funded by the LibreTime Open Collective. All proposals must include an estimated cost. Any additional costs will need additional approval. These proposals are considered by the board and if approved, the Contributor, Maintainer or Administrator can request refunds from the Open Collective by uploading the associated invoices to be approved by the Administrators.

Reimbursements

Any Contributor, Maintainer or Administrator can request reimbursement for costs incurred relating to LibreTime (travel, conference entrance, etc). These requests must occur before the event. The board then considers the request and either approves or denies it. After the event, the Contributor, Maintainer or Administrator must submit an invoice to the Open Collective to be approved by the Administrators.

Changes:

  • Removed Developer from the Reimbursement section title
  • Removed the general vote procedure section. This can be discussed later
  • Added development costs to the projects examples
  • Renamed Hosting Costs to Projects

v2 of the proposal follows the ‘Delegated’ model descibed here. With a self-appointed board management style from https://communityrule.info/

@gusaus , I plan helping on both, if possible

Great to hear! I’m not sure what help @paddatrapper needs with the spending proposal aside from community feedback in this discussion and #sustain (https://chat.libretime.org/).

Are there specific ways you’d like to contribute more to the project? Would be nice if there was an easier/more obvious process for onboarding folks when they more time to contribute.

@gusaus, My idea is to collaborate in various ways, but especially fixing bugs and programming new functionalities. I am about to start the development of certain missing functions necessary for a project in a free radio station that I have to give priority to, at this stage, I may not consult the community much, since that would delay implantation and I need agility to finish it, but it will give me the opportunity to dig deep into the code, therefore I will be able to solve many of the bugs and/or new features in Libretime.

1 Like

@paddatrapper Think we agreed this would be a good idea during the meetup? If yes, maybe we should change the title of this post to “LibreTime governance and spending proposal”…or something like that.

I can’t edit it, seems it was created too long ago

Probably a permissions issue? Possibly one of the moderators could change or make you a moderator :grinning:

About - LibreTime cc / @robbt @hairmare