I understand that, but while the FSF might criticize liberal licenses, both GNU and many other GPL projects use code under those licenses, while their code is closed to the original projects. That's what bothers me.
And by choosing liberal licenses, those original projects have indicated that they're fine with that. Seriously, I don't see the problem.
If you don't want people to use your code without making their changes available to you, license it under the GPL. That's what the GPL is for. Criticizing GPL projects for the fact that some projects are not GPL seems an odd way to spend your outrage budget.
I'm not outraged. I'm torn over the ethics of my personal creations and contributions to GPL-licensed projects.
And I don't agree that choosing a license means the authors are necessarily fine with their code being used in such a way - it might just mean they don't believe in using (copyright) law to enforce it.
And even if they are fine with my activity, that still doesn't mean I must be OK doing it. As an analogy, I wouldn't sell tobacco, despite the buyers actually wanting to buy it.
A copyright license is the tool used by authors to tell the world how they want their code to be used. If someone publicly state that they like vanilla ice cream, but personally don't, then their public statement is silly.
If someone do not believe in using copyright law and dislike those who do, they should act accordingly and not deal with proprietary companies at all. Those are the majority users of copyright law in the software industry, as the number of GPL law suits vs proprietary ones is several order smaller.
If someone do not believe in using copyright law and dislike those who do, they should act accordingly and not deal with proprietary companies at all.
Sure. But that still doesn't resolve my dilemma, it just narrows it down.
Is it legitimate to take code published under a liberal license by someone who doesn't deal with proprietary companies at all and use it in a GPL project, knowing that it prevents the original project from using that derived code?