GPLv2 affirmation…

I don’t generally post here as people have probably noticed, but here’s a pdf of a recent court ruling, and this turns out to be the easiest way for me to link to a copy of it, since I don’t really maintain any web presence normally and I don’t want to post pdf’s to the kernel mailing lists or anything like that.

And the reason I want to post about it, is that it basically validates my long-held views that the GPLv2 is about making source code available, not controlling the access to the hardware that it runs on.

The court case itself is a mess of two bad parties: Vizio and the SFC. Both of them look horribly bad in court - for different reasons.

Vizio used Linux in their TVs without originally making the source code available, and that was obviously not ok.

And the Software Freedom Conservancy then tries to make the argument that the license forces you to make your installation keys etc available, even though that is not the case, and the reason why the kernel is very much GPLv2 only. The people involved know that very well, but have argued otherwise in court.

End result: both parties have acted badly. But at least Vizio did fix their behavior, even if it apparently took this lawsuit to do so. I can’t say the same about the SFC.

Please, SFC - stop using the kernel for your bogus legal arguments where you try to expand the GPLv2 to be something it isn’t. You just look like a bunch of incompetent a**holes.

The only party that looks competent here is the judge, which in this ruling says

Plaintiff contends the phrases, “machine-readable” and “scripts used to control compilation and installation” support their assertion in response to special interrogatory no. 4 that Defendant should “deliver files such that a person of ordinary skill can compile the source code into a functional executable and install it onto the same device, such that all features of the original program are retained, without undue difficulty.”

The language of the Agreements is unambiguous. It does not impose the duty which is the subject of this motion.

Read as a whole, the Agreements require Vizio to make the source code available in such a manner that the source code can be readily obtained and modified by Plaintiff or other third parties. While source code is defined to include “the scripts used to control compilation and installation,” this does not mean that Vizio must allow users to reinstall the software, modified or otherwise, back onto its smart TVs in a manner that preserves all features of the original program and/or ensures the smart TVs continue to function properly. Rather, in the context of the Agreements, the disputed language means that Vizio must provide the source code in a manner that allows the source code to be obtained and revised by Plaintiff or others for use in other applications.

In other words, Vizio must ensure the ability of users to copy, change/modify, and distribute the source code, including using the code in other free programs consistent with the Preamble and Terms and Conditions of the Agreements. However, nothing in the language of the Agreements requires Vizio to allow modified source code to be reinstalled on its devices while ensuring the devices remain operable after the source code is modified. If this was the intent of the Agreements, the Agreements could have been readily modified to state that users must be permitted to modify and reinstall modified software on products which use the program while ensuring the products continue to function. The absence of such language is dispositive and there is no basis to find that such a term was implied here. Therefore, the motion is granted.

IOW, this makes it clear that yes, you have to make source code available, but no, the GPLv2 does not in any way force you to then open up your hardware.

My intention - and the GPLv2 - is clear: the kernel copyright licence covers the software, and does not extend to the hardware it runs on. The same way the kernel copyright license does not extend to user space programs that run on it.

@torvalds thanks for sharing Linus, I appreciate your thoughts on the subject
@torvalds a torvalds post :O 🔥
vizio - Dizionario italiano-inglese WordReference

vizio - Traduzione del vocabolo e dei suoi composti, e discussioni del forum.

@torvalds
Always good to hear from you, Linus.

Though I have to say:

I was hoping for a Christmas greeting — not a reminder that some people still don’t understand GPLv2 in 2025.

TL;DR (IMHO):

The GPLv2 is about making source code available.

It is not about forcing vendors to open their hardware or provide installation keys.

You must be able to:

- copy
- modify
- redistribute the code

including using it elsewhere.

You are not entitled to reinstall modified software on the original device and expect it to keep working.

Open source software is not a backdoor mandate for open hardware.

If that had been the intent, the license would have said so.

It didn’t.

@ghul I don't buy "If that had been the intent, the license would have said so. It didn’t.", it could also be an oversight at the time of publishing the GPLv2, due to not expecting hardware to exist with software that the user cannot modify. The intention seems pretty clear from all other literature, and just the fact that the GPLv3 was written in response to the issue of such hardware appearing.

It is a different thing to argue that users of the license didn't intend/care about this.

@pkal

I get the argument, but I don’t think it holds up legally or historically.

An “oversight” in GPLv2 would only matter if the text were ambiguous.

The court explicitly found that it isn’t.

In licensing, intent is defined by what was written and agreed to —
not by later expectations or moral preferences.

The fact that GPLv3 was explicitly written to address locked-down hardware is actually strong evidence that GPLv2 does not cover that case.

