IMO, the ideal end-state from a software freedom perspective is that all software becomes AGPL. This change is a step in that direction, not only with the directly affected products, but for the reasons you mentioned, an additional pressure for more things to switch to it. Do you not like that end goal, or do you just think the side effects of the change outweigh the benefits of getting closer to it?
I think it's both a completely unrealistic end goal (we live in the real world), and I also think that the AGPL puts you into a hole where you can never get out of again if you decided that you now need different constraints. So I really much more prefer permissive licenses.
> if you decided that you now need different constraints
and if you own the copyright, you can always relicense it to suit. How _other_ people chooses to use this software is not under your control, even though you're the copyright holder. This is exactly what it means to have freedom.
If this incremental step led to a better world already, I would maybe agree... but I think it makes the whole ecosystem worse and worse, until some far-away tipping point is reached where almost everything is AGPL and can reuse each other again. And even then I'm not sure I'd be happy with the *GPL, as now you can't back out of it again in case you later discovered that it was the wrong decision, without getting the permission by all copyright holders.
Yeah, which is why typically those companies make external contributors sign a CLA that allows for copyright assignment and relicensing. Which is annoying if you contribute to a company-owned project under a permissive license to help make it big and successful, and then they change the license under you. But yeah, then they could switch it around in both directions if they get all the rights signed away to them.
you realize that if you contribute to a company apache project without a CLA, they can change the license out from under you to _any_ license that they want, right?
The way I've understood it is part of the point of CLA's is to allow license changes, and that without them no license changes are possible to community projects. Because all the contributors own the copyright to the code they contributed, which they licensed under the existing license. To change the license you'd need to contact all the contributors and get permission (so okay, not impossible, just infeasible). The CLA is getting that permission in advance, to let some controlling body change copyright later.
I thought the point of CLA's in general is to stop contributors from revoking their license, or claiming the entire program is a collaborative work and that they have joint copyright over all of it. I don't think either has ever happened in open source, but I believe is possible, at least in the US.
It seems you can always just run the AGPL licensed software and as long as you interact with it through the network or the database you won't have to relicense anything.
What you cannot do is:
1. change the AGPL software itself and provide it to end users in any form without providing updated sources
2. make a combined product and not provide sources for all of it under AGPL.
3. Also there is nothing to prevent you from releasing sources of your software dual licensed under both MIT and AGPL.
No, it is the network interaction that is specifically a software release trigger. "Interact" is a term encompassing a broad scope of behaviour -- any network message that causes an API to be called.
1+2 are plain old GPL. 3 is just a basic consequence of owning all the IP, but it isn't possible to release a patch to an AGPL under MIT.
AGPL has massively enhanced virality, which is the entire point.
> AGPL has massively enhanced virality, which is the entire point.
Yep, but AFAIK (not a lawyer I have just spent some time trying to figure this out) it doesn't affect other software over the Internet:
Some examples based on Friendica:
- Chrome won't become AGPL licensed by being used to access Friendica
- MariaDB won't become AGPL licensed by being accessed by Friendica
- any changes you make to Friendica must obviously be AGPL (if you let anybody use it)
- if you want to write an extension for Friendica it needs to be AGPL (but if you want you can also release it under another license)
- if you want to put your or someone elses open source or proprietary code into Friendica you must plan to release that code too under the AGPL (of course you can still release it under another license simultaneously but it must be available as AGPL in addition.)
The difference is that not in what it infects but how it spreads - kind of.
The practical effect is that all modifications to an AGPL code are likely to be encompassed as soon as you use it on the internet.
Obviously it can't change the license of other products, but other products trigger the virality. For example, Apache calls a module which triggers generating a graph from your custom grafana instance. Your custom code is now AGPL.
The ideal end-state is simply software freedom for everyone, no more proprietary software — and also no more malicious actions in the world, world peace, and universal love and compassion.
I do sincerely share these ideals, but which paths get us how far with which real-world trade-offs, that's more complex.
For ideal policy, I like this direction: abolishing copyright and patent law and replacing them with (A) mandatory source-release for all published works that need source in order to practically study and modify and (B) prohibition on DRM or other measures that technically limit freedoms.
Oh, I don't think either is realistic any time soon (long long run, who knows). I'll readily accept that there's a path that takes us slowly in the direction of everything-is-AGPL, namely making more software AGPL. No comparable path exists to slowly progress toward my ideal policy.
Wasn't the end goal of copyleft that all software becomes GPL 3 a few years ago? When will this stop? Why does 'freedom' in the Gnu sense require coercing all developers to use the same license?
> Wasn't the end goal of copyleft that all software becomes GPL 3 a few years ago?
Giving users access to software without distributing it to them is a recent technical innovation. The AGPL exists to give those users the same rights as more conventional software users. The underlying goal - ensuring that all users have the four freedoms - remains the same.
> Why does 'freedom' in the Gnu sense require coercing all developers to use the same license?
The copyleft trick only works that way. The goal is to ensure that all software users have the four freedoms; ideally they would be enshrined into law somehow, but failing that, a license is the best we can do.
Unless you are using your software as a resume and need more Github stars to land you interviews, this is a fine result if it gets you more money. Companies like money more than they like clout - and it won't help them to have a billion users and then be undermined by "AWS Grafana" and slowly go out of business. I much prefer companies choosing the AGPL over going proprietary, using a franken-license or going out of business because Amazon sucked out all the oxygen.
Edit: it just occurred to me that opting for popularity over money is "paying" yourself with exposure.
Why? If your software is already all available under permissive licenses, what does Grafana's new license require of you that you weren't already doing?
Oh nothing for now, and there's likely not going to be a viable alternative around for a while. But long-term, I don't see Grafana as part of the openly sharing ecosystem anymore, as with them being under the AGPL, but most other relevant OSS projects in the space being under permissive licenses, the whole idea of code sharing now goes out of the window (or rather, becomes one-way). I don't like the long-term implications of this for the ecosystem.
Maybe I want to keep my software under a permissive license? AGPL would also infect my code, no? And what if we're talking about proprietary code that doesn't have much to do with Grafana and only uses it for monitoring?