I am about to start developing an iOS app which will be published on Apple App Store.

While developing this app, I am thinking to push all the code to GitHub public repository; pull requests from open-source contributors will or will not be taken.
Even if it's going to be public then still I want to keep all the copyrights of that code to be with me.

Is it doable/allowed?
If yes, which license should I use for code on GitHub?

Note: I am aware that GPL's v3 is not compatible with App Store.

  • What do you mean exactly by this "Even if it's going to be public then still I want to keep all the copyrights of that code to be with me"? – Zimm i48 Jun 26 '17 at 13:35
  • Even if I am going to publish my code on GitHub public repo and anyone can use it for their use, I should be able to claim my ownership over that code. – D4ttatraya Jun 26 '17 at 15:42
  • Still not clear. What kind of thing are you trying to prevent? – Zimm i48 Jun 26 '17 at 16:34
  • 1
    Not preventing anything, just for showcasing this repo in my profile. But I think I don't have to worry abt my ownership while mentioning this repo in my profile. – D4ttatraya Jun 27 '17 at 15:07
  • If you don’t need contribution from others (enough for showcase), just don’t pick a license. – Franklin Yu Jan 15 '19 at 2:45

The MIT license is a default choice for many projects, and it allows you to retain copyright. In fact, most open source licenses do. Only public domain licenses such as CC0 or Unlicense release your copyright.

GitHub has created a website to help people choose a license. You might find it helpful.

  • 1
    +1, but if pull requests from other contributors are accepted, then those contributors also maintain the copyright to their changes – the result being an app with shared copyright. To prevent this, the contributors would have to sign an appropriate contributor license agreement or a copyright transfer agreement. – amon Jun 25 '17 at 9:08
  • @amon which one you are talking about? MIT or GPL? Or in both cases? – D4ttatraya Jun 25 '17 at 11:28
  • 1
    @DashAndRest All licenses. By default, everyone keeps their own copyright. If a contributor gives you some modifications under a license, you are also bound by that license. A CLA (contributor license agreement) means that contributors give you a more flexible license than to the public. This is needed for “dual-licensed” software. A copyright transfer agreement is like a CLA but would literally assign the complete copyright to you, but this requires more paperwork. If you want to keep complete copyright without a CLA, then you can't accept any pull requests. – amon Jun 25 '17 at 11:43
  • Does not address the OPs question on the whole. Furthermore, suggesting a license because it's "a default choice for many projects" is argumentum ad populum and, therefore, irrelevant. – Josh Habdas Nov 16 '19 at 4:45

If there's nothing otherwise prohibiting you, you may publish your app code to a public git repository under any license you choose and even with no accompanying license at all. With regard to copyright it depends on applicable laws. In the United States, for example, copyright is automatic and a transfer of that copyright cannot be executed without a written and signed instrument.

If you choose GPL, you can be reasonably sure your code will not make its way into another App Store app due to Apple's App Store app licensing requirements and you (as well as others) will have the opportunity to view contributions back to your app in forks or copies of the source.

If you choose the Expat license, you may not know when someone uses your code in another App Store app as there's no requirement to reproduce the license in object form.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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