> Evil Corp could take your code and improve it, but make their improvements proprietary
Yeah, but isn't that what software freedom is all about? People can get the code and do whatever they want with it? Of course it's nicer if they share back, but if they don't, it's their loss, they won't get contributions.
If users truly value the license and to be able to contribute back, users would naturally chose to use my code rather than using the code from Evil Corp, since it has the "wrong" license from them.
Limiting the usage and distribution feels like the opposite of freedom, but I want to re-iterate that my knowledge about licensing is so limited, it feels like I'm misunderstanding something here.
I'm very grateful for the answers, so I can educate myself :)
You make good points and are certainly using one valid definition of "software freedom". It focuses on the people who write code.
The idea of such "copyleft" licenses is to go further and use copyright law as a tool in what is seen as a broader fight for freedom. This fight (see the Free Software Foundation for more) focuses on the people who run the code --- not the people who write it.
The premise is that my fundamental rights and freedoms are infringed when I run non-free code. Therefore, the argument goes, we should use copyright law to ensure that our code cannot be used in such ways to exploit or hurt people, by requiring that anyone who uses our code makes the source available to the people running it.
It's about end-user freedom, not developer freedom.
It prevents the developer from limiting others' freedoms later.
If upstream uses a permissive license, then a developer can build on it without giving back to the open source part, and anybody using that derivative has lost software freedom.
But a developer can still have nearly complete freedom even with the GPL; they simply must distribute their source under the same license. Not very onerous.
Thanks for providing your point of view, appreciate it!
So the point of AGPL is to force people into a world of open source? Not because it's better and people prefer it, but because the license requires it? I'm not sure I'm a fan of that, as that's the opposite of what I see freedom being.
"nearly complete freedom" and "they simply must" feels like it's missing the point. As someone else in this post said: "freedom is just freedom". By defining what conditions freedom vs not-freedom is ok, aren't we missing the entire point of freedom?
If you give people freedom, they might use that in a way you don't approve of. If you give freedom, unless you do X, it's not freedom anymore, it's just a set of constraints.
It's not to force open source, but to ensure that free software stays free.
Freedom is good, right? The GPL is based on the belief that everlasting nearly-total freedom is better than transient total freedom.
Restrict exactly one freedom now, the ability to release without source, and you guarantee all the remaining freedoms (all of them!) to all future end users.
Allow that one last freedom to developers, and you potentially deprive freedom from later users.
The GPL doesn't stop people from using software in ways I don't approve. It only prevents further restrictions on freedom.
> I'm not sure I'm a fan of that, as that's the opposite of what I see freedom being.
Your freedom ends where other people's freedom begins. That's just basic ethics. No freedom is absolute.
And by releasing important software under Free/Libre licenses, one enables a lot of other people's freedoms that way.
Whereas the distinction of freedom you're looking for is egoistic and self-serving. Which is okay, I guess, for code that you wrote all by yourself, but not for projects where other people participate as well.
Yeah, but isn't that what software freedom is all about? People can get the code and do whatever they want with it? Of course it's nicer if they share back, but if they don't, it's their loss, they won't get contributions.
If users truly value the license and to be able to contribute back, users would naturally chose to use my code rather than using the code from Evil Corp, since it has the "wrong" license from them.
Limiting the usage and distribution feels like the opposite of freedom, but I want to re-iterate that my knowledge about licensing is so limited, it feels like I'm misunderstanding something here.
I'm very grateful for the answers, so I can educate myself :)