Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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: http://stackoverflow.com/questions/4558546/opensource-noncommercial-license)

share|improve this question
7  
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 Dec 29 '10 at 23:32
You want that your software will be used only for noncommercial projects, who don't distribute any source? – Konstantin Petrukhnov Dec 30 '10 at 10:39
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 Sep 23 '11 at 15:17

4 Answers

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.

share|improve this answer
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. – Bart van Ingen Schenau Dec 30 '10 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. – David Thornley Dec 30 '10 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 May 2 '11 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 :) – OnesimusUnbound May 6 '11 at 3:37

That's creative commons Non-Commercial Share-alike

http://creativecommons.org/licenses/by-nc-sa/3.0/

share|improve this answer
3  
but cc licenses arent for software ... or ? – nick-russler Dec 29 '10 at 23:02
2  
I didn't know this, but CC suggest not using a CC license for software: wiki.creativecommons.org/… – Frank Shearar Dec 29 '10 at 23:41
I'd suggest not using a license like the OP wants, so I see no inconsistency in recommending a license not suggested for software. – David Thornley Dec 30 '10 at 16:04
CC BY-NC-SA does not prohibit the sharing of modified versions. You'd want CC BY-NC-ND for that, but that does not permit creating modified versions. I'm unaware of any license which allows you to create derviatives but not to share them, which is what the OP is asking for. – TRiG Jul 13 '11 at 15:39

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?

share|improve this answer

Couldn't you create your own copyright license ? I think that would be better.

share|improve this answer
I think zie'll have to. I'm unaware of any license which allows you to create derviatives but not to share them, which is what zie is asking for. – TRiG Jul 13 '11 at 15:39
2  
Writing a good license which will stand in court (if it comes so far, which one does not hope ...) is hard. It becomes even worse if there are plans to cover multiple jurisdictions. There's a reason EULAs are so long ... – johannes Sep 23 '11 at 15:37
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 Nov 19 '12 at 13:36
1  
Jan Hudec: Tell me a license that does what OP mentions. What do you suggest? – kadaj Nov 19 '12 at 17:16

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.