4 ms·
It always seemed to me that problem with GPLv2 wasn't any shortcoming in the license, as such, but in certain legal opinions that labeled things "compliant" whi
by dTal 6y ago
It always seemed to me that problem with GPLv2 wasn't any shortcoming in the license, as such, but in certain legal opinions that labeled things "compliant" which were clearly against the spirit. TiVo-ization is a violation because GPL software and proprietary software are combined to form a single piece of software, distributed as a single binary firmware image; the fact that there's some notional internal interface between the GPL and non-GPL code within, if you manage to crack the firmware that is, should be legally irrelevant. But engineers are wont to be distracted by concerns such as "kernel space" and "user space", and "dynamically linked" vs "compiled in". Absolutely none of this matters, if I'm getting a big-ass opaque blob with a mixture of GPL and proprietary code in it. The same goes for the average Android handset, for that matter.
I think the battle was lost by not pushing the advantage hard enough.
- Wowfunhappy 6y agoI don't think I agree with that. I want to be able to run GPL programs on Windows, for example.
- wizzwizz4 6y agoThere's nothing stopping you. What would be stopping you is if Windows included DRM that stopped you running all GPL programs apart from Microsoft Official Builds™.
- Wowfunhappy 6y agoWell, I wasn't clear that it would still be allowed under the interpretation the GP was advocating for. Perhaps they need to flesh out their position. I'm largely thinking about the current situation with ZFS on Linux. IMO, this benefits no one, and so I'd generally like to see less draconian interpretations of what code is allowed to link together—but more licenses which protect other user freedoms, like the ability to run your own code.
- bronson 6y agoThis is why Apple is so scared of GPL3 on iPhones/iPads.
- dTal 6y agoThat would be fine. The software is distributed to you separately, and so any "derived work" resulting from installing your GPL software on Windows is owned by you anyway. What would arguably not be fine, under my interpretation, would be if Windows would not function without a GPL component, that's built-in to the OS and distributed on the install disks and updated through Windows Update. Even if it's a self-contained binary, and you can navigate to it in the filesystem. The standard is - would a reasonable person view the combination of GPL and non-GPL code as a single piece of software?
- int_19h 6y agoThe more interesting case is when the software automatically downloads said binary. The even more interesting case is when there is more than one option for that binary, all with the same interface (but possibly different features), and only some of them are GPL. This was famously the hypothetical presented by the author of CLisp (which had a dynamic dependency on GNU Readline) to Stallman.
- Wowfunhappy 6y ago> would a reasonable person view the combination of GPL and non-GPL code as a single piece of software? I think reasonable people would disagree with each other. macOS used to come with iTunes preinstalled, but you could remove it by turning off SIP and running `sudo rm -rf /Applications/iTunes.app` in the Terminal. I always did so, because iTunes sucks, and the rest of the OS always continued to work fine. Is iTunes a part of macOS, or is iTunes a separate piece of software? Would it matter if you could remove iTunes through Finder, or without turning off SIP? Would it matter if iTunes wasn't included with macOS, but was automatically downloaded and installed a day later? Would it matter if iTunes was created by a third party, or if macOS couldn't output any audio without it? What about Google Play Services? DirectX? ZFS? I could certainly make a case for how I think each of these should be classified, but I don't think it's at all obvious.
- dTal 6y agoYes, the boundaries are fuzzy; that's typical in law. The "reasonable person" language is not my invention, and it's assumed that somewhere along the line someone is going to have to fight in court over the particulars of ambiguous cases. The ambiguity is a strength - it forces compliance with the spirit of the wording, instead of risking litigation by trying to find a technical loophole. Software engineers consistently underestimate the degree to which law is not like coding.
- JoshTriplett 6y agoGPLv2 and GPLv3 both have an exception for proprietary "system libraries", which is designed to allow you to ship GPLed software that runs on proprietary systems. (You still have to meet the terms of the GPL in other regards, but you can ignore the system libraries.) GPLv2 was stricter in that regard, in that the entity shipping the system libraries couldn't be the one shipping the GPLed software; GPLv3 drops that and allows anyone to ship GPLv3ed software for a proprietary platform, as long as you still meet the other requirements of the GPLv3.