I am working on a commercial iOS application and recently I have made my mind to make it open source If I can find a proper license which fits my needs.

This application is an end-product application, not a library or framework.

My conditions

1 - I want to have contributors, but they are only volunteers, They won't have any rights and shares. They are welcome to contribute for CV, learning or any other personal purposes.

2 - I want to be the only person who has the right to publish the premium version on the Appstore.

3 - If someone compiles my application, they are allowed to use it for their personal/educational purpose, but not for commercial use. for using commercial the must buy the premium version or ask the owner to give them rights for free.

4 - They will be no guarantee if someone compiles the app and use that for personal or any other purposes.

If It includes these conditions, can be even better

1 - No public forks can be developed or published separately in any other places.

2 - No clone/copycat for other Operating Systems or devices are allowed.

3 - No one can use any parts of codes in their own softwares without mentioning the copyrights.

Short and sweet, this is a completely protected commercial application ( like close source ), but it goes open source.

Any help or suggestion would be appreciated.

Updated: I believe most of open source fans think OPEN SOURCE always means FREE. I believe open source is not always FREE. As I mentioned in comments, Cry Engine is open source, Unreal Engine is open source, but they are commercial!

  • 6
    I’m voting to close this question because this is not asking for an open-source license but how to get free labour without giving anything in return Commented Mar 7, 2023 at 9:48
  • 3
    You are not asking about open source. Commercial use and the freedom to modify, change or publish are fundamental to open-source. Your conditions are quite far from these. Get a lawyer and have them draft an EULA for you. Maintaining copyright notices is part of virtually every license. Commented Mar 7, 2023 at 9:50
  • 1
    At its core, "Open Source" is about the concept of Software Freedom – the right of all recipients to use, inspect, modify, and share the software for any purpose. You don't want that, which is perfectly fine. The model where the source code is available but without granting Software Freedom is usually called "Source Available". For example, the Commons Clause can be used to turn an Open Source license into Source Available license (but the details can be tricky). It sounds more like you'd want to pay a lawyer to draft a custom EULA for you.
    – amon
    Commented Mar 7, 2023 at 9:52
  • CryEngine, Unreal Engine, they are open source. but commercial! Open Source doesn't mean "FREE". who says OPEN SOURCE must be always free? It can be free too as you can see, for personal or educational.
    – willow
    Commented Mar 7, 2023 at 10:57
  • 6
    Hi @willow, welcome to OpenSource.SE! On this site, we use "open source" to mean "within the Open Source Initiative's Open Source Definition," which says "The license shall not restrict any party from selling or giving away the software..." (Item #1) and that it "may not restrict the program from being used in a business..." (Item #7) The decision to draw the line at this definition of "open source" has also been discussed on Meta.
    – apsillers
    Commented Mar 7, 2023 at 11:52

1 Answer 1


The question as it stands has a straightforward answer: what you're describing is just not open source at all, but rather all-rights-reserved where the source code just happens to have been leaked. Of course you can do that, and maybe it's not completely pointless because at least the available source code allows people to scrutinize your app before running it. (For now.)
What this certainly won't accomplish is attracting contributors. Why would people contribute if they have nothing to gain from it? In fact, for all they know you could at any time decide to just rescind the open version again, taking the contributions into oblivion. And “CV”, come on – if somebody does open source for their CV then they also want the commits to be visible to potential employers. And coding for education can be done anywhere.

So, with that model, individual hackers (or possibly shady companies) would if anything just illegally maintain their own private forks. Which is of course always a risk if the source has ever been available, but with the model you envision you're actively encouraging it.

The closest sensible approximation to what you actually want is probably to dual-license your project under both a proprietary licence, intended for most users, and also under a strong copyleft licence intended for programmers. I would recommend GPL-3 there.

GPL licences, as well as all other proper open source licences, do not restrict anybody from using the code, sharing it further, or even selling binaries based on it. However, they do prevent distributing modified versions without also making those modifications available in source form. I.e. they're mandating that contributors actually give their contributions back to you. This also goes some way from discouraging competitors from creating their own commercial version that would outsell yours, but it can't strictly speaking prevent it.

Another catch is that the contributions will by default be under GPL-3 too, meaning you can't directly use them in your proprietary version yourself; however it is fairly established to add a copyright transfer agreement that anybody filing a pull request has to sign. Unlike a contribution to a purely proprietary project, people are typically ok with that, because the presence of the GPL version means that they're not just giving the contribution away for nothing and risk losing its use themselves: the open version will always stay available, even if you should withdraw your support. But as soon as you have the copyright, you can also dual-licence it back into the proprietary version.

  • Open Source doesn't always mean FREE. It is only open source, so everyone can see the source or contribute. Like I said above, CryEngine, Unreal Engine are open source too, but they are commercial.
    – willow
    Commented Mar 7, 2023 at 10:59
  • Thanks for helping! I just asked them to make sure IF I can have such license, otherwise I will continue close source since I have spent 3 years on this project with my self-funding.
    – willow
    Commented Mar 7, 2023 at 11:07
  • 1
    @willow those engines aren't open source, they're just source-available. I suppose game engines are a special niche where this model works quite well: the companies developing games on these engines are mainly interested in the source because it allows them to best tune their particular game, but being able to integrate their own features in a future-proof way is comparatively less important. Also there's a huge user base of gamers who are literally just doing it for fun and those perhaps also contribute the occasional patch without really caring about licensing. Commented Mar 7, 2023 at 11:53
  • 3
    Also: “commercial” is orthogonal to open source. Lots of software is used commercially but licensed under permissive open-source licenses; it generally means the company makes their money with services, data etc. rather than source IP. The opposite to open source is proprietary. And the term “free” is best avoided because different people mean either “free as in free beer” or “free as in free speech” (aka libre). Commented Mar 7, 2023 at 11:53
  • 3
    Minor clarification to the last paragraph: you don't necessarily need a copyright transfer agreement, "only" a contributor license agreement; CLAs are somewhat less objected to than CTAs because they don't give up the contributor's copyright wholesale. Commented Mar 7, 2023 at 13:20

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