Linux's GPLv2 licence is routinely violated (2015)
Several of the points in this article are either flat-out wrong, or are correct but being read in the wrong context.<p>&gt; The licence is specifically GPLv2 and not “GPLv2 or later”, which is the default when applying the GPLv2 to software.<p>Because Linus didn&#x27;t and doesn&#x27;t want the FSF relicensing Linux with new restrictions to fit their specific political goals[0], on the basis that adding any further restrictions to GPL violates the spirit of the GPL. He&#x27;s not opposed to using v3 software, he just doesn&#x27;t like upgrade clauses on Linux.<p>&gt; Linus Torvalds seems to speak as though he has the power to interpret the GPL. He does not; nor does the FSF.<p>Linus is a <i>copyright holder</i>. So is the FSF. While a judge would ultimately be interpreting the GPL in an enforcement case, the words of the copyright holder have significant weight when interpreting a license. So, if you write LKMs that infringe the GPL, the court will listen to Linus to determine where the boundary is. Likewise if you wrote infringing GPL plugins the court would listen to the FSF.<p>&gt; Supposedly, the requirements of the GPLv2 do not apply to the userspace ABI.<p>Yes, because Linus said so. This isn&#x27;t even an implied license thing; Linux has always had an explicit exception for the ABI.<p>It is actually an open question whether or not bundling an application with some GPL host program trips the GPL copyleft. The word &quot;program&quot; in the GPL is strategically vague here; it does not correspond to an address space. Two or more processes with IPC could be considered to be one program[1].<p>Related note: emulator developers writing GPLv2 or v3 emulators should seriously consider clarifying that bundling a game with an emulator doesn&#x27;t make the game itself part of the same program as the emulator.<p>&gt; Conversely, the Linux kernel project claims that the GPLv2 conditions do apply to the kernel-mode ABI.<p>No, quite the opposite. The Linux kernel project has claimed that kernel-mode symbols <i>equivalent to the userspace ABI</i> do not trip the GPL copyleft. That&#x27;s why they have the GPL_ONLY DRM[2]; it&#x27;s to distinguish between &quot;running two programs in the same address space&quot; and &quot;merging a module into the same GPL program&quot;.<p>&gt; If modules are derived works, then every non-GPL non-cleanroomed module is violating the GPLv2. This creates a ticking time bomb for companies which rely on this ability, because they could get sued by any contributor at any time.<p>&gt; If modules are not derived works, the “GPL_ONLY” provision is meaningless and unenforceable.<p>Well, first off... clean room is not a legal requirement, it&#x27;s a defense against the access prong of substantial similarity in an infringement lawsuit. This would apply if you were writing your own kernel that can run Linux programs[3] - you would need to defend against claims that you just copied Linux instead of writing a workalike.<p>Loadable kernel modules are not workalikes; they are additional programs that can modify how the Linux kernel works. To the extent that a loadable module modifies the original program or incorporates it into itself, it can be considered to be a derivative work. But since the userspace ABI has been explicitly opted out of the GPL copyleft, those modules can still use it. GPL_ONLY exists purely to technically enforce what Linus believes the license on Linux is.<p>&gt;It is rather ironic that in some ways, one has more freedom in how one licences a kernel driver for Windows than the freedom one supposedly has in writing a kernel module for Linux. (...) Under such a model of copyright, the IBM PC could never have been reverse engineered and cloned, and the computer on which I am typing this would not exist.<p>Oh boy.<p>You&#x27;re allowed to write kernel drivers for Windows because Microsoft explicitly said that you could. Linus does the same thing with GPL_ONLY. I&#x27;m pretty sure the NT kernel has it&#x27;s own internal symbols you&#x27;re not allowed to link with, and Microsoft could allege in court that doing so creates an infringing derivative work. The confusion doesn&#x27;t come from the GPL, it comes from copyright law.<p>This, again, has nothing to do with cloning; Compaq didn&#x27;t need to ship code that links with the IBM PC BIOS. They needed to ship code that replaced it entirely. There is a difference between replacing a program and linking with it.<p>The article also alleges that a single Linux contributor could pull an SCO and sue every company that&#x27;s ever written non-GPL kernel code. I don&#x27;t think that would actually work, because the userspace ABI exception that spawns all this is part of the license that the contributor implicitly agreed to when they modified Linux and sent that code upstream. Furthermore, every contributor is downstream of precisely one copyright holder: Linus Torvalds.<p>If you don&#x27;t have a license from Linus to modify Linux, then <i>you own nothing</i> and <i>cannot sue</i>. So you&#x27;re arguing that Linus gave you permission to modify and sublicense under specific rules he selected, but that he&#x27;s not allowed to interpret those rules at all because you made a small part of Linux? That&#x27;s probably not going to fly in court.<p>[0] <a href="https:&#x2F;&#x2F;lkml.org&#x2F;lkml&#x2F;2006&#x2F;9&#x2F;25&#x2F;161" rel="nofollow">https:&#x2F;&#x2F;lkml.org&#x2F;lkml&#x2F;2006&#x2F;9&#x2F;25&#x2F;161</a><p>Also, related note: at one point the FSF was seriously mulling rolling AGPL into GPLv3, which is insane.<p>[1] Most browsers are structured as IPC process networks nowadays, and contain loads of permissively licensed, LGPL, and proprietary code all mixed together. If GPL &quot;programs&quot; were just address spaces, then they could spawn GPL code in a subprocess to evade the copyleft.<p>[2] Digital Rights Management, not Direct Rendering Manager.<p>[3] Examples of such programs would include iSH and Windows Subsystem for Linux (version 1; v2 actually runs the Linux kernel).