GPL upgrades via section 14 proxy delegation
runxiyu.org
runxiyu.org
https://invent.kde.org/office/marknote/-/blob/master/LICENSE...
Well, licences are not universal wonder tools. They have restrictions about their use cases. But, narrowing this down solely to "GPL xyz" versus "GPL xyz - or later fancypants", I always found the variant WITHOUT the "or later" to be better. It simply adds more complexity when a licence can willy-nilly be changed, at a later time, when a change happens. I understand the use case for the "or later" part, as the GPL is very strict as well as an ideological tool against abuse from corporations (let's be honest here; and I think the GPL is a good licence, despite this too), but even then I find it better to stick to the simpler variants. It is one reason why I may use GPLv2. I also use MIT/BSD when I essentially don't care much. I don't think I have had a use case for GPLv3; and not for "or later" either. LGPL is also fine.
> It’s patently clear that the license allows this, and it surprises me that this is rarely brought up in debates about GPL-3.0-only and GPL-3.0-or-later.
I was unaware that a proxy can be designated upfront; so that's another complexity with regards to the "or later" part. What can proxies do? I dislike the "or later" clause; it really just makes this way more complicated than it should be.
How one feels about that is a matter of where one stands. The GPL first and foremost protects the interests of software users. Not developers. Not companies.
In that regard, the above should be seen as a feature, not a bug. I believe it is the most effective way to protect the user from being locked-in.
On the other hand, if Linux had used the "or later" version it could have helped prevent TiVoization.
Only if the hardware manufacturer used a combined work of Linux and some GPLv3-only code, no? Otherwise, if Linux was GPLv2-or-later, they could just use it under GPLv2 terms and tivoize.
https://sfconservancy.org/blog/2021/mar/25/install-gplv2/ https://sfconservancy.org/blog/2021/jul/23/tivoization-and-t... https://events19.linuxfoundation.org/wp-content/uploads/2017...
How does anti-tivoization restrict the rights of hardware developers, considering that hardware developers can choose not to pre-install anti-tivoization-licensed/contracted software? Is it anti-tivoization that restricts the rights of hardware developers, or does copyright law do that?
Imagine if the situation was the other way around and a CPU came with a hardware license agreement prohibiting any software that ran on it from validating hardware attributes, using encryption to communicate only with certain other pieces of hardware, or for that matter, any restrictions at all. All in the name of enabling hardware developers to tinker with their hardware without those pesky software developers getting in the way with their pesky encryption.
> Is it anti-tivoization that restricts the rights of hardware developers, or does copyright law do that?
In the way that all copyleft enforcement requires copyright, then yes… but what does that have to do with anything?
I think Linus was spot on about the FSFs scope creep when he said:
“The kernel license covers the kernel. It does not cover boot loaders and hardware, and as far as I'm concerned, people who make their own hardware can design them any which way they want.”
If TiVo hypothetically were to ship a device running an operating system built on an anti-tivoization copyleft-licensed kernel, and if I were buy the device at TiVo's asking price, the very terms of the software license would dictate that the device hardware let me install a FOSS operating system. I as the buyer would not be restricting TiVo's hardware developer rights, and I don't see how the anti-tivoization copyleft license on the operating system TiVo would have chosen to install would meaningfully restrict TiVo's hardware developer rights.
(TiVo's hardware did not actually prevent people from installing a modified operating system [1]. My previous paragraph applies just as well to both Richard Stallman's definition of anti-tivoization and my long-lived misunderstanding of "anti-tivoization" corrected by Bradley Kuhn.)
>> Is it anti-tivoization that restricts the rights of hardware developers, or does copyright law do that?
> In the way that all copyleft enforcement requires copyright, then yes… but what does that have to do with anything?
What rights of hardware developers does anti-tivoization restrict? For example, do you believe in a moral right (or a strong moral privilege) for hardware developers to install any software of their choosing on their own hardware? Most hardware-agnostic software copyright licenses and the lack of a copyright license restrict such a right/privilege. Porting most proprietary software to your own custom hardware would violate copyright (unless your port is a clean-room rewrite) because copying most proprietary software to anywhere including an instance of market-standard hardware would violate copyright. A FOSS license with an anti-tivoization clause does not prevent a hardware developer from installing or modifying covered software: the license conditions do not trigger until the software is distributed (as with the GPLv3) or a modified version of the software is run over a network (as with the AGPLv3).
> Imagine if the situation was the other way around and a CPU came with a hardware license agreement prohibiting any software that ran on it from validating hardware attributes, using encryption to communicate only with certain other pieces of hardware, or for that matter, any restrictions at all.
The concept that software "runs on" hardware and not the other way around makes a massive difference in how I believe hardware should be able to restrict software vs. how software should be able to restrict hardware. Letting a human validate the appropriateness (however that may be defined, including and not limited to criteria unrelated to structural integrity) of a bridge will have more moral use cases (both as a percentage of use cases and as absolute "numbers" of use cases) than letting a bridge validate the appropriateness of a human trying to cross it.
> Imagine if the situation was the other way around and a CPU came with a hardware license agreement prohibiting any software that ran on it from validating hardware attributes
(I would generally disapprove of both a hardware license that prohibits software from validating the hardware and a software license that prohibits hardware from validating the software.) Morally speaking, I might oppose a particular program that shuts down if the hardware has been repaired by a third-party while simultaneously supporting a particular program that shuts down if the hardware randomness module has been altered. I might oppose a particular computer that refuses to run DeCSS while simultaneously supporting a particular computer that refuses to run cryptocurrency miners.
Does anti-tivoization prohibit hardware from validating software, or does anti-tivoization merely prohibit hardware from acting on a detection of invalid software?
> All in the name of enabling hardware developers to tinker with their hardware without those pesky software developers getting in the way with their pesky encryption.
How does anti-tivoization get in the way of tinkering by hardware developers, considering that (1) the hardware developer chooses which kernel and which operating system the hardware ships with and (2) a FOSS license with an anti-tivoization clause does not restrict personal use any more than an otherwise equivalent FOSS license without such a clause does? Are the hardware developer's rights restricted whenever the hardware developer can't control what a buyer does with the hardware and the software that came with it? Does anti-tivoization copyleft software restrict proprietary hardware any more than proprietary hardware restricts free software?
What you gain is the possibility of combining this code with any other code that is under a later version of the license. If there is code X under GPL-2.0-only and code Y under GPL-3.0-only, these cannot be combined, since each license declares that any derivative work has to be under the same license. If code X were under GPL-2.0-or-later, the combination would be compliant.
Most new (corporate-sponsored!) software is already under permissive licenses anyway.
Also, half of all AI development is in China. Why would China care about Western copyright holders, or rather, why would they start caring?
> Pursuant to Section 14 of the GNU Affero General Public License, Version 3.0, [Runxi Yu] is hereby designated as the proxy who is authorized to issue a public statement accepting any future version of the GNU Affero General Public License for use with this Program.
Notice that [Runxi Yu] is an external reference, pointing to runxiyu.org.
Wouldn't this mean that the designated proxy is (any?) future entity claiming to be Runxi Yu and substantiating that claim by demonstrating control over DNS entry for runxiyu.org could effectively upgrade the GPL licence? Or practically, if the domain registration lapses, a hacker takes control or Runxi Yu looses interest — what might happen to the license? And how would this affect any contributers?
I do believe, though, that these kind of references (from paper into the real world) often introduce surprising gotchas. Especially when they are intended to address some future (mostly unknown) issue.
The designated anchor point (person, technological artifact, legal entity) is itself often more likely subject to change than the thing it's trying to govern. Persons may be hit by a car, registries may expire, companies may go bankrupt. Governing laws may change. Countries may cease to exist...
It's an interesting avenue, but the ultimate problem is that people die and/or lose interest in projects. What happens to this particular project if Runxi dies, or decides to make furniture out of wood instead? That basically becomes "GPL-3.0-only" again.
(Similarly to what the author of the article wrote: i’m not a lawyer and this is not legal advice)
Similar things happen with physical property, where a title cannot be cleared and either people just live with it or they go to court to get it "reset".
When it's a twelfth cousin they won't even know they have the copyright. Because it's an implicit right, they don't enumerate all your copyrights and tell your heir about them. The heir has to know.
If you don’t want to hand FSF a carte blanche regarding your project—perfectly understandable—then pick a “version X only” variant and move on.
It seems like there are two options:
a) The "founder" of the code disappears in to the ether, and it is the equivalent of "version X only";
b) The "founder" stays involved, and if GPL 3 is updated, they can choose.
only b is worth speaking of. In b, isn't having someone in a position to make a choice much better than no one? What is the boogie monster that is the worry? The FSF puts out the 4.0 version, with a special "except for boramalper" clause, that lets you specifically monetise the hell out of it while keeping it closed source? I would not lose much sleep over that.
Stallman is a nutcase, in an endearing way (ok, maybe you have to have moved in the right circles). But he has put in place a system that needed just such a nutcase, who established clear black lines that could not be crossed, and who was also writing enough amazingly meaningful code that we needed to take his license seriously, that could then establish the institutions and governance to make it all live beyond him.
Actually, you're right! I thought the proxy can nominate/decide that any other license can be used in the future (i.e. "licensed under GPLv3 or X" where I can chose X to be anything) but it seems that I was wrong. Re-reading more carefully (emphasis mine):
> If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
So FSF creates the future versions of a specific license the work is under (in this case AGPL) and the "founder" chooses whether to allow its usage or not. That sounds reasonable to me.
Thanks for the pushback!
There is nothing surprising about it as the contentious issue about GPL3.0 is the patent claim one (which did cause multiple companies go "HELL NO we're not touching GPL with 100m pole"), not this.
And I fully acknowledge that the FSF isn't and will never be perfect.