I feel like this is a very modern problem with the community. I've been in open source for a long time, I've been employed by some of these companies to write open source things.
Most open source stuff was created by someone who was employed to write that open source thing. There are exceptions, of course, but most things came about because of a need, and that need is often related to work. Companies used to be a lot better with allowing open sourcing of components.
Then, there are all the community contributions that come from commercial reasons. If someone working at a company fixes a bug they encounter, that's someone being paid to write open source software.
I do not understand the reaction people are having to this now. The open source ecosystem was built on this.
My fundamental position is that paying people to work on open source is good, full stop, no exceptions. We need to stop criticizing maintainers getting paid, and start celebrating. Yes, all of the mechanisms are flawed in some way, but that’s because the world is flawed, and it’s not the fault of the people taking money. Yelling at maintainers who’ve found a way to make a living is wrong.
Fully agreed. Puritans of any kind are annoying and can't think for themselves. Opensource can't exist in this world without somebody that has money and time to write it. If we want more opensource, we need to pay those writing it to spend more time doing so.
If you really think you can live outside of capitalism in a capitalist world, go off the grid. Posting on the internet is already proof that you're failing your own ideals.
Donations is a good way to handle paying maintainers, but unfortunately most people don't even know what open source software is or what software they depend on greatly that would deserve donations.
The problem is a bit deeper than this, because even if a user is familiar with open source software and is willing to support application projects that they like, they aren't going to know what other open source modules or libraries are being used in those projects and probably wouldn't think to check or to support those developers. The user front-end is visible, but the stack of dependencies often isn't and these days no software is a monolith. How many end users would think about donating to Qt directly, or alsa, or libusb?
This is one of the major universal gaps in FOSS. I have a yearly reminder set to donate, and a list of projects within it — I do it this way because a) every project I've encountered only offer MONTHLY recurring, which is stupid as fuck because b) no I'm not fucking donating the $5 a month minimum to dozens of projects and c) larger donations usually have lower fees (e.g. donating $60 usually has lower fees than 12 x $5); why the fuck would I give the banks 30% more of my donation than necessary?
Users shouldn't have to manually deal with this shit, and valuable projects shouldn't have to beg for pennies. There should be a FOSS payment management project that enables users to create an account, add ALL of the FOSS projects they use (or want to donate to), set a monthly / yearly contribution, and be done with it. Users can choose to allocate percentages or let the software divide the money between all of them evenly, including all of their FOSS dependencies.
IMHO the reality is more complicated than what's described here.
Open source is sustainable (in the sense that people will continue to do it), even without the maintainers getting paid, for better or worse. This is evidenced by the history and the majority of open source projects now.
The bait-and-switch problem, which gets the maintainers paid, hurts the ecosystem in the long run, which relies heavily on the good faith.
Many open source projects are not developed by unpaid volunteers. The Linux kernel, for example, is primarily developed by professionals on paid time. I'm not convinced the Linux kernel development would continue without business contribution. I'm not convinced all open source projects could just continue without any payment.
I think if you look at your average "package" from GitHub, that is published to npm, nuget, or the associated language rep, by and large they're not making any money.
Sure big projects are making money and have paid development teams, but that's not true at the individual library level in many cases.
At my work, I can be probably safely assume there is no such budget and in fact open source projects are actively used to create our own branded products (that may or may not be exclusively used internally).
You probably only need a few guesses at where I work.