Does Apple have any objection to having apps built from GPL-licensed source? I thought it’s the GPL license that has objections against running on iOS because of the restrictions of the platform (people who licensed your app cannot deploy it). Also, GPLv3 is stricter in that than GPLv2.
IIRC, it's not Apple who forbids GPL-licensed apps, but GPL that forbids distributing apps under Apple's rules.
edit: Apparently, I was less than clear. The GPL has always forbidden distributing GPL'ed apps under Apple's (and not only Apple's) rules, since well before their app store existed.
IANAL and I have no involvement in the Apple ecosystem, so take with a grain of salt:
My understanding is that GPLv3 requires that anyone who gets a binary can also get the source to it, and can then build and run that source on the same device. Even if Apple now allows distribution of software that demands to also share its source code, it's my understanding that you can't build that code and run the result on your iPhone without either rebuilding/reinstalling every 7 days or paying Apple. That certainly seems to be against the intention of the license, although I admit it may technically squeak by the exact requirements.
Not a lawyer, but I assume because the GPL v3 requires that other people be able to modify the program and redistribute their modified versions. Since Apple are the sole gatekeepers of anyone’s ability to distribute iOS apps to users, complying with the license is problematic.
My understanding was that the GPL and Apple's app store terms were fundamentally incompatible, but I suppose that might only be true of iOS (because of the development tool issues and such).
GPLv3 is incompatible with with the App Store's terms. I like to think that LGPL is technically compatible, but it's certainly a gray area. Note that iOS allows for dynamic linking libraries these days, though code must still be signed before it can be executed.
GPLv3 give you full permission to put apps in the app Store, so long you hack the App Store upload system so apple do not add their own code and license to the app. For example, you could bundle a GPLv3 app with a shim that allow users to install and run any program of their choice. The license would be perfectly fine with this, but apple would block it with the full force of their legal team.
Apple doesn't allow GPLv3 code if there are multiple contributors? I thought they didn't allow GPLv3 code at all (and that this app required you to compile and install it as as a developer .. never had an eyeProduct so I'm not even sure what the dev process is like).
It's not as though Apple is rejecting GPL'd apps. Quite the opposite, the terms of the GPL are what prevent apps licensed under it from being included in the App Store.
This is 100% not true. GPL v1 and v2 are fine and v3 has some questions that most people avoid by sticking to v2 of the license. There are, however, GPL v3 licensed apps in the Apple App Store which you can find if you only looked.
From what I understand, it’s only GPL that doesn’t work since GPL has some hefty restrictions on even binary redistribution (basically you have to open source ALL of the related bits, not just yours — which you can’t do since every iOS app Apple-provided pieces that aren’t available in source).
Thanks for clearing that up. Indeed the GPL forbids further restrictions on the rights it provides. Which makes it incompatible with app store distribution.
I though I saw something in the App Store rules as well. I double checked and they mention the GPL and basically say that you should respect FLOSS licenses such as the GPL and avoid those licenses that would have an effect on Apple's code.
reply