4 ms·
Could it be they avoid GPL3 just because they don't want to release their Apple Inc code signing keys?
by 0x0 10y ago
Could it be they avoid GPL3 just because they don't want to release their Apple Inc code signing keys?
- teddyh 10y agoApple would not have to release their keys. They would have to make it possible for users to run their own modified versions of software. This can obviously be accomplished in many ways.
- Someone 10y agoBut if they shipped GPL3 software with the OS, they would like to code-sign the binaries. I doubt you will find a competent lawyer willing to state that releasing the source code for those tools without disclosing the signing key is 100% guaranteed compatible with the GPLv3. As a semi-workaround, they could use a separate signing key for GPLv3-licensed code they ship or even separate keys for each tool, but again, I don't think you will find a lawyer who is willing to claim it would be legal to retract the signing keys when people start signing malware with it.
- deleted 10y ago[deleted]
- teddyh 10y agoI doubt you would find a competent lawyer making any claim which has the word “guaranteed” in it. This still leaves it completely obvious that anyone could, for instance, ask the FSF what they would consider reasonable, and do that, and thereby avoid any reasonable risk of getting sued. The FSF has never been against code-signing.
- 0x0 10y agoBut the FSF GPL faq says they would have to release the keys: "The only time you would be required to release signing keys is if you conveyed GPLed software inside a User Product, and its hardware checked the software for a valid cryptographic signature before it would function. In that specific case, you would be required to provide anyone who owned the device, on demand, with the key to sign and install modified software on the device so that it will run." https://www.gnu.org/licenses/gpl-faq.en.html#GiveUpKeys https://www.gnu.org/licenses/gpl-faq.en.html#GiveUpKeys Sounds exactly like how iOS code signing works...?
- detaro 10y agoIt also says: If each instance of the device uses a different key, then you need only give each purchaser a key for that instance. Allowing each device to generate a second, local signing key and allowing the user to export it for signing modified components likely would fulfill this requirement. Most Apple devices probably already have some crypto module that could generate and manage such a key.
- 0x0 10y agoIt's pretty clear that a second, local signing key is absolutely not something Apple wants in its iOS ecosystem, because that would open up sideloading of apps bypassing the app store.
- detaro 10y agoTrue, they'd need a way to limit it to the GPL components for iOS devices, which makes it a lot more complex and ugly to implement. (I had mostly been thinking about macbooks, where the feature might be an easier sell)
- Someone 10y agoI don't see how one would limit it in any way. If they ship a binary and give you its signing key, you can change it into any binary you want and resign it, and the OS will have to accept it (if it doesn't, they aren't complying with the GPL because, apparently, they didn't give you the full effective signing key)
- detaro 10y agoYes, but they would want to have that key to be limited to only allow replacing of GPLv3 binaries. Just because I can demand a key to replace GPLv3 components doesn't mean I can demand a key to replace other software components, so the verification system has to be able to use different keys for different parts of the system. (If that is wrong, and I can demand a key for everything, then that is the obvious answer why we'll never see GPLv3 on there. Or even if it is unclear what the actual situation is)
- Someone 10y agoThat could be an argument now, but this started way before they added code signing. More likely they avoid GPL3 because they aren't 200% convinced they can safely put it in the same package as their closed source software. (They need 200% conviction because having to open source their closed source software or even significant parts of it would have an enormous impact on their market value)
- 0x0 10y agoCode signing and gatekeeper on the Mac is fairly recent, but iOS has had it since the beginning. Maybe they were planning for this end-game all along since they started iPhone development, likely around 2005 or so (at least a couple of years before the 2007 launch)? I could totally see them assuming they would need to embed bash in iOS and not wanting to use GPLv3, and the rest of the os variants follow.
- huxley 10y agoWhy is Linux still licensed as GPLv2? There can be many valid reasons to not want to move to GPLv3 beyond hating software freedom.
- deleted 10y ago[deleted]
- rincebrain 10y agoLinux is under GPLv2 explicitly, not the "GPLv2 or later" that a number of projects adopt. Linux also doesn't require copyright assignment, so there's no one entity that could change the license - it would be an enormous PITA, and a number of people would refuse for various reasons (people doing work for companies that chafe under the TiVo clauses or the patent clauses...) Plus, Linus himself likely wouldn't relicense his contributions, so that's a nonstarter. [1] [1] - http://lkml.iu.edu/hypermail/linux/kernel/0601.3/0559.html http://lkml.iu.edu/hypermail/linux/kernel/0601.3/0559.html