If the intent had already been there, GPLv3 wouldn’t have needed new language.

It’s fair to argue that some people wanted stronger guarantees later on
- but that’s a different claim than saying GPLv2 already required them.

In short:
evolving goals led to a new license, not a reinterpretation of the old one.

Licenses don’t gain new obligations retroactively - just because the world changed.

@ghul I think that the argument resolves itself if we distinguish between the "intent expressed in the texts" and "intent of the author", sort of like the classical distinction between in the letter or the spirit of the law. My understanding is that the SFC are trying to make an argument via the spirit of the law -- and I agree with you that argument doesn't hold legally.

But I still very much doubt that the FSF would have been OK with it if presented with the example in the early 1990s.

@pkal

I have to admit 😉

One last note — because it really matters:

The spirit may evolve.
The license doesn’t.

- GPLv2 not covering the hardware may have been an oversight
- GPLv3 specifically addressing that indicates the intent to cover that
- Linux continuing to use GPLv2 is not an oversight but an explicit signal that the kernel developers do not intend to make claims over hardware access
@ghul @pkal

Re your third point: Linux could not trivially switch to GPLv3 even if kernel developers intended to do so because everyone involved would need to agree and some authors cannot agree anymore on account of being dead. Their contributions would need to be replaced first.

@osma @ghul @pkal

@wonka @osma @ghul I never thought about this: If contributors die, do their heirs have the right to agree that their contributions be re-licensed under GPLv3?
@pkal @wonka @osma @ghul you can always relicense code you own barring restrictive agreements like in contracts. What you can't do is remove the existing GPLv2 version There is plenty of kernel code from vendors that's under GPL for Linux, BSD for FreeBSD and proprietary for Windows for example

@etchedpixels @pkal @wonka @osma

Relicensing is additive, not subtractive.

@pkal @wonka @osma

Difficult...

Heirs inherit copyright, not a time machine.

They can relicense their share going forward, but can’t rewrite the terms under which Linux was built.

---

Inheritance transfers ownership —
not community consent.

@ghul @pkal @wonka @osma

If you relicense, the old version with the old license will continue to exist, but all new development will be made into the branch covered by the new license, gradually making the old version irrelevant through obsolescence.

In the case of Linux – a software that is constantly changing extensively – relicensing could therefore be done. But it isn't wanted, as GPLv2 works better for its needs than other licenses.

@wonka @osma @ghul @pkal GPLv2 explicitly allows any later version, and removing that is an additional restriction so dubious. It would take a court to sort that question out however, and for Linux it's not likely to ever happen.

More importantly though was also the social contract. Linux was built and people contributed on the GPLv2 basis. Changing that would have been shutting doors on existing contributors. That point to me was the salient one Linus made when GPL3 arrived

@etchedpixels Could you point that out in https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt? (Or https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/LICENSES/preferred/GPL-2.0)

I only see "later" in Section 9, and there is a big IF attached to "any later version". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/COPYING does explicitly say "GNU General Public License version 2 only".

@osma @ghul @pkal

@wonka @osma @ghul @pkal lots of the kernel was and is V2 or later if you follow actual licences issued by the authors. Ditto the syscall exception was also never agreed to by third parties. I to be clear think it's a non issue anyway because the intent was clear, and people had decades to object but didn't.
@etchedpixels @wonka @osma @ghul @pkal You could always try your own https://web.archive.org/web/20071128105420/http://busybox.net/~landley/forensics.txt to show the subset you're using contains none of the copyrighted material you don't have your desired license for, but good luck doing that on the Linux kernel with Linus' copyrights. (And that's _before_ you bring up compilation copyrights or the weird European inalienable stuff.)
Wayback Machine

@wonka @osma @ghul @pkal Re-reading this without the influence of christmas baileys I see where you are going - yes I think you are right on that.

@etchedpixels @wonka @osma @pkal

👍 Thanks for re-reading — appreciated.

I think that distinction often
gets blurred in hindsight.

@etchedpixels @wonka @osma @pkal

The deciding factor wasn’t law, it was consent.

@etchedpixels @wonka @osma @ghul @pkal "At your option."

Each new derived work adds a separate layer of copyright, and you need compatible licenses to each copyrights in order to distribute the resulting work. If ANY of those copyright holders explicitly declines the "or later" option, the only license the work may be distributed under is the "fails closed" subset.

Linus explicitly declined "or later" option for his copyrights in september 2000, long before v3 existed.

https://web.archive.org/web/20021223110351/http://www.ussg.iu.edu/hypermail/linux/kernel/0009.1/0096.html

