It happens all the time, a maintainer quits/abandons some opensource project due to economic realities. There are comics, jokes, threads, and so on about what the realities of maintaining opensource software are and that most people are not willing to donate or contribute in any way besides opening issues.
There is a lot of resistance to stuff like the business source license, but people do have to earn a living somehow. Doing so with opensource would be amazing. In lieu of the contested licence, could a template similar to Reminna’s actually work? Basically “pay to get this fixed/implemented, make a PR, or it’s low priority/ ‘I will get to it when I get to it’”.
Relevant part of template
### Contributions
In return, or to fix this issue, I'd be willing to:
- [ ] Fix this myself.
- [ ] [Donate](https://remmina.org/donations/) ___ and/or have donated ___ towards fixing it.
- [ ] Take a donation of ___ to fix it.
- [ ] Update the [documentation](https://remmina.gitlab.io/remminadoc.gitlab.io/md__c_o_n_t_r_i_b_u_t_i_n_g.html).
- [ ] Update the [wiki](https://gitlab.com/Remmina/Remmina/-/wikis/home).
- [ ] Translate Remmina in my native language(s) (___) on [Hosted Weblate](https://hosted.weblate.org/projects/remmina/remmina/).
My favorite way to monetize open source projects that ive seen is to charge for direct download and allow people to build from source
It’s sometimes called a feature bounty.
The only issue is it incentivises focusing on new features, leaving old stuff unmaintained. If you’re asking for money to fix bugs, that incentivises writing code with bugs, as if you write perfect code first time nobody will pay you to fix it.
I think “feature bounty” is a misnomer as it’s not limited to features.
Since it’s opensource, I don’t think it incentivises writing bugs as anybody else could theoretically fork the project and fix your bugs to get the people sick of your bugs onto their fork. And if your project is known for having bugs, it would reduce the number of users willing to use it.
If you’re asking for money to fix bugs, that incentivises writing code with bugs, as if you write perfect code first time nobody will pay you to fix it
There’s certainly potential for that to be a problem. But it’s not necessarily insurmountable. For starters, I think the idea is you’re not paying to have your thing fixed, you’re paying to have your thing prioritised. The same amount of work is getting done either way, but bugs reported by people who paid will be prioritised over bugs reported by people who don’t pay. If there are no bugs reported by paid users, then unpaid bugs will still be worked on.
I worry that approach would increase feelings of entitlement from people who don’t understand the process and effort involved with development.
It systemizes the notion of “I paid you to do X, where is it?”, a perspective which some annoying people already have even without giving anyone money.
Additionally, how do you determine how much payment a feature is worth?
What if the community is split about the direction of a project, and there happens to be two “pay for high priority” demands that conflict with each other? Who gets their feature that they paid for?
I also think that the people actually working on a project should be the ones setting the direction and priorities for it, not whoever has a big enough purse. We don’t need to replicate corporate models that deny developer autonomy.
The final decision stays with the maintainer. Always. Higher priority doesn’t mean certainty of implementation. The dev/maintainer can always do the things they like. It’s their project and if somebody doesn’t like it, they can fork off.
Additionally, how do you determine how much payment a feature is worth?
That’s up to the dev. They can say “my hours are worth this much, I estimate it’ll take X hours”. It will also give people an idea of just how much they are getting for free (the ones who don’t pay). The dev can also have a simple scale of small, medium, large, enormous and assign a value to each.
It systemizes the notion of “I paid you to do X, where is it?”
That really depends on how payment is organised and what the terms / conditions are. It could be paid after the fact, it could be paid in increments, it could be held in escrow by a third party, and so on.
I develop the bot for [email protected] as a foss project. I get multiple people per week pointing out bugs (most people are nice about it and its genuinely helpful to know what’s going wrong) but some people are absolute dicks about it. I simply tell people I’d be greatful if they made a pull but otherwise I’ll get to it when I feel like it.
You should add a disclaimer that bug priority will be assigned based on to the politeness of the reporter.
Do you think “pay or low prio” could help with that? Or do the dicks shut up when you tell em like it is?
When I tell em exactly why the bug exists and that they are welcome to make a pull all I get are crickets. I’m sure I would be more incentiveised to fix it if I was being paid tho.
The moment that money can be used to cut the line, we’ll see the same effect as we do in every other part of society. Those with money to burn will spend and shape whatever projects interest them. Or, more importantly, startups with funding could use the bounty system to submit priority features and send competing open-source software down rabbit holes. It would be a very poor idea.
Why do you assume the developer / maintainer won’t have any agency anymore?
This seems too black and white a prognosis. I think it’s not a popular method of funding development because the sponsorship/patronage method seems like it already does a better job of providing stability without making a transactional relationship.
I feel like pushing a culture of paying when you can to support devs of your favorite projects is simpler and more effective in the longterm.
Has that been working so far? Do you think most opensource projects are funded adequately?
P.S you forgot a word. “When you can … to support devs”
Only if it’s for Client specific Extensions not the core project. Basically freelance work. Paid bug fixes and feature requests to core are a big no-go.
Why? Isn’t the core the most important part? And why is free work (core) better than freelance work? I’m not sure I get where you’re coming from.
Then corporations will decide even more where open source projects are going. If you pay me you decide where the project is going, not me.
However, if core development is unrelated to my income, I have full control over it’s fate and don’t need to implement what’s in the interest of some shitty corporation.
Why do you assume the developer has to implement what could be paid for? (Payments need not happen beforehand as they could be held in escrow, paid after the fact, or in instalments e.g after milestones) Why is the assumption that devs will give up agency? And why the assumption that all paid requests will be by corporations?