As an open source project no one is forcing you to maintain it. Every fix you put in is something that you do of your own volition. No company can force you to accept a PR or work on it. I think FOSS developers often get stressed about this but unless you personally have financial motivations around what you’ve written you can tell people to fuck off. Yeah they can complain, but you have zero obligation to fix.
The sponsorship seems to introduce a business model around what is FOSS, then it’s not FOSS anymore. The entire purpose of FOSS is anybody can copy and repurpose what you’ve built. They can fork it, take it in a different direction and create a business off of it. Depending on the license you’ve explicitly agreed to that.
This sentiment is going to be unpopular but I think the outrage is unwarranted.
It looks a bit similar to the RedHat model: they release open-source software (Linux kernel is GPL2), but you may want to buy their binary releases and support.
Not so rarely companies would not mind paying a small amount to help support the OSS projects they depend on. This may give CTOs an easy way to expense such support, even though becoming a GitHub sponsor is more involved than many would like; I hope Wix will introduce even easier options (Open Collective, its own non-profit, etc).
I feel like there should be an exception carved out to this policy, if the submitter of an issue is offering to create (or, as a corporation, dedicate their own engineers' time to creating) a PR to resolve the problem the issue describes.
As a maintainer of a few OSS projects myself, I see my fair share of "choosing beggars" (i.e. people who don't mentally model others' motivations, and so use github issues to essentially say "I got this for free, but it's not perfect for me, so can you please improve it in ways X/Y/Z to better suit my needs?" — without any consideration of whether their suggested improvement would ever benefit anyone else.)
But if an issue's submitter offers to create a PR, then this makes it very clear that they're not operating in this mindset; and in fact, they're being quite considerate! By describing a real problem, and then offering to create a solution to that problem, they:
1. make sure that we actually want to solve this problem (i.e. that we don't think of their problem as a WONTFIX / something that doesn't belong upstream)
2. give us the opportunity to take over solving the problem ourselves, if we think it's some kind of highly-critical and finicky work
3. give us the opportunity to participate in / constrain / steer the design of a solution, before it gets developed (rather than just having code dropped in our laps and having to fight it into an entirely different shape)
And it often doesn't even matter if the developer in question really has the skill and experience to develop the proposed solution entirely on their own. To me, a dev who creates a half-baked PR that we can then help shepherd over the line over the course of weeks/months of back-and-forth with them in the PR thread, is someone clearly in the process of developing that skill and experience, and potentially becoming an active contributor to the project — or maybe even a future maintainer. This sort of willingness to engage in a non-drive-by way is incredibly valuable.
OTOH, as a maintainer, if a company finds a bug that would impact a lot of users, I would want them to report it, regardless of their payment status.
But saying something like "Issues from paying customers/donors have higher priority" is kind of vague, and doesn't provide any concrete value to the payer. So I'm not really sure what a good balance would be.
If a company reports a bug in a clear and helpful way, it's probably going to get looked at anyway.
Also, if a company cares enough about Wix to bother finding and documenting a bug, they should be willing to pay $60 for the software.
So this is only a problem in the case where a company finds a bug, decides to report it, refuses to pay a minimal fee, and the maintainers are strict enough with themselves to ignore it because of the source. That feels unlikely to me.
Many arguments here are extremes with the assumption that everything is a hard lines that cannot be crossed. That's not generally how the real world works (there are some hard lines in the world) and the parties involved can communicate and do communicate.
Overall, the OSMF is working very well right now. There are still a couple of wrinkles to iron out (like invoicing). It's also early. :)
As you say, I don't think anyone's going to demand money to look into an (easily-replicated) bug.
A bug is, by definition, a blemish in your code quality with real-world implications; something that, even if affects no one, still feels slightly embarrassing/pride-stinging to have hanging around in your codebase. (And if the bug does affect even just one person, then it can also feel like your software is like a child or pet of yours who has accidentally done something bad to that person out of ignorance. You feel the need to re-educate your software to do better.)
In either case, you'll likely accept anything that's truly a bug into your issue tracker (rather than closing it as a WONTFIX) regardless of who submitted it, or how it got there. You might keep deprioritizing it once it's in there, but you won't close it.
But a feature request — no matter how obvious it is, or how many people want it — is different. The maintainers of a piece of code decide the direction the code evolves in; and if they never want to support some feature, that's their perogative.
Maybe you just hate the feature! Maybe it'd force the code into a less-elegant architecture! Maybe the code exists entirely to scratch your own itch, and you're not going to implement anything that isn't part of your own workflow! Doesn't really matter in the end.
It's these cases, I think, where putting money on the table would obviously sway that kind of decision. "Of all the directions you could freely choose to evolve the code... how about a little incentive to choose this one?"
I wholly agree with the sentiment of your comment and we're still learning.
Note: At this time, my project (WiX Toolset) does not require the OSMF for PRs. If there is a README that says we do, then I probably need to fix it.
PSA: Do NOT use the issue tracker to report a CVE. That makes everyone's life difficult. Go through the correct channel.
meanwhile I've been trying to find a way to give Hashicorp some money for over a decade of depending on their tools, but their products simply are too good to need the enterprise versions!
At some point we need something like a "certified B corporation" for "certified ethical fair-trade Free Software using corporation" where an independant body audits and makes sure you're donating to a sufficient % of the open source projects used in your production SaaS
Also, wasn't there an uproar when Terraform turned slightly less free? https://news.ycombinator.com/item?id=37081306
They need some way for folks like me to get our companies to pay like $5k a year ARR for something that makes it more useful without going the full enterprise route.
Yes, very good recognition. The Open Source Maintenance Fee follows several of the paths RedHat paved long ago.
> This may give CTOs an easy way to expense such support
I'm finding it actually gives the CTOs (or someone a bit lower in the chain) the _requirement_ to pay like they always wanted to before. Said another way, in the past, many devs/leads/managers would say, "Oh, I'd like to sponsor this project but I can't get through procurement." With the OSMF, now they have the forcing function to help them through. This is not hypothetical, I've had companies tell me exactly this.
> becoming a GitHub sponsor is more involved than many would like;
GitHub Sponsors is great... except for a few very real cases where it is not. This is on my radar to improve over time.
Basically, the fork now controls the narrative over your own work.
If you are completely immune to public opinion, it might work. But the more you invested in the project, the more famous it is, the harder it gets.
Open source started in an altruistic environment and has become slavery. Perhaps someone who was active in the 1990s will point out that it was a narrative even back then, at least it didn't feel like it.
How is it bad ? How does it force you to do anything ? It doesn't even interfere with your thing, which will keep scratching the itch your built it to scratch.
That is the whole beauty of free software: no one has any leverage on your project - any cooperation is voluntary !
I've heard so much "you should do this", "you should conform to this standard", "why don't you help me make this thing the way I want it ?", "your thing keeps me from making money with it" etc. Well buddy, I'm grateful for your opinion, and now I'll go do the thing with the people with whom I found shared goals.
One of the things that I have been encountering, more and more, is the "GIGO" principle (Garbage In, Garbage Out).
Some of the code that I get from coding agents and chat LLMs, is laughably bad. It works, but only because the example has five different approaches to solving the issue, and only two of them work, etc.
I just spent the last two days, working around junk that I got, for implementing WebAuthn. I have it working now, and am grateful for the example, but I'd never ship the code I was given as an example.
Others who want you to scratch their personal itch ? Offer professional services or maybe ignore them if you have anything better to do !
You may like your itch scratching device as it is - that it has a pile of CVE to its name doesn't bother you while you sip your tea, scratch your back and listen to the wind in the leaves...
Absolutely true. For maintainers willing to abandon their project because they tire of maintaining it, this is a totally viable alternative. Just ignore everything you don't want to do.
However, the maintainers I know care deeply about their project and making it useful. However, when their project becomes successful, the scales tip, and maintenance becomes a real burden. They could just walk away or ignore things that are failing. Or they could set up a Maintenance Fee and those making money using the project's binary outputs can help offset that burden.
It's one more tool in the Open Source Sustainability toolkit.
> The sponsorship seems to introduce a business model around what is FOSS, then it’s not FOSS anymore.
That's not true. I worked very hard with our lawyers to make everything copasetic with OSS and FOSS.
> I think the outrage is unwarranted.
I've seen no outrage. Actually, I've seen quite a bit of support for the idea, I've heard a number of good clarifying questions, I've a few complain that this is bad for OSS or something. It's been surprisingly great actually. :)
The OSMF's goal is to keep the software FOSS and the maintainers involved.
Once you say „I am not fixing it” there will be lots of people who will stop participating in community and project might die.
Sure but thats not the spirit that built the modern software world. Our globabl information infrastructure heavily heavily relies on OSS and that has open source devs assuming some responsibilities. If not from others then just their own sense of self respect and engineering pride.
The only issue was that companies were exploiting that and demanding the exact labour that benefits them. Which is bullshit. And this might solve that
True, but if you want people to use your software you can't ignore the issues they raised, especially if they are valid and not some niche use cases, otherwise the project may come off as poorly maintained.
> FOSS developers often get stressed about this
> you have zero obligation to fix
I agree with you but would like to carve out an exception to the rule: folks who condescendingly reply with "PRs welcome" to people instead of just saying "no, I won't be working on this because [reason]".
Should someone who was told that actually show up later with the code in hand, I'd say they are very much owed respect and serious consideration at the very least. I'll fall just short of saying their code should be merged in by default. This is a completely avoidable moral responsibility, one that maintainers often inadvertently bring upon themselves by daring others to do their work for them.
No major F/OSS license (MIT, (A)GPL, Apache) talks about money. You can sell the software, sell the support, and sell the source code (GPL requires bundling code with the software, not putting it everywhere).
When it comes to Free and Open Source Software, everybody talks about sustainability rightfully, and many people say "sell support, or priority support".
I think this is the right way and balance. Code is there, free. If you earn money from this, help us. If you use it personally, please enjoy.
RedHat does in a more heavy handed way, says "Pay to play", which works for them (because of the missing parts are filled with Rocky and Alma). Proxmox and Nextcloud does this, and says, "Pay if you need help from us".
IIRC, libpcsc requires a fee for "testing card readers for compliance". Library is GPLv3, on the other hand.
Many Free Software libraries get sponsorships to be able to survive. Even curl has a "bulletproof" version for enterprises which you can't download without paying.
"Free Software" doesn't mean "no charge", "open source" software doesn't mean you can take it, run with it, and drag the developers behind you as you please.
As a Free Software fan and advocate, I think Wix's balance is perfect. If you earn money, please help us. That's perfectly fine, and makes sense in their case.
Kudos for hitting the right balance. They got a "+1" from me.
What is the curl bulletproof version? I only see the free open-source license version: https://curl.se/docs/copyright.html
It's a different, official curl version with commercial support from curl team themselves.
In other words, they're operating like a normal business.
And famously WinRar which will nag you to upgrade every time you open it but doesn't actually force you to buy it, but expect enterprises will if they don't want to risk lawsuits.
Obviously this needs to be worked up a bit so not to maintain N forks but it can work.
* This can make it harder to recruit further contributors as there is a two-clays system of contributors. Paid and unpaid. "Why should I fix a bug for free, while others earn the money?" * Accepting money make sit a business transaction, if I accept somebody's money they have demands towards me. Then I got to work on it.
But of course the volunteer free model has sustainability issues ...
We'll see. I haven't seen any reduction in contributions (not that the project gets lots of contributions because we're the same as every other Open Source project, most consumers just consume). Also, note that the fee is just for maintenance. I've seen near 0% contribution rate for all Open Source projects to "maintenance chores". Those just don't fall into the "scratch your own itch" class of problems.
> Accepting money make sit a business transaction, if I accept somebody's money they have demands towards me. Then I got to work on it.
True, but I've been committed to my project for over 25 years and I want to continue to improve the project. The fee has really helped keep that motivation up (aka: sustainable). The reaction has been mostly positive which is also a plus. :)
> But of course the volunteer free model has sustainability issues ...
Agreed. I think the OSMF is a good way to tackle exactly that issue.
1) a bunch of people who contributed one or two PRs, but it took the maintainers more time to review/merge the PR than the dev time contributed
2) a much smaller set of people who come back and do more and more PRs, eventually contributing more time than it takes to review their work
A major existing reason to review PRs from class 1 "once or twice" contributors (perhaps the main reason?) is that all class 2 "maintainer-level" contributors start as class 1.
I agree there's an awkward middle ground here, now you have to define where the boundary is between class 1 and class 2, but I think if you were able to graph contribution level you'd find there's already something of a bimodal distribution naturally in many projects anyway.
FOSS is destroyed the moment that is introduced to the mix. Its like political sells - begin pushing a small degree, they wont notice the temperature as it rises over time until its closed source and corporate.
This is how you kill off FOSS, or your project. "corporate creep" I call it.
The software is still open and free.
But in your scenario you're just super angry you didn't figure out to make money off your work.
I'm gonna go out on a limb and suggest that you never, ever contribute to FOSS and instead just buckle down and focus on selling your blobs.
Note: I'm not saying you're an entitled consumer, but I interviewed many maintainers of successful Open Source projects. The number one issue for all of them was entitled consumers.
but what I see causing far more problems in the OSS community is greedy patreon gatewallers who poach all they can from the devs, then put it behind a patreon wall and charge money for it. Them and corporate swooping in are a bigger problem than whining on a github issues board.
And, yes, you are very correct that finding balance is very challenging. However, I feel that the OSMF suits the bill quite well, at least for projects of a shape and size that I'm familiar with.
What they should have done is saying "If you aren't a sponsor we do not care about your issues." Right now clicking the download button is a violation of their EULA, which is probably something you want to avoid when trying to get companies to give you money.
The EULA is actually a very standard software license that basically says if you use the software and you make revenue, you need to pay the fee.
And you can say that will never happen. But the only way it will _definitely_ never happen is if we don't try... and choose to keep burning out Open Source maintainers.
If you want commercial users to pay then pick a license that makes it so, it can still be source available and free (as in freedom and/or cost) to non-commercial users.
> The maintainers are now free to respond to complaints with "you need to pay us for us to care."
If you are a maintainer of an open source project you don't have to care about complaint and you can absolutely say that you need to charge for your work in reply to requests. In fact that has always happened.
- Nobody wants this to be closed source. The code is freely available, and you may do with it as you want. The marginal cost to distribute the code is 0, after all.
- The maintainers, as people, don't want to do charity work for companies. Their time is limited, and if they're going to support revenue-generating activities, they want a cut of the revenue.
So even if this doesn't get perfectly enforced (and it won't), that's fine! The maintainers are now free to respond to complaints with "you need to pay us for us to care." Companies that pay get some level of support; hobbyists get the same experience. Only the companies that ignore this warning will see the consequences, and it's particularly effective for reports where the author leans on "but there are a huge number of important users [to me] that are affected." Pay up if it matters!
It strikes me as a pretty clean solution to a pretty common strain of open-source headache, _especially_ as AI-generated code/reports/etc. are on the rise.