Linux-Kernel Archive: Linux-2.4.0-test8

@landley @wonka @osma @ghul @pkal That's fine 2.0.39 is still the best Linux kernel 😁

I still have a "S.u.S.E. Linux 4.4" box here, from November 1996, advertising Kernel 2.0.24... I guess that would not work on my current HW because of x86_64, EFI, and USB...

@etchedpixels @landley @osma @ghul @pkal

@etchedpixels

> GPLv2 explicitly allows any later version, and removing that is an additional restriction so dubious.

Legally a licence or a contract memorialises the understanding between parties at the time. There can't be a meeting of the minds on terms one party added after that. So actually the effect of the "or later" language when added before the final form of GPLv3 was known is what is dubious.

@wonka @osma @ghul @pkal

Linus ALSO didn't want the GPLv3, and Linux has explicit exceptions to the GPLv2 for binary drivers. His choice of licenses and exceptions is definitely a signal. So are his actual statements.

@ghul @pkal The intent has always been to be able to modify the software of your devices.

The whole free software movement begun because someone could not modify the firmware of the printer in the AI lab he was working on to fix the constant jamming.

@Fedihacker @pkal

- Motivation ≠ mandate.

- GPLv2 says what it says.

- GPLv3 exists
because it didn’t say more.

@ghul @pkal Loopholes in laws and contracts do exist. And they are subject to interpretation.

There are more replies in this thread. If you understood the spirit of the license you would expect revisions of it after being tested in trials and judges interpreting it differently.

Many laws are modified because of that. The constitution of the USA, for example. Sometime ago not all men and women were considered citizens. The reconstruction amendments clarified that all people are citizens. And still the legal status of some citizens continues to be discussed.

Well, I hope we don't end up in a Civil War.

So no, the GPLv2 being interpreted against its intent doesn't mean its intent never was to be able to install binaries compiled from modified source code into the same device.

@Fedihacker @ghul @pkal

Umm, I thought ultimately it was because of AT&T / Bell insisted that owned ALL of UNIX, even what was written by people not working for them, like in Universities.

Not because of a printer. First I ever heard of it.

@raymaccarthy @ghul @pkal You got it wrong.

@Fedihacker @ghul @pkal
I was referring to the origins of Open Source as in BSD (approx 1978 and not "free" in GPL sense) and then GNU (announced 1983)
GPL (GNU Public Licence) was about 6 years later, 1979
GPL v2 was 1991
FreeBSD released in 1993

When was the event of the jamming printer in an AI lab?
BTW I sold printers, bought printers and repaired printers in various companies from 1980 to 2005 and never heard of jamming caused by Firmware.

GPL isn't the only Open source licence either.

@raymaccarthy @ghul @pkal

There was no free software release of a BSD until 1989. Before that universities had "source code licenses" which allowed them to make derivatives of AT&T's Unix and use it, for a price of course. https://en.wikipedia.org/wiki/Berkeley_Software_Distribution

The thing about the printer jamming, I was wrong. It was a modification to notify all logged users when the printer jammed.

Berkeley Software Distribution - Wikipedia

@Fedihacker @ghul @pkal
I pointed that out that BSD wasn't "free". GNU = GNU is not UNIX.
UNIX and then BSD rows with AT&T was the motivation for GNU that later led to GPL.
So called "copyleft" such as GPL is simply limited Copyright. Apache (2004) isn't regarded as "copyleft".
There are many "free" or open source (which might not be free) licence variations of copyright for Software; almost none need HW access.
Owners SHOULD have access to change SW on their HW. That's a separate issue.

@raymaccarthy @ghul @pkal Current definition of Open Source as stated per the OSI (Open Source Initiative) does not match what you pointed out as open source for BSD. I suppose you referred to the source license (not open or free as in freedom), which could be considered open before before the existence of the OSI.

Copyright alone is restrictive: all rights reserved. Copyleft allows more than that. The end user has rights over the distributed work. But if you interpret it as limited Copyright because not all rights are reserved (limited reserve), then I don't have anything to say.

The free software movement is one thing, the GNU operating system is another.

Think about the printer firmware as the flux capacitor moment in Back to the Future. It was before GNU. But yes, GNU was started after Stallman decided not to accept NDAs to use the OSes for VAX and other machines. And from there more people decided to join the effort of GNU and free software in general.

@raymaccarthy @Fedihacker @ghul @pkal

The GPL has nothing to do with UNIX, and it was originally created because of a difference of opinion between Stallman and Gosling over Emacs.

