5 ms·
With permissive licences like the MIT licence, Evil Corp could take your code and improve it, but make their improvements proprietary. Evil Corp then has a bett
by gregknicholson 9y ago
With permissive licences like the MIT licence, Evil Corp could take your code and improve it, but make their improvements proprietary. Evil Corp then has a better product than you. They can continue to benefit from your future work, but you can't benefit from theirs.
The same is true of the GPL, as long as Evil Corp never distributes the binaries to the end user. This is the service-as-a-software-substitute loophole.
With the AGPL, if Evil Corp modifies your code and allows their customer to run it, their customer is entitled to receive the source under the AGPL, which allows them to contribute it back upstream to you. You then have a product just as good as Evil Corp. They benefit from your future work, and you can benefit from theirs.
- diggan 9y ago> 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 :)
- CarVac 9y agoIt'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.
- diggan 9y agoThanks 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.
- CarVac 9y agoIt'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.
- hvis 9y ago> 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.
- bo1024 9y agoYou 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.
- dragonwriter 9y ago> With permissive licences like the MIT licence, Evil Corp could take your code and improve it, but make their improvements proprietary. Sure, they could, and as it turns out, that seems in practice to make them more likely, not less, to not only use but also contribute back to the permissively licensed project. > With the AGPL, if Evil Corp modifies your code and allows their customer to run it, their customer is entitled to receive the source under the AGPL, which allows them to contribute it back upstream to you. Yeah, but the Evil Corps won't touch it; the first Evil Corp that wants to do something similar to what you are doing as a proprietary project but also have the benefits of open source community will spend the money to reimplement your system with a permissive license as well as building proprietary extensions, and Evil Corps 2...n will also use (and often contribute back to!) the permissive core while differentiating with their own proprietary extensions.
- falcolas 9y agoIf I'm the writer of the original code, that's fine by me. If EC wants to expend the money and effort to replace my code, and that's their prerogative. Getting changes back upstream is not the goal of the GPL and associated licenses, it's just a handy side effect. The goal is to ensure that the end users can see and modify and audit and redistribute what's running on their machines. It's to ensure the betterment of all software and the empowerment of all users, not just programmers.
- gregknicholson 9y ago> that seems in practice to make them more likely, not less, to not only use but also contribute back to the permissively licensed project. Yes, and that's good! I agree that open source is a better way of making better software. Suppose your software is in a particularly innovative area (AI, cloud-based marketing buzzword generation, whatever's fashionable) where there's first-mover advantage; or in an area where there's a network effect. In those situations, Evil Corp might plausibly want to embrace, extend and out-compete the community-driven effort. Google Play essentially did this with AOSP: embrace and extend with proprietary features. Consumers choose the larger feature-set over the community-driven competitor. So the AGPL can defend community-driven projects from being out-competed by in-house projects who take permissively-licensed code and choose not to contribute back. > spend the money to reimplement your system with a permissive license as well as building proprietary extensions Yes, and that's fine. They may lose the first-mover advantage if the AGPL community-driven software can get into users' hands first. And they don't have the leg-up of simply importing code from the community project. This helps the community project to compete.