5 ms·
Is this actually correct? If I distribute my app on the App Store, and provide a GitHub link in the description of the the full source code of the app, then it
by nemothekid 9y ago
Is this actually correct? If I distribute my app on the App Store, and provide a GitHub link in the description of the the full source code of the app, then it should comply with the GPL.
- drew-y 9y agoThat's what I was thinking. Some home routers have source links for the free software they use.
- jacobush 9y agoBut I'd venture a guess that this source code is GPLv2 licensed, not GPLv3 licensed. They could make their firmware GPLv3 compliant, but it would be quite a bit of extra work.
- kevin_thibedeau 9y agoGPL compliance requires that you can reproduce a binary from the source with no additional encumbrances. That's not possible on Apple platforms. It's not enough to just provide the source.
- tomc1985 9y agoAre you referring to additional meta that Apple applies to apps in the app store or something else?
- inyorgroove 9y agoSo no signed binaries? The signature portion will obviously not be reproducible by anyone but the original signer. I believe that is all the App Store process does, sign with a key issued by Apple, but it might be more complex.
- slavik81 9y ago> I use public key cryptography to sign my code to assure its authenticity. Is it true that GPLv3 forces me to release my private signing keys?I use public key cryptography to sign my code to assure its authenticity. Is it true that GPLv3 forces me to release my private signing keys? > No. 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. If each instance of the device uses a different key, then you need only give each purchaser a key for that instance. https://www.gnu.org/licenses/gpl-faq.en.html#GiveUpKeys https://www.gnu.org/licenses/gpl-faq.en.html#GiveUpKeys
- jacobush 9y agoAnd in the case of a Mac, so far you don't need keys to install software you compiled yourself. On iOS there are additional encumbrances, like the need for a dev account, a separate computing device (a Mac) to compile for the iOS device, and so on.
- nothrabannosir 9y agoIt’s getting harder and harder for kexts. You can’t readily compile those from source and install them yourself without a developer license , anymore. You currently technically still can, I believe (restart in some safe mode and disable a protection mechanism of sorts, iirc), but the trend is not towards openness. Honestly I don’t doubt for a second they’re doing it purely for the sake of security, but that doesn’t really matter for the GPL as far as I’m aware ?
- dragonwriter 9y agoNo, because the provision you cite only applies for software distributed as part of a qualified device or in the same transaction where possessory interest in the device is transferred. That wouldn't apply to iOS Apps outside of the stock bundled apps, as App Store apps are transferred in separate transactions from the device.
- jacobush 9y agoI'd say that it's possible on a Mac, but not on an iOS device. You can't develop iOS apps on an iOS device, for starters. Just that is an additional encumbrance. Last time I checked, you also need some dev account with Apple to upload apps to your iOS device. (Remember, these rules are subject to interpretation, in court in the extreme case.)
- zbowling 9y agoIf you own all the copyrights to the source of the app you are linking on Github, then you can release it on the Appstore effectively under a different license for that version. If you don't own all the code, then are possibly violating someone else's license.
- chungy 9y agoShort answers: GPLv2, no; GPLv3, yes. Apple's App Store is identical to the TiVoization problem that GPLv3 was written to combat: https://www.gnu.org/licenses/rms-why-gplv3 https://www.gnu.org/licenses/rms-why-gplv3
- dragonwriter 9y agoTivoization provision of GPLv3 only applies to software distributed as with a hardware “ussr product” (in the same transaction in which possessory interest in the hardware is transferred), so while it would apply to core components of iOS (of they used GPLv3 upstream, which they won't), it wouldn't seem to apply to any third party software distributed through the App Store. (The same concerns that motivated anti-tivoization may apply, but the actual license terms don't appear to.) This is not to say that there aren't other incompatibilities, but anti-tivoization doesn't seem to be a problem.
- chungy 9y agoThere is no difference. Apple provides binaries (via the App Store), and the user is not allowed to install/run their own binaries, which is a requirement the GPLv3 added to prevent TiVoization. It matters not whether the software is preinstalled or offered on the side, the effect is the same. If the user can't install their own versions of software, the environment is incompatible with the GPLv3. Now, running GPLv3 software via Cydia/jailbroken-iPhones is probably OK, since the user has gone through the effort in order to run their own versions of software. I'm pretty sure the FSF would prefer running a free software version of Android instead, however. :-)
- deleted 9y ago[deleted]
- jcelerier 9y ago> There is no difference. Apple provides binaries (via the App Store), and the user is not allowed to install/run their own binaries, which is a requirement the GPLv3 added to prevent TiVoization. This has not been true for a few years. Nowadays anyone can freely upload apps from Xcode to iDevices (before it used to cost 99$)
- rmc 9y agoThe Free Software Foundation has some details on this[1]. This used to come up with the video player VLC, but they seem to have relicenced it, and it's now possible.[2] I've heard one reason is that the App Store requires users to agree to additional usage restrictions, which the GPL forbids distributors (in this case Apple) from applying. [1] https://www.fsf.org/blogs/licensing/more-about-the-app-store-gpl-enforcement https://www.fsf.org/blogs/licensing/more-about-the-app-store... [2] https://www.videolan.org/vlc/download-ios.html https://www.videolan.org/vlc/download-ios.html
- abritinthebay 9y agoIt's correct that GPLv3 forbids it (I think v2 doesn't) which isn't a problem with the App Store - it's a problem with the (opinionated) GPLv3. Plenty of other OSS licenses work fine on the app store.
- pornel 9y agoIt's irrelevant what you do to comply. To distribute in the App Store, Apple requires you to sign an agreement in which you license the code to Apple under Apple's non-FOSS terms. If you don't have the right to license the code under Apple's terms, Apple won't take it. Apple doesn't comply with GPL and they don't want to. On a few occasions I have formally asked them to comply with GPL terms and they took GPLed apps down instead.