@resuna @Fedihacker @ghul @pkal
GNU is Not Unix 😀

GPL: GNU Public Licence.

There is of course politics, mostly by White American Men.

@raymaccarthy @Fedihacker @ghul @pkal

That wasn't the original motivation, it was Emacs that got it started.

@resuna The creation of the GPL had nothing to do with Gosling. The GPL was created to unify several existing licenses that the GNU project was using (GCC Public License, Emacs Public License, and some other ...)

@raymaccarthy @Fedihacker @ghul @pkal

@amszmidt @raymaccarthy @Fedihacker @ghul @pkal

The creation of the GPL happened way later than the events that started RMS down this path, though. That's what I'm talking about.

@resuna I was only responding to what you wrote, "it was originally created because of a difference of opinion between Stallman and Gosling over Emacs." This is not how things happened.

And the creation of the GPL was not "way later". The GNU Emacs Public license was created around 1984/5; just at the start of the GNU project. All the GPL(v1) was consolidate all the different GNU licenses from that time.

Some of us are old enough to have been there.

@raymaccarthy @Fedihacker @ghul @pkal

@amszmidt @raymaccarthy @Fedihacker @ghul @pkal

You're still talking about something that happened later. I was there too. He was already bitching about the whole Emacs thing while I was still at Berkeley. By the time the GPL came out I was already married.

@resuna and that all happened long before Gosling. Clearly you cannot either read what you write.
*plonk*
@raymaccarthy @Fedihacker @ghul @pkal

@pkal
> it could also be an oversight at the time of publishing the GPLv2, due to not expecting hardware to exist with software that the user cannot modify.

Yes. That's precisely what happened. The GPL family is designed to conform to the '4 essential freedoms' philosophy. They didn't expect them to be violated without breaking the license. It was TiVo that did it first. They coined the term 'Tivoization' after them. Here is the proof:

https://www.gnu.org/philosophy/tivoization.html

https://www.gnu.org/licenses/quick-guide-gplv3.html

@ghul

Tivoization - GNU Project - Free Software Foundation

@goku12 @pkal

TiVo exposed a philosophical disagreement, not a GPLv2 violation 😜

GPLv3 added new obligations precisely because GPLv2 didn’t contain them 🤔

– History explains why GPLv3 exists.
– It won’t retroactively redefine GPLv2.

@ghul I didn't say TiVo violated GPLv2. I said TiVo violated the '4 essential freedoms' philosophy, *without violating* the GPLv2. Those freedoms are the design objectives of the GPL family. So this was an oversight failure of the GPLv2.

The following are legally true:
- Philosophies can't be enforced
- License amendments can't be retroactively enforced

But the claim that the GPLv2 authors *didn't intend to cover tivoization* is still demonstrably false.

@pkal

@goku12 @pkal

Fair point on philosophy vs. law —

agreed.

TiVo violated the spirit of the four freedoms without violating GPLv2:
GPLv3 closed that gap by design.

Where I still disagree is
calling this an “intent failure” of GPLv2 rather than an evolution of scope.

@goku12 @pkal

How I interpret the facts:

Tivoization means using GPL software while technically preventing users from running their own modified versions on the device.

---

GPLv2 allows this (code freedom, not hardware control).

GPLv3 forbids it (adds explicit installability requirements).

@ghul @goku12 What do you (or anyone else) mean by "intent failure"?

@pkal FSF literature explicitly states that their goal is to ensure that digital devices must do only and exactly what its owner wants it to do. The concrete requirements for software to achieve that goal are codified as the '4 essential freedoms'. GPL licenses are drafted to ensure that the code and its derivatives ensure those freedoms.

But GPLv2 doesn't ensure those freedoms in case of tivoization. I'm arguing that this is not an intended feature, rather a failure due to oversight.

@ghul

@ghul I have a feeling that we're arguing on mere technicalities rather than semantics. Nevertheless, here is the evidence for my argument: https://www.gnu.org/licenses/rms-why-gplv3.en.html

> Keeping a program under GPLv2 won't create problems. The reason to migrate is because of the existing problems that GPLv3 will address.

> Change is unlikely to cease once GPLv3 is released. If new threats to users' freedom develop, we will have to develop GPL version 4.

@pkal

Why Upgrade to GPLv3 - GNU Project - Free Software Foundation

@ghul So yes, the amendments are an expansion of the scope of the license. But that clearly isn't because they're fine with accepting the 'existing problems'/'new threats' (sic) in the current version of the license. It's only because they can't update a published version. They *include all expected problems in the unpublished draft version*.

So if they had foreseen tivoization before GPLv2 was published, they would have addressed it in v2 itself.

