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
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