4 ms·
It actually is correct, I think. If you're selling hardware that ships with any GPLv3 software of any kind, the license requires that you don't restrict users f
by nrclark 7y ago
It actually is correct, I think. If you're selling hardware that ships with any GPLv3 software of any kind, the license requires that you don't restrict users from installing their own OS if they want. This was intended as a workaround for so-called "tivoizaion", where TiVo boxes were open source but would only boot signed firmware (and the keys were confidential).
Apple didn't want this, so they blacklisted all GPLv3 software. So did most companies that ship embedded Linux products like smart TVs.
- panpanna 7y agoNo, I don't think completely different software "infect" each other this way. Consider this: Canonical ships Ubuntu which is based on the GPLv3 licensed Linux kernel. Yet their distribution contains all kind of software including gplv2, Apache, BSD and even proprietary. Some are from canonical themselves, and they are in no ways "infected" by the gplv3 license. Also, tivo-ization was about TiVo publishing a Linux code that could not be used by anyone since the hardware would reject it (due to missing signing keys). These days these issues are solved by having keys and such in the bootloader which is BSD licensed (see for example Android).
- nrclark 7y agoThe Tivoization clause applies to hardware vendors, with hardware covered by GPLv3's definition of a "User Product". Ubuntu itself isn't a valid comparison, because it's not a physical product. And computers that ship with Ubuntu don't violate GPLv3, because you can install anything you want on them without restriction. The license incompatibility isn't intrinsic to MacOS, it's intrinsic to Apple's computers. Which ship with MacOS. If MacOS included GPLv3 software, Apple wouldn't be able to pre-install it unless they provided all users with signing keys to install their own modified versions of the GPLv3 software on-target. Check out the GPLv3's "User Product" and "Installation Information" sections for more details - they're written in plain English, and are pretty clear. Basically - if you want to sell hardware that comes with any GPLv3 software installed, then you need to empower your customers to replace or modify that software on their devices. Not the entire OS, mind. Just the pieces that are GPLv3. But that requirement prevents a hardware vendor from doing something like saying "I'll only boot a signed/verified root filesystem" or "The rootfs (or even just /usr) is read-only to everything except for signed OS updates". So it's not that shipping GPLv3 Make/Coreutils would infect MacOS and require Apple to release the MacOS source. Instead, it's that shipping GPLv3 Make/Coreutils would prevent Apple from locking down their computers and code-signing MacOS (unless they provided the OS-level signing keys on request).
- anoncake 7y ago> But that requirement prevents a hardware vendor from doing something like saying "I'll only boot a signed/verified root filesystem" or "The rootfs is read-only to everything except signed OS updates". Only if you don't allow the user to decide which signing keys to trust. So GPLv3 doesn't prevent you from improving security, only from bossing around your users.
- nrclark 7y agoGood point!
- panpanna 7y agoThere are other companies selling Linux systems + hardware. Google, System 67, Asus, Dell, HP, Samsung, ... Note also that you can't install custom software on a Samsung smartwatch, but you can install Windows on a Mac.
- nrclark 7y agoSystem76, Asus, etc. don't run afoul of GPLv3 because they don't restrict what you can install. Most Android devices also don't violate any GPLv3 licenses, because they don't include any GPLv3 software. GPLv2 software like the kernel doesn't have this same restriction. Apple decided to take the approach of "don't include GPLv3 software" so that they wouldn't have to worry about it once they fully lock down their computers. If Apple included a modern Bash with MacOS, they would need to give all owners access to any compilers or signing keys necessary to modify Bash and replace the binary that Apple shipped. Today, it's possible to do that. Tomorrow, it might not be.
- geofft 7y agoThis isn't about software infecting each other, this is about a hardware vendor distributing software with the hardware. Here's the relevant text of the clause: > A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. ... If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. Ubuntu is neither tangible personal property normally used for personal/family/household purposes, nor something designed or sold for incorporation into a dwelling. A Macbook is tangible physical property normally used for personal/family/household purposes.