|
Well, GPLv3's installation instructions requirement more or less is targeted squarely at consumer electronics companies and that includes Apple. If Apple were to include GPLv3 software in iOS, the only way to comply with the license would be to significantly alter their security model to include an owner override. While there are ways that Apple could still use GPLv3 software, not change their security model, and remain in compliance[0]; I imagine they decided it would be easier to just ban new GPL software in their OS entirely rather than deal with the compliance headaches. Apple in particular never shipped any GPLv3 software in their OS and stopped updating even v2 software. They used to be very heavy GCC users, but wrote their own permissively-licensed compiler that outdoes it in almost every way. In their defense, they actually wanted LLVM to be an upstream FSF project; but RMS famously lost the e-mail because he daily-drives barely functional ancient laptops. In a sense, that too is enterprise-hostility; albeit not owing to choice of license. I imagine that if the FSF had agreed to refactor GCC the way Apple wanted, Apple would have gone through the time and effort of GPLv3 compliance. I'd also argue that GPLv3 didn't actually fix the TiVo loophole. It can't - not unless we're going to pull an SSPL and start writing copylefts that trip on software that merely runs alongside Linux. The way TiVo got around the GPLv2 installation instructions requirement was to make their own proprietary app enforce the kernel lockout rather than the bootloader, and prohibiting that would be very draconian. That being said, you also should take into account the historical context of GPLv3's announcement and development. The FSF had some pretty crazy ideas, like rolling the Affero clause into GPLv3, that probably scared people into dropping their upgrade clauses even if it never actually made it into an actual FSF license document. The end document we actually got is relatively tame, but the message the FSF sent was that they were willing to ship whatever license language they felt met their personal definition of software freedom. If you didn't like any new restrictions they added to your own code, tough. [0] Stuff that runs in a sandbox container and doesn't use private entitlements probably isn't violating GPLv3, because Apple hands out free dev accounts that let you compile and run whatever, albeit with some annoying requirements to renew the app's signature every week. |
Damn imagine the horror.