Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been reading about software licensing as I feel that I'm at a stage now, where I should probably have some sort of a license associated with my code.

What I am looking for is a copyleft (weak or strong) license that basically is very liberal. So I'd like the license to allow anybody to do anything with the code/program with the exception that nobody can ever make money from the code. I don't want anybody to be able to get my code and sell it, or to get my code and sell it or get my code, modify it in any way and sell it. I don't want anybody to be able to make money from any code I write. Aside from that, I don't care how it is used as long as the original author of the code (in this case, me) is associated with the code that I wrote.

I've looked at the GPL license, the MIT license and a few others and I can't find what I want. Does anybody have any suggestions?

If it matters, the license will be associated with C/C++, assembler and Ruby programs.

share|improve this question
The freedom to (attempt to) make money from code is a freedom included in pretty much every definition of open source and free software. If you want to prohibit that, it's neither open source nor free software. – delnan Dec 29 '12 at 11:52
Why don't you want anybody to make money from your code? How would it hurt you if they did? And would this mean that a paid postal worker should never deliver a copy of your code in the mail? – bdsl Mar 17 '15 at 18:52

Let's ask the License-o-mator! Hmm, "Allow modifications of your work?", yes. "Allow commercial uses of your work?", no. "License Jurisdiction", probably "International". Answer: you want the Creative CommonsAttribution-NonCommercial 3.0 Unported license (aka "CC BY-NC 3.0").

share|improve this answer
Nice. This is probably as good as it gets. – Petter Nordlander Dec 29 '12 at 15:39
The Creative Commons Foundation themselves say not to use CC for software:… – James Dec 30 '12 at 7:33

What you are looking for is not really open source or free software that main stream copy left licenses are made to support. It's seems more like a rather strict proprietary license.

If you still want to stick with copyleft, I'm thinking of something like AGPL which is pretty much GPL but with the additional requirement that changes to the source needs to made available if it's used in a web based service (typically if you write server based software or similar).

People still can make money out of this. GNU/Linux is sold in enterprise versions by for instance Red Hat, even though the same thing is available for free without support. Is that OK for you?

If you need to make totally sure no one will make any money from it, in any way, please consider to write your own strict license. Probably you need to consult a lawyer to get it 100% right.

Maybe you could start out with something like Ms-RSL and loosen it a bit?

share|improve this answer
It's absolutely copyleft. Even the FSF doesn't claim that the "four freedoms" include the freedom to make money. – Ross Patterson Dec 29 '12 at 15:16
Yep. You are right, of course. I over simplified a bit, but I have changed that text. What I tried to say was that most main stream copyleft licenses are made to make software free and let code stay open, not to prevent people from making money from it. Actually, thinking about it, restricting money making from a piece of code seems like a hard task, while keeping the source free. That would prevent end users from making money using open source software that has been written using this source as well. Or not. it's complex. – Petter Nordlander Dec 29 '12 at 15:33
Thanks for your advice. I really would've thought that there be a license that prevents people from making money from the licensed code. – user968243 Dec 30 '12 at 10:48
@RossPatterson The FSF does claim that the four freedoms allow you to (attempt to) make money. They say "Freedom to distribute ... means you are free to redistribute copies ... either gratis or charging a fee for distribution". Also freedom 0 is running the software for any purpose, which must include making money. – bdsl Mar 17 '15 at 18:59

The GPL is probably the closest to your requirements of the standard licenses. Whilst it does allow someone to sell copies of your work, the commercial basis of such a business is rather limited as their customers can get the same code for free on the internet. It also severly restricts the ability of someone to use your code in a commercial product - and even if they did, it would be part of a much larger product, and your work would be a minor part of the commercial deal.

If this is unacceptable to you, then you would need to create your own license.

I do wonder what you are trying to achieve though?

share|improve this answer
The GPL doesn't allow prohibiting commercial sale, which is one of the OP's criteria. – Ross Patterson Dec 29 '12 at 15:08
@RossPatterson, As i explained, the GPL does allow people to sell copies of his work, and I explained how this actually occurs in real life. – Michael Shaw Dec 29 '12 at 20:00
The folks at MySQL might be surprised to hear that their business was "rather limited" because they allowed it to be distributed under GPL. They were bought by Sun for US$1Bn after 13 years operating standalone - not too shabby. – Ross Patterson Dec 29 '12 at 23:39
Really, Neither the original MySQL, or Sun/Oracle's business model for MySQL is to charge for distribution. – Michael Shaw Dec 29 '12 at 23:45
The GPL certainly doesn't stop companies running the code to make money, even if it makes it hard to distribute it for money. Many companies make money runnng Linux. – bdsl Mar 17 '15 at 19:02

Your Answer


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

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