5

I'd really like to use the GPL license for my cross-platform mobile app. I want to publish on the iOS AppStore, the terms of which indirectly prohibit the GPL from being used.

What's the best way to work around this?

I don't want to use a more permissive license. I'm thinking the only other way is to have a CLA and dual-license the app under both the GPL and a proprietary license, specifying that the proprietary license can only be used for the purpose of publishing on the AppStore. Ideally, though, I'd like others to be able to reuse the code and publish on the AppStore as well (again, under a GPL license with an iOS exception).

3
  • Are the problematic AppStore terms still active? I've seen many GPL iOS apps in the meanwhile. A GPL license exception would be fine, as long as you don't have contributions or GPL dependencies.
    – amon
    Commented Aug 18, 2019 at 10:42
  • @amon Unfortunately, they still are. I do plan on taking contributions — that's why I'm thinking a CLA might work best.
    – Tin Man
    Commented Aug 18, 2019 at 16:48
  • @amon How would you write a license exception? How should I formulate it in the CLA?
    – Tin Man
    Commented Aug 18, 2019 at 16:52

1 Answer 1

6

If you are depending on GPL code from others, you are essentially out of luck. Unless you can get a different license for the code, you can't publish your project to the app store.

If you are the sole copyright holder, then you can simply use multiple licenses for your code. The GPL in the public repository and another license for the version published in the app store.

If you want to accept contributions from others that can also be used on the app store, then the best option is to add an "additional permission" to the GPL license as allowed under section 7. For example, you could add a permission like this

As additional permission under section 7, you are allowed to distribute the software through an app store, even if that store has restrictive terms and conditions that are incompatible with the GPL, provided that the source is also available under the GPL with or without this permission through a channel without those restrictive terms and conditions.

5
  • Thanks a ton — my case is the third option! Do I add this to the GPL license file (COPYING) itself, or to a LICENSE file stating "Code is licensed under the GNU GPL v3 or any later version unless stated otherwise. See COPYING for its content. As an additional permission ..."?
    – Tin Man
    Commented Aug 19, 2019 at 7:02
  • Also, can I use your text verbatim? (I couldn't word it better myself.)
    – Tin Man
    Commented Aug 19, 2019 at 7:03
  • 1
    @gunman, you can use the text verbatim and you don't have to attribute it. I would add this text to the COPYING file, and refer to the license as "GPL with app-store exception" where you would normally just refer to the GPL. Commented Aug 19, 2019 at 7:44
  • "provided that the source is also available under the GPL with or without this permission through a channel without those restrictive terms and conditions" -> That's the problem in a nutshell: Apple's Terms of Service impose restrictive limits on use and distribution for any software distributed through the App Store, and the GPL doesn't allow that.
    – Nato Boram
    Commented Mar 7 at 20:18
  • 1
    @NatoBoram The important part of the exception is the "also available" — as in, if the app under the GPL with this app store exception is released on the AppStore, it would have to have its source code made available through another channel — e.g. on Gitlab. That said, this would only apply to GPL projects with this particular exception, not to GPL projects in general.
    – Tin Man
    Commented Apr 19 at 13:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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