@pkal

@pkal @ghul there's a reason why #Linux is #GPLv2-only and not #GPLv3.

  • Mostly because GPLv3's terms are a non-starter for many things, as it's demands are just not compatible eith #patents and #copyrights that companies have to abide.

But yeah, the #SFC nowadays is quite of a net negative and it makes them and #copyleft look bad.

  • Don't even get @landley started on how "GPL enforcement" made #BusyBox look like litigatious dicks and contributed 0 lines of code back to the project.

Whilst we all would prefer #ReproduceableBuilds and fully-#OpenSource'd and #OpenHardware, beating it out of corporations in court won't be a winning strategy, and lobbying for legislation and espechally choosing repairable and open hardware will be more effective long-term…

@kkarhan @pkal @ghul Bradley's SFC only exists because it schismed off from Eben's SFLC when the original backed away from being obviously counterproductive. So far nobody can convince him to stop making it worse.

https://mstdn.jp/users/landley/statuses/112701616493747491

Rob Landley (@[email protected])

@[email protected] @[email protected] I gave six hours of deposition on camera at lawyers monday because https://mstdn.jp/@landley/112643870640083775 is fallout from fallout from fallout of a legal mess I started in 2006, which I could not stop once it was in motion. Where well meaning actions enabled self-serving actors years later. You know that bit in the three doctors were the second doctor says "That thing out there's become a killer! It's MY fault, and I'm SORRY." I want that clip in convenient format to link at people....

mstdn.jp
@landley @pkal @ghul yeah, it's teally sad and counterproductive, as @torvalds pointed out
Linus Torvalds (@[email protected])

GPLv2 affirmation…I don’t generally post here as people have probably noticed, but here’s a pdf of a recent court ruling, and this turns out to be the easiest way for me to link to a copy of it, si...

@kkarhan @pkal @ghul @landley

@kkarhan I agree that GPLv3 intentionally limits certain use and leads many corporates to avoid it for certain use cases. I will also agree that having #linux be GPLv2 is both a virtually unchangeable fact of history and probably more of a benefit than a detractor.
I clearly agree that purchasing power is something that can and should be wielded for the good of #repairable merchandise (that could be #openhardware, but also just a non-open hardware device that is however freely flashable due to the existence of mainline integration and sufficiently full source available to have acceptably complete functionality based on said released source)

However: Would you be so great to elaborate on why enforcing your rights ("beating it out of corporations in court") that are one of the central innovations and the literal backbone of open source (next to a few other things) against entities that are in many cases currently #freeloaders is losing strategy for #Opensource? Especially against entities that are effectively and only dealing in cold, hard risk management and will not act unless a sufficient risk/reward trade-off is presented to them.

@jti42 @pkal @ghul cuz I think that in the legal battle game #FLOSS vs. #Corporations that #OpenSource would be on the loosing end.

And since they all have stakes with partially diverging interests, this is a useful way to take their resources (personnel hours and money) for something good (instead of them wasting it on #Enshittification, #Cyberfascism and #Militarization)…

  • IOW: Would you rather want some developer from #nvidia work on #Linux or #Palantir's #Govware? Cuz shure as hell said developer ain't gonna stop developing for 6 figures per year either way.

Kinda like @landley pointed out that #Android - unlike #iOS - is gonna be "salvageable" (and due to #Google going *full 'asshole mode' that #fork is necessary sooner than anticipated)…

  • This is opportunistic af but that is kinda necessary until the world decides to ban capitalism, redistributes wealth and sentence billionaires to lifetime community service without parole.

#sarcasm #politricks

We’re All So F’d | NVIDIA x Palantir, Global Surveillance, "Pre-Crime" Arrests, & AI

YouTube

@kkarhan @jti42 @pkal @landley

I mostly agree
Linux licensing didn’t “win” alone -
but because it redirected corporate self-interest into a shared upstream:

Having engineers from NVIDIA, Google, or even hyperscalers working on the kernel is objectively better than the same talent being fully absorbed by closed, hostile stacks like Palantir.

That said, this is opportunism, not alignment.

It works only as long as:

- interests partially overlap
- upstream governance stays resilient
- forks remain possible
(even if costly)

Android being salvageable
while iOS isn’t
is exactly the point:
the fork is the pressure valve.

Once that becomes infeasible (technically or legally), the balance tips.

Yes, co-opting capital is pragmatic.

But mistaking that for ideological convergence would be a fatal error.

Linux survives not because corporations love freedom: because they can’t fully lock it down without breaking it.

And that tension is the whole game 😆