I'm working on an open-source project and people can use it and modify it, no problems here. The only thing that I don't want to allow is that people exploit it and earn money using my work (because that's what my plans are!)

What kind of license should I use to cover these requirements?

  • 2
    Open source licenses can't restrict how people use the project once they have gotten a copy. If you want to restrict how the project can be used, you need a non-open license. Jul 22, 2014 at 11:46
  • And what about multi licensing, reading this as a complete noob I would say that it sounds like what I need. Could you give me a suggestion of what I should use / where to start ? Do you know a project that does what I need ? Jul 22, 2014 at 12:07
  • 3
    The problem with licenses which forbid earning money is that it is very hard to define properly what is and what isn't commercial activity. I could go into more detail, but I have only 600 characters, so here are some keywords to think about: Private schools, non-profit charities, writing a book about your software, putting a banner ad next to a download of your software, getting paid for training people how to use your software, using your software to manage your personal finances, having it installed on the same computer you do freelance work with.
    – Philipp
    Jul 22, 2014 at 14:46
  • 1
    If your open-source project is successful, people will (in the long term) make money from it (like you will also). Jul 22, 2014 at 15:54

2 Answers 2


The standard solution is dual licence. Release under GPL, retain the original copyright and when you're ready re-release under some different licence. Profit!

However, if you want to stop people from using your code to provide a commercial service, you will almost certainly need a custom licence. Likely terms will include:

  • free for private and non-commercial use
  • no rights of redistribution
  • no rights of sub-licensing

It's not easy to stop people from making money (if they can). You'll need a lawyer, but you'll also have to be willing to sue people.

I think I'd focus first on making something good enough that people want to steal it, and then making it better but only for your customers.

  • Reading all the comments here I think that your last suggestion sounds like a wise thing to do. Thanks a lot! Jul 22, 2014 at 20:51

The title of the question says you need a small(??) commercial addition while in the question text you say that you don't want to allow people to earn money using your work. This seems to be contradictory.

Here are some ideas that can help you:

  • If you are a creator you have the copyright on the code then you can publish your project under multiple (non-exclusive) licenses and still sell it yourself without restrictions
  • Open source doesn't disallow selling. It only means you have to deliver the source code too. For small commercial activities (like as part of a magazine) this might be sufficient.
  • As long as your project is also open source, why would anyone buy the product if very probably he can get it for free from you (or someone else)? The market will be very small.
  • If you want to allow people to use your open software project in their commercial closed source product - use a license that allows this (LGPL, ...)
  • If you want to restrict commercial usage to small(??) usages, define small and put that in a license (modify LGPL for example).
  • If you cannot define small but want to have control, just state that upon request you might give away/sell commercial licenses (that do not require to distribute the source anymore).
  • For all this make sure that either you are the only copyright holder (creator) or that you have the consent of all previous and present creators.

I advice to use one or more popular open source licenses like GPL and offer to issue commercial licenses upon request or to define what small should be.

See also this excellent FAQ from the Free Software Foundation and this comparison of open source licenses.

edit: Adding the information of the comment.

  • If you don't want others to use your software to make money you would need to restrict your license to non-commercial (something like CC-NC for programming code).
  • It is questionable if it still is (fully) open source then anymore because it restricts the freedom quite a bit.
  • So it seems you want a non-commercial license.
  • A simple "free for private, non-commercial use" might be the right thing for you then.
  • Thanks a lot, I'll checkout the links you posted. This open-source project is a service, so the idea is that you can use it and run it your self, or use that service which is hosted/maintained by me (thats the big plan :) Jul 22, 2014 at 13:06
  • @JeanlucaScaljeri See the addition to the answer.
    – Trilarion
    Jul 22, 2014 at 13:23
  • Thnx for pointing this out. I realise that this is complex stuff + I don't have the money to let some expert write a solid license for me. I'll stick to fully open-source and maybe later I keep some parts private :) Jul 22, 2014 at 20:55

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