I have an open-source project, which I would like to commercially license to various types of businesses.

xGPL licenses do not work for me since they don't allow any conditional addenda.

What I'm seeking to achieve is:

  • require commercial licensing for businesses
  • allow use and changes under some OSS license for individuals
  • allow free use (same as above) to specific business branches on individual selection basis (e.g. educational institutions).

I'm really confused about how to achieve this and don't violate the terms of the OSS part of license at the same time.

Edit: I'm looking for an existing free license, which doesn't explicitly forbid dual licensing like GPL family does.

  • 5
    If the license does not permit use for business, it's not an open source license under any commonly accepted definition of the word. Not even if you exempt some kinds of business. To quote a common definition from memory, open source licenses don't discriminate based on use case. There are of course licenses that only allow non-commercial use, but they're not open source or free as in free speech.
    – user7043
    May 25, 2014 at 13:37
  • 2
    You seem not to understand that the copyright holder (that's you, if you wrote the software) is not beholden to any license terms on the software. You could release your own software under ten different licenses simultaneously and allow users to choose which particular license they want to receive it under. A license says "the copyright holder graciously allows you to have this software under these terms..." but that doesn't apply to you because you are the copyright holder and automatically have full rights to distribute it under any terms.
    – apsillers
    May 25, 2014 at 15:03
  • @apsillers please see Edit in the question May 25, 2014 at 17:34
  • @Hardex How does the GPL forbid dual licensing? As far as I know, it doesn't.
    – user7043
    May 25, 2014 at 18:46
  • @delnan GPL section 7 basically renders any additional requirements that are outside the GPL itself void. May 25, 2014 at 21:05

1 Answer 1


If you are the copyright holder of the code, then you can provide the sources to different clients using different licenses. These licenses don't even need to be compatible with each other.

The common mode of dual licensing is that you provide two or more licensing options:

  • a (L)GPL (or other copyleft) license for open source projects. The copyleft nature of the GPL ensures that it can't be used for closed-source projects (which most commercial ones still are).
  • one or more commercial licenses for use in commercial/closed-source projects. You can vary the fee and license restrictions in any way you like (so a separate license for educational institutions is a possibility).

The thing to watch out for in dual-licensed projects is that you don't blindly accept contributions on your open source version.
Unless you get the copyright on contributions assigned to you, you can't move those contributions over from the open version to the commercially licensed versions, because you would be bound by the GPL license under which the contribution is made.
If the copyright has been assigned to you, then you are free to use the code as you see fit.

Using an open source license that allows sub-licensing means that anyone who gets a copy of your code can legally use it in a closed source project as well.
There are no open-source licenses that prohibit commercial use of the code, as that goes against the ideas behind open source code.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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