i want to publish my software under a opensource license with the following conditions:

you are allowed to:

  • Share — to copy, distribute and transmit the work
  • use a modified version of the code in your application

you are not allowed to:

  • publish modified versions of the code
  • use the code in anything commercial

Is there a software license out there that fits my needs ?

(crosspost: https://stackoverflow.com/questions/4558546/opensource-noncommercial-license)

  • 8
    Pardon my sincerity, but these terms seem a bit silly to me. What's the point of using modified code in my application, if I cannot publish it? That's hardly open source.
    – Mchl
    Commented Dec 29, 2010 at 23:32
  • Couldn't you create your own copyright license ? I think that would be better.
    – user4626
    Commented Dec 30, 2010 at 4:38
  • You want that your software will be used only for noncommercial projects, who don't distribute any source? Commented Dec 30, 2010 at 10:39
  • 1
    There's quite a few people looking for what appears an "educational license", but wanting open software without commercial usage is ironically pretty closed.
    – Steve-o
    Commented Sep 23, 2011 at 15:17
  • 1
    Even worse, writing your own license is evil. There are enough incompatible licenses already. Don't make everybody get a lawyer because they need to check that they can use your work under yet another license!
    – Jan Hudec
    Commented Nov 19, 2012 at 13:36

3 Answers 3


Your conditions are not "open source" so you will not find an open source license that has those conditions. Specifically, disallowing the publishing of modified versions of the code makes it impossible to incorporate your code into other open source projects. As an example of this, many Linux distributions will make modifications to libraries and applications so that they fit the distribution's naming or other conventions. If you disallow the re-distribution of modifications, then such changes will not be possible.

I also don't know of any open source license which explicitly prohibits commercial applications. Most commercial software is also proprietary, and it's typically the proprietary nature of it that precludes the use of many open source libraries.

So if you really want those conditions, then I'd say you'll need to find a lawyer to write a custom license for you.

  • As an additional note, some companies (like Mozilla) provide their software with a free license, but they forbid distribution of modiefied versions using their brand names. Commented Dec 30, 2010 at 15:59
  • 2
    No OSI-certified Open Source license (or FSF-approved Free Software license) will restrict commercial use, although some licenses are incompatible with some business models. None will prevent redistribution of modified code. Since "Open Source" is not trademarkable, it is probably legal to describe a no-modification no-commercial-use license as "open source", if not done for fraudulent purposes. Commented Dec 30, 2010 at 16:02
  • 2
    A reasonable lawyer could argue that "Open Source" is not a trademark, but a description with established meaning. In that case, describing your application as Open Source could cause estoppel. (it's a promise, users may rely on it, but the non-commercial clause would be a legal detriment to the promise)
    – MSalters
    Commented May 2, 2011 at 12:53
  • You can create a custom code, stating that it's shareable, modifiable, non-commercial license, but just as what others said, it's not an Open Source license :) Commented May 6, 2011 at 3:37

The CC-NC-ND (Creative Commons - non-commercial - no derivates) license would fit your model.

But keep in mind that a "non-commercial" clause in a license is often much more restrictive than intended. "Not anything commercial" can also mean, for example:

  • It can not be added as a freebie on something which is sold (like a DVD of freeware which comes with a magazine)
  • It can not be bundled with something which might be used commercially (like a Linux distribution)
  • It can not be offered for download on a website which has paid advertising
  • It can not be used to practice a skill and then apply that skill commercially
  • It can not be used by non-profit organizations which perform commercial activity to cover their costs (this could even include collecting donations).
  • Commercial media is not allowed to review it, because testing it to write an article about it would also be commercial activity.
  • When someone uses the software for creative purposes, they effectively lose their copyright (when they have no way to monetize their work, they have no reason to demand reimbursement when people use it unauthorized)

You didn't say anything about what your software actually does and what's your motivation for creating and distributing it. So I can't say which of these points apply or don't apply to you.


At least in the United States, a copyright license cannot restrict use. In the United States, anyone who possesses a lawful copy of a work may use it for whatever purposes they please, including commercial ones. (Assuming they aren't commercially distributing or performing the work.) See 17 USC 106 and notice that none of the rights have anything to do with ordinary use.

So you would have to do this with an EULA or contract.

But something seems odd to me. How are you supposed to use the code in a non-commercial project if you can't publish modified versions?