I work with a non-profit that supports open source software tools, and we are working on developing a concept of a membership-based organization for supporting those tools. The basic idea is that people could donate $x per month towards a central pool and could then vote on how to spend that money with their vote weight being determined by their total amount of donations over time. We’ve had a number of people express interest in participating.
I’m aware of DAOs as a concept, but since most people will want to donate with fiat currency, I think they will create more of a headache than a help for this particular situation.
What we need is a software for tracking our list of active members and how many donations they’ve made over time. What software(s) would you suggest to do this? I know this could be done in Google sheets, LibreOffice, or Airtable or something similar, but I’m hoping there is something more closely tailored to what we’re doing and if possible OSS.
We have several things we need to do. In an ideal world one software or platform would do it all but I’m guessing we’ll have to use multiple tools:
- Maintain a list of all members and how much they have donated over time to get their vote weight.
- Assign vote weight to members based on their total donations over time (or a specific number we put into this tool) and invite them to vote on things with web link that collects their vote and maybe shows them results. It would be really nice if we could have something where we could create multiple things to be voted on, adjust our vote weights on each poll, and then invite all the members to vote in one click.
Question - What is the benefit of becoming a part of such organisation over just donating to the developers/maintainers directly?
- People can pool together larger amounts of money which can make a bigger impact than a single donor can.
- You get to be a part of a cool group of other people who are also passionate about the software you are donating to.
- You actually get a say in how that money is spent, whereas if you donate to developers directly then they decide and you may not like their decisions or have any transparency into them. For example, they may focus on a specific area of the code while ignoring a long-standing bug you’d rather get fixed. If you pay somebody to get the bug fixed and they submit the fix to the project, the project will probably accept the fix even if they had not been enthusiastic enough to code it themselves. Developers may not have the time/resources/ability to accept donations and spend them (this is a big one, the project we are designing this for is unable to accept donations in part due to the red tape of being sponsored by a university). Of course, it would always be good practice to have this membership org coordinate with developers of the software they wish to support.
- You get to be involved in a “steering committee” of sorts for that project, which helps determine the direction of the project
- You could get a nice tax deduction if this membership organization is incorporated as a non-profit, whereas the software project you’re supporting may not be
- You could support multiple aspects of the software (such as development, promotion, documentation, etc) or multiple softwares (or other elements of an ecosystem which software is a part of) instead of just one.
You actually get a say in how that money is spent, whereas if you donate to developers directly then they decide …
You get to be involved in a “steering committee” of sorts for that project,
The project itself always decides, unless you fork the project and do your own thing. You can wave a carrot in front of them (if you do X then you get $Y), but the relevant factor is going to be the size of the carrot $Y, not directly the “collective bargaining” via that platform. How would your platform facilitate finding a stronger negotiation position?
this membership organization is incorporated as a non-profit, whereas the software project you’re supporting may not be
It sounds like you may have discovered the “fiscal sponsor” concept. There are a couple of nonprofits already offering such services, such as the Software Freedom Conservancy or OpenCollective. The foundations like Linux Foundation, Apache Foundation, or Eclipse Foundation also come to mind.
However, for all of these the project decides to join a host. Foundations can’t just annex projects.
The project itself always decides, unless you fork the project and do your own thing. You can wave a carrot in front of them (if you do X then you get $Y), but the relevant factor is going to be the size of the carrot $Y, not directly the “collective bargaining” via that platform. How would your platform facilitate finding a stronger negotiation position?
Sure. It’s less in our case about motivating developers and more about attracting outside development talent (via $$$) to fix bugs and add new features. And also being able to fund things like promotion, documentation, etc. The devs are friendly but just generally at capacity with current maintenance tasks. They accept reasonable PRs but don’t accept donations.
Yes I’ve been looking into OpenCollective, it doesn’t do all the things we need, but it does many of them and very well may find a place in this stack of tools we’ll be relying on. We already have the 501c3 though so we don’t need a fiscal sponsor.
I was going to suggest OpenCollective but I’m not sure if they have any type of voting mechanism. It does provide financial transparency though.
Yeah OpenCollective is really cool. I’m kinda surprised they don’t support some kind of contributor voting. We may end up using them anyways just for the simplifying the finance side
Any decent payment processing service should come with enough tools to get you what you want. There aren’t many that are open source but a quick Google came up with results so they do exist.
They will allow you to track all of your active subscribers/donors and should allow you easy access to that data. Calculating and assigning voting power with that information should be rather easy.