We all love FOSS. Lately, many of us have expressed their disarray at hearing stories of maintainers quitting due to a variety of factors. One of these is financial.
While donating to your favorite app developer is something many of you already do, the process can be tedious. We’re running all sorts of software on our machines, and keeping an exhaustive list to divide donations to projects is somehow more effort than tinkering with arch btw™.
Furthermore, this tends to ignore library projects. Library maintainers have been all over FOSS-centered media rightly pointing out that their work is largely unnoticed and, you guessed it, undervalued.
What can we do about it? Under a recent Lemmy post, some have expressed support for the following idea:
Create a union of open source maintainers to collect donations and fairly redistribute them to members.
How would this work?
Client-side:
- You take some time to list the software you use and want to donate to
- You donate whatever amount you want for the whole
Server-side:
- Devs register their projects to the union while listing their dependencies
- A repartition table is defined by the relevant stakeholders. Models discussed below.
- When a user donates, the money is split according to the repartition table
How do we split the money? It could be:
- Money is split by project. A portion of donations go to maintainers of libraries used by the project.
- Money is split according to need. Some developers don’t need donations because they are on company payroll. Some projects are already well-funded. Some devs are struggling while maintaining widely used libraries (looking at you core-js). Devs log their working time and get paid per hour in proportion of all donations.
- Any other scheme, as long as it is democratically decided by registered maintainers.
Think of it like a worldwide FOSS worker co-op. You “buy” software from the co-op and it decided what to do with the money.
We “only” need to get maintainers to know about the initiative, get on board and find a way to split the money fairly. I’m sure it will be easy to agree on a split, since any split of existing money will be more satisfactory than splitting non-existent money.
What are your thoughts on this? Would you as a maintainer register? Would you donate as a user? Would you join a collective effort to build this project? Let’s discuss this proposition together and find a way to solve that problem so that FOSS can keep thriving!
I’m sure it will be easy to agree on a split
I’m gonna stop you right there. I’m assuming you’ve never dealt with humans in committee, because dividing anything, especially money, is never easy.
I did, and I was intentionally hopeful when I wrote that. I stand by the latter part of the argument though. I’ve seen enough situations where splitting money was not a problem as long as a common interest was there and the decision process was flear and fair
“We choose to go to the moon, not because it is easy but because it is hard”
The previous social model of monetizing everything is also not working and terribly complicated and sends the majority of the profit to those who contributed nothing but their claims to ownership and entitlement. I’d rather live a world where we were constantly debating and discussing while sending the majority of wealth to those people who actually created something.
Human cooperation will never be easy so we have to learn to live with that reality.
I love this take! Its so simple yet so far reaching and well thought out. We need takes like this in our governments.
Hehe, yeah, I was thinking „this surely is sarcasm, right?“ when I was reading that 😹
So now that you’ve stopped OP, what’s your solution?
I’m sure it will be easy to agree on a split, since any split of existing money will be more satisfactory than splitting non-existent money.
Isn’t “how do we fairly distribute wealth” one of the hardest problems we’re still trying to solve as a global society?
A fund that gets distributed to open source volunteers (or contributors?) sounds good on paper (and I think it’s something we should strive for), but whoever is unlucky enough to actually try to formalise it is going to have to deal with a lot of shit and drama.
Oh yes there will be drama. But I would gladly help sort it out if there was enough interest and I think I wouldn’t be alone in that endeavour.
It’s always better to distribute poorly than not distribute at all
It’s always better to distribute poorly than not distribute at all
I’m not even sure you can get people to agree on that either, to be honest…
TLDR: We should make a browser extension where you assign points in what percentage projects get your predefined monthly donations.
So this will be a long text…
I have thought about this problem a lot. If we can have means to build necessary momentum I am all for that and would like to contribute.
I thought about it in a broader way. As to how to monetize content on the internet without ads (open source projects, creators, journalists), in a way we maximize collective good. It may be worth noting I was thinking it in terms of the new internet - Web 4.0 together with tools like ipfs, veilid, and new wave of web browsers (web 1.0 - protocols, 2.0 - platforms, 3.0 - crypto scams, 4.0 - something better, p2p, private…)
I placed highest focus on how to fairly monetize this web 4.0, since I believe the right monetization is the crucial point. If we put only donate our free time (max 2h a day) to projects things move slowly. But imagine what can be done if I am allowed to work 8 hours a day on eg. foss.
I have concluded that few things must have hold true:
- Donator decides on who gets the money.
- It must be very very very very simple to donate and to decide who gets the money.
I can propose one solution i am the most confident with. It would be a browser extension (or even better to be integrated in browsers by default).
-
First you set how much you would like to donate. (I played in my mind also with option to make some minimal donation - eg 1% of minimal salary in your country - may even be necessary as a subscription to internet content)
-
By default the sites (maybe preapproved sites good for community) get percentage of your donation proportional to your views.
-
You can explicitly set some (or all) sites to have higher percentage directly in from address bar by single click. Eg. I visit Linux webpage and I can click a button and set it to 20% of my donations. All the other donations then move proportionally to remaining 80%.
System based on (maybe even forced) donations changes whole behavior of monetization.
You start paying for what you believe in, and not for what you need.
And I believe this is the one of most important goals we can have. So people will have the highest incentive to work on stuff that makes the most good.
Also another note on forced donations: In Slovenia you can decide to put 1% of our taxes to non profit organizations. And this works.
If you read through that. Thank you! I believe my ideas have many flaws. So please comment and we can debate them.
This is reminiscent of Flattr. As are other suggestions here.
The basic principle of Flattr still seems right to me. You pay a monthly sum for all your donations to a third party in escrow. Then the third party redistributes the money according to your instructions, either by means of a tipjar buttons on websites, or a browser add-on, or perhaps just a giant list of checkboxes and sliders.
The major advantage being that the third party deals with the plumbing of payments.
Never heard of them. Should we contact them?
I would be interested in this as a user and as a dev for OSS projects. I currently donate to a few projects via OpenCollective, Github sponsors, etc. A few options:
- Users vote on how the money is spent, perhaps in proportion to how much they have donated over time. I think this is the simplest model that prevents self-dealing and accurately transmits user interest. You could use a quadratic funding model to better represent user interest instead of just giving the most vote weight to the users with the most money. On the other hand, assigning vote weight based on donations over time incentivizes users to donate more and keep donating (stopping a recurring donation could result in loss of vote weight and help redistribute vote weight as users become less active). You could also do a hybrid model: 50% is assigned according to vote weight based on total donations, 50% is assigned based on quadratic funding.
- Developers vote on how the money is spent. I don’t know how to allocate vote weight here. Devs should also submit a list of downstream libraries which would receive donations. (or is it upstream?).
- User and developers both vote on how it is spent. Vote weight could be distributed however, for example, 50% to users 50% to devs.
This kind of a system would be very possible to implement as a DAO, there are templates out there for making an organization like this. You could use BTC or ETH, both support DAOs. The benefit there is that since no single entity holds the money, no single entity has to file taxes and claim that money as income. It also automates the voting process and solves the issue of users having to trust a single person or organization to hold and distribute the funds. Making a DAO on Bitcoin lightning could reduce tx fees to less than a penny per donation.
You could also incorporate it as a non-profit depending on your jurisdiction. Many organizations like the Linux foundation have pursued this route, look at what things they have tried and what has worked. Also just a link to leave here for your research, I’m not suggesting you use this, I’m just saying it’s relevant interesting thinking in this area: https://blog.obyte.org/kivach-cascading-donations-for-github-repositories-2b175bdbff77
Other relevant links/research for you: https://github.com/Resolvr-io and https://nostrocket.org/About
Also research Gitcoin, they have used quadratic funding to fund a number of OSS web3 projects in a similar manner to what you’re proposing. I have participated in a few of their funding rounds as a donor and a recipient. Their interface is a mess but the concept is cool.
The solutions you linked are interesting but ultimately neglect the most important aspect in my opinion: discussion among stakeholders. They also tend to use bitcoin, which has proven it could not gain enough traction to be mainstream yet.
Taking the core principle of Kivach and making it viable in state-backed currency, using the platforms devs have already set up for payment would be a great leap forward. We need to get something going and build support from a critical mass.
Why is Kivach not more widely used? We should tackle these questions and try to improve it.
Everything that involves money needs to be stupidly simple, and even then there will be controversy. I see what you’re going for, and it does address an important issue. I don’t think it’ll work with this level of complexity. Hopefully I’m wrong or we can come up with something else that would.
Stupidly simple doesn’t seem to be able to fix the problem here. We need to find the simplest way that can help. How would you make it simpler?
And you did it! I‘m insanely impressed at the depth and commitment shown in this post. Thank you so much for making this.
I‘m ready to help. What do you need? Have a github repo to join? Hit me up if you like.
You are indeed a good motivator! The reason I did not want to make this post at first is that I need everything: people to brainstorm with, people that can carry the project, people with the skills to create a prototype, people who can convince FOSS projects to get on board, and people willing to encourage others to donate.
Overall too much labor, skills and connection for one person. I believe we would need a team of 10-15 volunteers, some already involved in projects, to put something up
I think you‘re not wrong about the total people required. What I can tell you is that not all people are required in the beginning and more will join as you gain momentum. I‘ve built a couple of successful companies so I do have some experience with this.
I’m trying to lay a plan in my head where some software parts of the project could be made as graduate projects. If I can get key teachers in on it they could really help out. I’ll draft a plan in my head and try to gather people who showed interest here for a meeting once a better-crafted top-level view is set
Think I’ve seen this already with some open source groups. But they aren’t open to other projects and generally take direct management over them.
Only way I would consider this (as an open to all thing) is if it were run by a well known non-profit that already operates in FLOSSland. Like FSF or something like that.
FSF stepping up would be awesome and I’ve thought about it. Sadly it doesn’t seem to be in their priorities
Or, people actually give the software they use some time and realise the work of devs working on the underlying library.
Anybody here ever support the ffmpeg project?
The big stumbling block I see with this approach is that it’s not just the maintainers who do the work, as others also contribute code fixes, documentation and help in the community.
I can see the very real need to support the core maintainers on the projects we use, but I can also see that causing friction if the others who contribute to a project being successful and useful are overlooked. I know that some projects’ communities put bounties on bugs they want dealt with, which helps to a degree, but still leaved many contributors effectively donating their time whilst a core group get paid. For instance, I’ve submitted and had accepted several patches across several projects that I use. They’ve usually been tobadd functionality that I wanted and saw others wanted too. I don’t think I’d want paying for them, but I’d probably feel different if I knew the person accepting the pull request was being paid, either commercially or via a scheme like this. Maybe that will work out in practice, but I’d be worried about the change in dynamic.
I don’t have a good solution to this, but I thought i’d offer it as a different viewpoint.
Thank you for the input. I guess it would be hard to track community engagement. Also, whatever is done with the donation is up to the project maintainers, in any case. Accepting the pull request in your case is also a great deal of work given the amount of spam they can create, so it is still fair in some way. No one will get rich off of donations anyway
it’s basically the non profit software in the public interest that is governed by a board elected by open source contributors. From it’s website:
Donations to SPI that are not marked for a particular project will be distributed to the projects that are currently affiliated with SPI as needed, and/or used for SPI’s own expenses.
Maybe there is a place for non profit where donors elect a board of director that decides how to fund things, giving non programmers a way to influence the development of FOSS (and non programmers could have a lot to offer).
There is also tidelift which does something similar.
Not at all tech savy enough to maintain, but willing to donate. A project like the would be soooo nice
Does this work here: !RemindMe 6 months
I like the idea of just one point to donate to lots of open source projects but I’m not sure if union is the right word for it? I immediately thought of worker’s unions and they dont collect and distribute money for their members, so they? (Or at least it’s not their primary function?)
Many unions collect fees, for operational costs, publications, transportation costs, etc.
Especially they collect funds to support those who have been unjustifiably laid-off, or during strikes to have emergency pay so they can refuse to return due to fin.pressure. Families of disabled or killed at work members…
The thing here is you have for profit corporations producing code as well as executives, and unemployed privateers. Who gets what?
Especially they collect funds to support those who have been unjustifiably laid-off, or during strikes to have emergency pay so they can refuse to return due to fin.pressure. Families of disabled or killed at work members…
Ah, I didn’t think of that, yeah, unions are even more amazing then I thought. So calling it a union would make sense (but I’m still unsure if it’s the right name if it’s primarily about getting money for people’s work?). OP also called it a co-op which I think is more fitting, personally.