Personally, I am a fan of AGPLv3. But I am uncomfortable with advice to apply APLv3 code in an expectation that BigCorps will not touch it. There are many very large companies, including multinational companies based in China, that have no fear of AGPLv3, and are also prepared to meet the obligations of the license.
Many times I have read (including in comments down thread) that "big companies fear AGPLv3." That may be true in some cases, but not all. And the state of adoption or rejection of community licenses changes over time. 25 years ago, many companies "feared" GPLv2.
That changed, and now GPLv2 is widely accepted. The same could happen for AGPLv3, and personally I think that the movements that advocate for Software Freedom will be closer to achieving their goals if that happened.
Google won’t: https://opensource.google/documentation/reference/using/agpl...
Unless things have changed recently I know Amazon won’t, and I’m fairly sure Facebook still won’t.
For most corporations it’s simply not worth the risk
AGPLv3 licensed software is also permitted for use within the company in some circumstances.
Also the Google policy seems to stem from:
1. It's never really been defined very well what "interaction over a network" means for AGPL and how truly viral it really is - although I'm sure ever there were ever landmark cases in the US establishing it, things would magically end up in Google's favor
2. Google purposely spreading FUD around more restrictive OSS licenses to discourage their existence
Absolutely not.
The AGPL terrified AWS so much that they did a clean room implementation and built an entirely new database that was wire compatible with MongoDB.
Hence, Mongo relicensed under a new license, the SSPL, that says if you implement an SSPL-covered API, the SSPL extends.
So AGPL is open source, but in practice it seems like it's so much more restrictive than something like BSL that is not open source.
This just makes OSS vs not-OSS seem like even more of an theoretical line in the sand.
As for
> Hence, Mongo relicensed under a new license, the SSPL, that says if you implement an SSPL-covered API, the SSPL extends.
That definitely looks ugly on Mongo, implementing an API is such a fundamental part of software compatibility. Seems like the exact wrong way to go about it.
I've released code under permissive licenses (Apache, BSD, and MPL that I remember off-hand), and at least one feature I know made its way into a commercial product. In those cases I simply didn't care because I didn't consider the code particularly novel, important, or special. It scratched my itch. Occasionally it scratched my employers itch, so I was already paid to write it, which was nice.
If I ever write code that I consider novel, important, or special, I plan to release it under AGPL3 - while you may think Google is overreacting on accident or to create FUD around it, the plain text of the license makes the intent exceptionally clear:
> public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version.
This alone is enough to make the AGPL3 blacklisted anywhere that wants to keep their source closed: you may believe the courts would decide for the big corporation if push comes to shove, and you may even be right, but practical evidence shows that almost nobody wants to risk it.
Part of the problem here is that a generation of programmers seems to think that open source is all the same, so a license is something that you just whack <enter> to when your scaffolding tool suggests one. But in reality, talking about "open source" is useless at best and dangerously imprecise at worst, talking about licenses is the only way to get people on the same page.
> That definitely looks ugly on Mongo, implementing an API is such a fundamental part of software compatibility. Seems like the exact wrong way to go about it.
It did the trick for them, at least against AWS: as expected, they successfully forced the wire format to diverge after AWS launched DocumentDB. It also got them pulled from Debian, Fedora, and I don't know how many other distributions for being non-free. But hey, at that point, they were already a known quantity, so it probably won't hurt in the long run.
[0]: https://json.org/license.html
If you have a moral qualm with bigcorps using your work for free, you don’t license in such a way that they can. Make your own license, or slap AGPL3 on it - either way, no bigcorp touches it.
But you cannot be mad when you say “I release this code under these terms” and AWS takes you up on your offer.