I have so much to say on this topic I could write a novel, e.g about commercial artists versus those who just want their art to be seen versus art commissioned with money obtained elsewhere. But in the most simple terms, at least with me, is I prefer to write and to use software with as few restrictions on/from others as possible. Can't feed my family on that of course and wouldn't try. If public domain were more accepted than MIT, I'd do it, but for now I just slap MIT on it and move on. If you make a million dollars on it, keeping changes hidden or not, good for you. I'm trying to do the same in my day job, the primary code of which is of course closed.
As for the prevalence of restrictionless licenses on non-hobbyist software, you can attribute that to their stewards simply recognizing the value of hobbyists working with it (the company reputation gained, the influence, bug finding, etc). People want fewer restrictions, companies want people.
The gpl was always about end user freedom. The bsd/mit is more about developer freedom. Neither guarantees upstreaming of changes - but many see the gpl as effectively requiring publication of changes. And it does prevent restricting such publication.
But if you develop a point-of-sale system (say) and sell it to a store chain - they might not have any motivation to publish the source - even if it includes a patched mysql, or some gpl code etc (maybe a patched Linux kernel?).
Now, the client has the source, and hire someone else to adapt the system as needed, or publish the source if they want. But the gpl doesn't demand giving anything back to the original authors.
How is bsd different? In that case the pos could be delivered without any source code. The client wouldn't be able to maintain it without help from the original vendor.
They also have no obligation to publish it. You are distributing the software to them, you have to give them the source code along with it. They are using the software, not distributing it further, therefore GPL does not require them to publish the source code.
(I'm not trying to argue with you here, as I think you know this - I just thing your comment does not make this detail clear enough. :) )
Commerce is a fundamental fact of life and for many projects an opensource approach just doesn't work, this a lot of people have to opt for closed source for business reason, but the very same people would like to leverage libraries and "open software". I do. And this is why everything I publish publicly is under a permissive license.
If you look at a company like Red Hat, they're focused on building things that will work reliably for the diverse needs of their thousands of paying customers. Whereas a lot of open-source contributions are really about solving the contributor's specific problem.
Sometimes if you get many people each making a contribution that scratches their specific itch you end up with something great. Other times it isn't cohesive.
If you make a new technology and an entity bigger than you comes along and makes profit, gives you no credit and contributes nothing in return, you are not going to be "glad to help", you're going to want something in return.
These companies do not contribute so they're required to adopt the new rules as a consequence. It's not fair Amazon profits off work others do entirely for free. They should be required by law to contribute a % of profits to the open source community, based on software they've used. Similar to artists being paid a % of streams of their music.
You use that NPM package? They have a donate button? You should be required to donate if you're a giant like Amazon/Microsoft/Google etc.
That's not true and the very point of my comment. To each his own, but no need to assume it of others.
a license with these terms wouldn't conform to any definition of open source or free software. if you want that, go for it, but if you've licensed something with any libre license you are already consenting to allow anyone use your software for profit as long as they meet the license terms. you may or may not agree with this state of affairs, but adding these types of restrictions/requirements also means that you aren't doing open source or free software anymore.
> https://www.gnu.org/philosophy/free-sw.en.html
Commercial purposes requires compensation doesn't sound unreasonable.
Assuming "community" means general open source devs/users, this doesn't speak for everyone. The (admittedly small) stuff I make open source is given to rich and poor, startup and big cloud company alike. I don't feel "taken advantage of" when my code is taken, used in secret, and nothing is given back. I'm glad I could help. Lots of the best open source software are just byproducts of the primary method of making money instead of its sole driver. All approaches/opinions are ok, but not everyone has this vindictive attitude towards how what you give away is used.