Some people volunteer at a food bank or shelter and some people volunteer by writing/maintaining open source code. It's for the common good and volunteerism is a good thing.
You could argue that much open source work is like volunteering to serve food at the local country club. Sure, you're feeding hungry people, but there is something just a little bit wrong about that.
Personally, I'm getting more paid open source work than I have time for, all based on permissive licensing, but I might be something of an outlier.
> You could argue that much open source work is like volunteering to serve food at the local country club.
It's more like volunteering to pave the road in your neighborhood because you want to help your neighbors out, and also to make it easier for your friends to come visit you at your house.
But eventually, some local small businesses realize that they can use the road to get their commercial goods to the market faster. At first, you don't mind because they're not causing much harm. Why not let them use the road?
But eventually some international megacorps hear about the road and start to tell their trucks to use it too. After a while, some of the truck drivers start to loudly complain about the way the road was designed. "This road doesn't let us drive our trucks as fast as we want to. Please fix!"
Next time you're repaving the road, you spend some extra time to make it less curvy and easier for the truck drivers to drive fast, even though you don't own a truck and this doesn't really help your friends or neighbors.
Eventually, even more huge companies start using the road to bring their goods to market. Their complaints get more frequent. "This road isn't designed for our eighteen-wheeler trucks that we'd like to drive through here! Please fix it or we'll start using another road!" And on and on...
Eventually, you realize that you're working for free and this isn't about helping your friends and neighbors anymore. You start to tell friends in other neighborhoods who are considering building their own free public roads not do it (it's just not worth it). You recommend if they want to do it that they at least charge a toll to use the road. That way the road won't be overused by folks who complain and don't give anything back.
After word gets around and some time passes, the world has fewer public roads and the remaining roads require a toll to use.
You could argue that much open source work is like volunteering to serve food at the local country club.
Most of the worlds programming population doesn't live in a US tech center (unfortunately - gib visa plz?). As well as people from developing countries, there are students and hobbyists.
Do not the small developers benefit from open source? Startups that are not making money, even? Personal projects, etc.
The difference between the food bank and this is that food cannot be consumed by everybody, all at once. It's near impossible to make "free" software that cannot be used by companies that are profitable. Who would police "profitability" when there's no money involved? The best you can hope for is to prevent a profitable company from using your code. Chances are, if the code is useful enough, someone else will write something similar without the same restriction.
My take: If you're writing FOSS, you know what you're getting into. If you need the money to do it, you should plan for that.
Does the GPL do enough to protect us from private extraction of the commons? I used to advocate for 0BSD but at this point it seems like we need something like the AGPL or Parity.[0]
I'm one of the contributors to the API Copyleft License. Are you using it for a public project? I'd like to feature that kind of work on https://apicopyleft.com.
My gripe with copyleft was that it used copyright, which I wanted to avoid participating in. Unfortunately, this means that you're making it very easy for others to take your work, obfuscate it, and receive copyright protection for their "derivative".
My goal was to remove copyright from my work, but using permissive licenses seemed to instead mean "I'll give up my copyright protection, but you can take my work and receive copyright protection and sue others".
Meanwhile, let's say a company makes billions using some piece of software that costs 10,000$ to write. You saved that company at most 10,000$, no matter how much money they will ever make. Most likely, you only saved them the license cost of the next best commercial option.
If you don't like the idea that your software could be used by someone who could profit from it without giving you anything, don't publish free software. Publish commercial software. That's the best test to see how much your software is actually worth.
Personally, I'm getting more paid open source work than I have time for, all based on permissive licensing, but I might be something of an outlier.