26

This question is specifically about GPLv3, LGPLv3, and Apple's App Store for iOS devices. Given

  1. the additional restrictions Apple imposes on iOS users (i.e. not allowing them to modify and run GPLv3 software or LGPLv3-licensed portions of software without additional conditions or at all), and/or
  2. the terms of service Apple users must agree to in order to receive software from the App Store,

Is it legal for Apple to redistribute GPLv3 or LGPLv3 software in the iOS App Store?

The only material I've managed to find about the GPL and Apple is from the early 10s when Apple pulled several GPL-licensed projects from its App Store [2] [3]. However, that incident involved the GPLv2 and Apples old TOS [4] which apple has since changed [5]. Furthermore, that incident mainly drew focus to Apples's App Store TOS, without sufficient consideration being given to the fact that Apple is acting as both the distributor and the entity imposing additional restrictions on device users.

As of this writing, the FSF's FAQ doesn't seem to include anything that can help answer this question.

  1. Removed my reference to GPL's Installation Instructions requirement since it's limited to object code sold with a device.
  2. https://www.fsf.org/news/2010-05-app-store-compliance
  3. https://www.fsf.org/blogs/licensing/more-about-the-app-store-gpl-enforcement
  4. https://static.fsf.org/nosvn/mirrored/apple.com/legal/itunes/us/terms.html
  5. https://www.apple.com/legal/internet-services/itunes/us/terms.html
11
  • Is there a specific GPLv3 app that you have in mind? As I recall Apple tried to distribute only GPLv2 components in their Mac OS X system due to licensing restrictions; not sure about things that they put in the app store though.
    – Brandin
    Commented Mar 25, 2020 at 12:58
  • @Brandin No, I don't unfortunately. I'm asking this question from the perspective of a developer whose LGPLv3-licensed library is used in an iOS App made by a third party. Commented Mar 25, 2020 at 13:19
  • Even if it is allowed by the (L)GPL(3), remember that Apple can set whatever rules it wants for its app store. They can remove your app for any arbitrary reason or no reason.
    – Brandin
    Commented Mar 25, 2020 at 15:06
  • Apple can indeed set whatever rules it wants, but they can't infringe on the rights of (L)GPL software authors by redistributing their software without complying with the terms of the license. This question aims to clarify a few issues regarding Apple's legal standing as a licensee of (L)GPL software. Commented Mar 25, 2020 at 15:48
  • 2
    Are there any additional terms that an App Developer must agree to when they want to upload their app to the store? Commented Mar 30, 2020 at 11:02

3 Answers 3

15
+50

I have no intention of trying to argue with rms about this (or any other GPL-related) issue. But I think there's an interesting difference between GPLv2 and GPLv3 that gives rise to a new line of approach to the issue.

The previous issue with Apple was, as the OP notes, GPLv2-specific. GPLv2's handling of additional obligations being placed on distribution is to shut down the right to redistribute, in s7:

If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all.

Which led to the suggestion that Apple had no right to distribute GPLv2 software, and the discussions that arose and are documented in the question, supra. GPLv3 takes a more interesting line, in s7:

If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term.

When GPLv3 software is uploaded to the Apple store, that conveyance is covered by GPLv3. Apple's standard restrictions are placed on it afterwards; thus the recipient, by GPLv3 s7, may simply ignore them. An exception may arise when the software is uploaded to Apple by a rightsholder; then an argument can be made that the rightsholder, knowing that Apple will place these conditions on redistribution, has consented to them. But as long as the upload is done by someone who isn't the rightsholder, and who has no power to consent to additional terms, then the GPL, coming first, takes precedence.

If Apple chooses to redistribute software conveyed to them under the terms of GPLv3 (and I firmly believe that Apple is doing the distribution here, and that arguments of "mere conduit" protection do not apply) then they have consented to the GPL, and their terms, to the extent that they are incompatible with GPLv3, are thus invalidated by GPLv3 s7.

6
  • With Apple being a licensee of the GPLv3, do you have any opinion on Apple's compliance with respect to the last part of section 3? Commented Mar 30, 2020 at 4:57
  • In any case, I share your opinion on both Apple's relationship with respect to the license and the consequences such a relationship necessarily entails. One interesting corollary of Apple becoming a licensee is that they surrender their legal right to prevent iOS users from circumventing technological measures (i.e. DRM) to exercise their rights under section 3 of the gpl. I believe this effectively gives developers legal grounds to jailbreak any iOS device that runs GPLv3 software. This goes far, far beyond what was allowed by the exemptions made by the Copyright Office for iPhones in 2010 Commented Mar 30, 2020 at 5:02
  • @TendersMcChiken that is an interesting line of argument, but I think separate from this question. You could ask it as one, perhaps?
    – MadHatter
    Commented Mar 30, 2020 at 6:06
  • @TendersMcChiken That is more of a legal question, and it sounds quite dubious. If it were true then I could make up any kind of license with any kind of agreement terms I choose, and then upload software containing that license to the Apple app store, and then when they accept my app I could claim that they are now obligated to adhere to 'our' agreement in my software license. I don't know but I'm pretty sure contracts don't work that way. And besides, this issue is not unique to Apple or the app store at all in any case.
    – Brandin
    Commented Mar 30, 2020 at 8:02
  • 1
    Please don't argue that supplementary question in this comments field! I have suggested the OP ask it as a question in its own right. If (s)he does, we can answer there it in full; if (s)he doesn't, then this is not the place to try to elevate it to being one.
    – MadHatter
    Commented Mar 30, 2020 at 8:21
15

I emailed Mr. Richard Stallman, the primary author of the GPL, for his opinion on this issue. I received the following reply:

I studied this question for a while. It is clear that that matter of distribution violates GPLv3 overall. However, I couldn't be sure what courts might say. To work out the answer would require a very capable lawyer.

0

Non-Apple software will appear on the AppStore if someone submits it, that requires they have to state that they have the right to submit it, then Apple does some checks and it appears on the store.

Now an unusual aspect of the GPL license is that copyright holders and those wanting to distribute the software need not be the same persons. And Apple will not distribute software if a copyright holder disagrees with it. So if for some reason my GPL licensed software contains code where Mr Stallman is the copyright holder, then all he needs to do is tell Apple that he doesn't want the software on the store and they will remove it, and the problem is gone. If I want it on the store, Apple won't do it until I manage to make Mr. Stallman agree with it. Whether I have the right to do it without his permission is irrelevant because Apple will not allow it on the store.

When you submit software, you tell Apple whether you want your own license or Apple's license. If you don't tell Apple that the software must be GPL licensed, then things will legally go wrong obviously. If you tell them that you want it published under the GPL license, then it will be dual licensed. Customers / end users will have all the rights coming from the GPL license. They may also have some more rights from Apple's license.

2
  • 1
    Problems also arise when you cannot dual-license, because you used 3rd-party code under the GPL license. The way Apple will get into compliance with the GPL is by de-listing the app. Commented May 4 at 7:48
  • 1
    In fairness to Apple, that is the right thing for them to do; it's well-established that if you're distributing GPL software, and aren't willing to honour the licence terms, then ceasing distribution is pretty much step one. The problem for the end-user is that there's no other way to get software on an Apple phone (iirc). But that's really a problem of people choosing to buy a closed device in the first place. You can't buy a device that has a single unconstrained gatekeeper, then expect to complain when said gatekeeper won't do what you want.
    – MadHatter
    Commented May 7 at 7:50

Not the answer you're looking for? Browse other questions tagged or ask your own question.