Skip to main content


Normalize the use of #AGPLv3 for its original purpose: to help protect the freedoms of the end-users of networked services like #Mastodon, not to help build a proprietary software business model (in which alternative commercial licenses are sold because the obligations of AGPLv3 are "scary").

(Personal opinion).

Matt "msw" Wilson reshared this.

AGPLv3 doesn't really do that though -- the license is so badly written that you can entirely comply with it by adding a (real) source code link in your fork, but then running that fork behind a proxy which strips the link. Perfectly legal per the license.

(This all comes from the fact that AGPL tries to enforce usage restrictions, which are against Free Software principles, via weird copyright hacks that don't really work.)
This entry was edited (1 year ago)
@delroth I don't follow this "loophole" at all. Is there some more detailed writeup that explains in more detail?
it's not a loophole. AGPLv3 is basically just GPLv3 + clause 13, which is "if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network an opportunity to receive the Corresponding Source of your version"

You have to make your fork advertise its source code. But there is nothing that prevents you from running that fork behind an HTTP proxy which then strips this offer.
@delroth it's a known possible loophole but I don't see a way around it.

I don't think I'd want to defend that decision in court though.
@wwahammy @delroth indeed, but before a plaintiff gets there, many in the #FOSS community likely would have ostracized the offender.
@wwahammy @delroth

I'm not sure how making an offer for source that users can neither see nor access, could possibly be argued as having actually made an offer, but IANAL.

Things like "I wrote a check but never mailed it" generally doesn't fly in courts.

#Copyleft #AGPL #FreeSoftware
@downey @delroth like I said, I wouldn't want to be the one explaining to a judge why this was legal. If they're wrong, I suspect the judge would not be amused.
@downey
Exactly what I thought. I don't think the arguments you're responding to are made in good faith anyway. The clue is here;

@delroth
> AGPL tries to enforce usage restrictions, which are against Free Software principles

Copyleft is not a "usage restriction", it's a prohibition on such restrictions (via proprietary re-use).

> via weird copyright hacks that don't really work

Factually wrong. GPL has been enforced in court on multiple occasions by SFLC, SFC and others.

@msw @wwahammy
@strypey @downey @delroth @wwahammy I wouldn't go so far as to say arguments posted here are in bad faith. If one's objective here is to advance the cause of #SoftwareFreedom then we will naturally have debates, sometimes spirited ones, about the best ways to go about doing that.

Relatively speaking, AGPLv3 *is* less tested in courts compared to GPLv2.
@strypey you're fighting a strawman. I never said that copyleft was a usage restriction, or that GPL didn't work.

I said that AGPL's attempt at using a copyright license to try and enforce terms on usage (but not really, wink wink) is an untested hack which is full of loopholes.

I'm unsure why you're inserting yourself in a discussion about open source licenses when you don't seem to differentiate GPL from AGPL.
@delroth @strypey I don't see AGPLv3's obligations in "usage" of the software to be substantially different to how GPLv3 can be "used" (or not used) to create new software works.

For example, to enjoy the permission to run the program for any purpose (Freedom 0), you have to make a promise not to enforce DRM anti-circumvention clauses of the DMCA for derivative works. You are effectively "restricted" from creating a Digital Rights Management system by "using" GPLv3 software components.
@delroth
> you're fighting a strawman

I apologize for misrepresenting your point. It might help if your posts laid out your argument in a bit more detail, so we don't have to guess at what the meat of the argument might be.

> you don't seem to differentiate GPL from AGPL.

Since you've clarified that your comments were targeted at clause 13 of AGPL, not copyleft itself, you're right that GPL enforcement is off-topic. Again, my apologies.

@msw @wwahammy @downey
@delroth
> AGPL's attempt at using a copyright license to try and enforce terms on usage

IANAL but my lay understanding is that copyright prevents me making a copy of a piece of code, without permission from the copyright holder. If I can't copy it, I can't use it in any way. A copyright license - which all software licenses are, libre or otherwise - gives me permission to copy, and the copyright holder can use it to enforce any limits on usage they like.

(1/2)

@msw @wwahammy @downey
@strypey @delroth @wwahammy @downey there have been arguments about how to scope the permissions and obligations of a copyright license.

Some argue that you can write any terms you want in a copyright license. I don't know of any lawyers that say that is a good idea, as you can run afoul of copyright misuse defenses (at least in some jurisdictions).
https://en.m.wikipedia.org/wiki/Copyright_misuse
> you can run afoul of copyright misuse defenses (at least in some jurisdictions)

Intriguing. I didn't know these existed. Might be worth pointing this out to the more militant factions of the Shared Source crowd (eg the ones who use the pro-vaccination software licenses).

@delroth @wwahammy @downey
@strypey @delroth @wwahammy @downey the Vaccine License was a strawman put forward pseudonymously by Bruce Perens, who is definitely not a proponent for those licenses that attempt to compel behaviors unrelated to the licensed work.
https://m.youtube.com/watch?v=vTsc1m78BUk
@strypey @delroth @wwahammy @downey SSPLv1, as a modification to GPLv3, is framed as a copyright license. And so lawyers have pointed out that a misuse defense could be an issue. https://www.processmechanics.com/2018/10/18/the-server-side-public-license-is-flawed/
@strypey @delroth @wwahammy @downey the copyright misuse was covered in the community review of SSPLv1. I agree with @richardfontana that it is probably of secondary importance.
ctober/003748.html" target="_blank" rel="noopener noreferrer">https://lists.opensource.org/pipermail/license-review_lists.opensource.org/2018-October/003748.html
@delroth
> the Vaccine License was a strawman put forward pseudonymously by Bruce Perens

Really, that's a relief. I feel a bit silly now, although it's nice to know the person who punked me was Bruce Perens, who I highly respect. That hoax license is a really good satire of what's wrong with that whole class of morality licenses.

SPPL and the various other 'I can use yours but you can't use mine' licenses are a different kettle of fish of course...

@wwahammy @downey @richardfontana
@delroth
As you said, the only difference between GPL(v3) and AGPL(v3) is clause 13. Again, IANAL, but my understanding of 13 is to clarify that supplying a network service using the code, counts as distribution of the code. So all the terms in the rest of the license still apply, including obligation to provide source code to end users. If it wasn't enforceable, TruthSocial wouldn't have published their source code when merely threatened with AGPL enforcement.

@msw @wwahammy @downey
@strypey @delroth @wwahammy @downey is has not been argued as "distribution" but rather "public performance".

See https://lwn.net/Articles/541981/ for more details.
> not been argued as "distribution" but rather "public performance".

Ah, I'm guessing describing a network services as a "public performance" is the legal hack that @delroth referred to. Seemed to convince one of the world's most litigious men to publish his source code though, so...
@wwahammy @downey
Just imagine a judge asking the question: "you programmed it to do it and then programmed it not to? How is that compliance?"
@silverwizard two different works (the copyright license of one has no influence on the other) and AGPLv3 specifically forbids derivatives to introduce restrictions on usage (clause 2, inherited from GPLv3 and from the core tenants of Free Software).
clearly the spirit of the license would be that "you can't use the forked software in a context where it doesn't advertise its source code to users".

But that's not how it's written/implemented. Simple reason: this would be against the FSF's Freedom Zero, "The freedom to run the program as you wish, for any purpose".

https://www.gnu.org/philosophy/free-sw.en.html#four-freedoms
@delroth I put the "you can run a version behind a proxy that removes the prominent advertisement" argument in the general bucket of "but you can circumvent the license with a simple wrapper".

There are many ways that people have tried to circumvent copyleft licenses, but accidental non-compliance is most common.

Community-oriented enforcement starts with education.
https://sfconservancy.org/copyleft-compliance/principles.html
@delroth @lbruno I think we can summarize this all as "there might be loopholes in the AGPL that make it possible to violate the spirit". I think most would agree that's possible.
@lbruno I also wish that's what the AGPLv3 was enforcing. That would make it a somewhat useful license.

It's not though. Clause 13 is extremely short and easy to read. It adds very specific requirements to the base GPLv3 license, and none of what you describe (ownership of a hypothetical proxy, etc.) is part of it.

If you want to debate this further then please quote specific parts of the license text that support your interpretation, otherwise I'm very uninterested in this discussion.
This entry was edited (1 year ago)
@delroth you're defending the hypothetical proxy by comparing it with some other software which is in the receivers control, like an advert blocker or a forward proxy

when the hypothetical agpl-stripping proxy is instead under your control, and has no legitimate justification nor purpose

and then you're offering me up as insane on foot of this unwarranted comparison, all while ignoring the plainly visible fact that “what merit is there in stripping the notice?” has no plausible answer?

@msw
@lbruno AGPLv3 has deliberately chosen a very specific wording for its restrictions, making it really hard to argue for interpreting its spirit vs. letter.

If the proxy isn't the user to whom the offer must be extended, then the user's web browser probably isn't either, and thus an ad blocker filtering your source code advertisement means you violate the license. Or a forward proxy running on a corp network. It would be an insane interpretation, and not supported by the letter of the AGPL.
@lbruno @delroth Yup, and it may be enforced as a contract in California, depending on how the Vizio case goes.
@delroth and at least one judge here in Europe has decided that the GPL is a contract -- specifically in France

i'd be wary of trying to defend a smart-alec position in front of a judge, regardless of whether the agpl is a license or a badly-written eula
how to show/convince people that AGPL is not viral (causing exposure of networked software that AGPL software touches)?
@grimm I don't know how to accelerate this in a way that scales. I think #FOSS software adoption, which is influenced by the terms of the license, is often organic...
10 years ago or so, I had a battle at a large corporation that I worked for about bringing in an AGPLv3 licensed microblogging software. The lawyers were afraid someone could compel us to release source code for anything linked through the site that was not OSS.
@grimm that's probably where we need to help connect lawyers to a peer support group of other lawyers.
One might ask, "Why does the #AGPLv3 #FreeSoftware license exist? Who is it for?"

You can find answers in the talk that Bradley M. Kuhn, Policy Fellow and Hacker-in-Residence of @conservancy, gave at #SCALE11x in 2013.

#FOSS #OpenSource #Copyleft #Licensing for #SaaS
http://ebb.org/bkuhn/talks/SCALE-2013/agplv3.html
A long form summary of the talk by @n8 was published in @LWN

https://lwn.net/Articles/541981/
It's interesting to look back on this talk, given in February of 2013, that begins with the framing of the "Application Service Provider loophole":
"""
Rather, the authors of the GPLv2 did not foresee the dramatic takeoff of web applications—and that was not a failure, strictly speaking, since no one can foresee the future.
"""
Bradley went on to say,
"""
the community needs to be aware that the AGPL can be—and often is—abused. This is usually done through "up-selling" and license enforcement done with a profit motive, he said. MySQL AB (now owned by Oracle) is the most prominent example;
"""
So, Bradley *did* foresee the future of #AGPLv3 abuse. Only a few months later, Oracle changed the license of #BerkeleyDB to AGPLv3.

https://lwn.net/Articles/557820/
do you know if Bradley is on here yet?
@egallager I looked around, but haven't seen a login. @karen just moved to a new instance. Maybe she can convince Bradley to set it up. 😉
@karen or better yet set it up *for* him! (you know, since Bradley is busy and all)
@drewdevault The one thing that stands put for me is
the case where somebody hopes google hires them to further non-AGPL code bases that they find valuable, like an informal anonymous internship. Perhaps people in this situation would do better to dual license, like Cygnus did with cygwin.
I was gonna make a hilarious joke about article topics that get read once per decade, but the truth of it is that licenses last a long, long time and that's why deep thinking about them is so indispensable....
you’re just lucky that @sogrady is a mastodon denier
@ahl @sogrady We'll have to send John Mastodon to talk to him.
@timbray @ahl mastodon in jokes are less accessible to a mastodon skeptic than might be imagined
@sogrady @ahl
Fair enough, but, speaking as a long-time AGPL skeptic, I think @msw has a point here.
@pedromj @timbray @sogrady @ahl all #FreeSoftware licenses are permissive. Some seek to ensure all the permissions are passed on to others, that's all.
@timbray @sogrady @ahl I suppose, as most know about the permissiveness, but it is better to clarify, because many people do not know that #copyleft and #copyright licenses live together in the #freesoftware ecosystem.
@pedromj @sogrady @ahl

Most people know nothing about the variations in open-source licenses, nor should they need to.

Hmm, if someone were trying to pick a license and asked me for advice, I'd ask them questions and make a recommendation, but if they instead asked “where could I go and read up on all this stuff?” I wouldn’t have a good answer. Matt, what would you recommend?
@timbray @pedromj @sogrady @ahl on one end of the spectrum there's https://choosealicense.com/ and at the other there's https://academic.oup.com/book/44727
@timbray @sogrady @ahl Both are nice sources worth to mention and have in mind.
@sogrady @timbray @ahl it's trending, but ICYMI...

https://mastodon.social/@mattsheffield/109530309049677792
@sogrady @ahl

If you scroll down my timeline there are a couple of pretty funny takes. Masto town is giggly this evening.
#AGLv3 rocks. It enables the kind of win-win sharing and community development for networked services that local only software has benefited from for decades.

When corporations tell you AGPL is scary and incompatible with developers earning a living, and offer their own "business-friendly" alternatives, don't be fooled.
I think the advancement of the whole of software through use of AGPLv3 is better than leaving such software hidden behind commercial terms only. The costs to create a real business around a service are substantial, and it’s easy to see how existing software behemoths have entirely too much advantage unless you include provisions that keep others from taking advantage of your own altruism with a minimum of effort.
@bjones yes, I think that software being available under AGPLv3 license is better in many ways than software being closed off under proprietary licenses.

But the licensor of the software needs to understand what freedoms they are giving via AGPLv3, and that includes the freedom to compete in free markets.

AGPLv3 is not designed to protect the licensor (apart from warranty disclaimer, etc.). It protects freedoms for the user.

As long as the licensor groks that, it's all good.
This is exactly why I put AGPL on projects I drive.