I forked a project that was dual licensed under the GPL and a commercial license. Since my code was open source and the GPL being what it is, I started by releasing my app under the GPL.

But now I'm thinking about dual licensing the project and can't figure out what to do. Since I have copyright on a majority of the code (most of the code was either rewritten or new), can I just pick a commercial license or do I have to buy the upstream commercial license since I'm technically a "derivative" of the project?

3 Answers 3


Since you have the copyright on the majority of the code. If you were to remove anything that you didn't write and then rewrite it yourself, then you would be the sole copyright holder and hence able to license it however you wanted.

Disclaimer: I'm not a lawyer, this isn't legal advice

  • I would really like to do this but there are major parts of some core code that work just fine and shouldn't be rewritten.
    – TheLQ
    Feb 27, 2011 at 16:44
  • 1
    This is flat-out false: the GPL is viral. Look up the Ship of Theseus as applied to GPL on this stacexchange. Nov 10, 2014 at 21:44

If you forked the project under the GPL, then any code you added to it is also GPL, and you cannot license it under any non-GPL friendly license.

But if you forked the project under the commercial license, then any changes that you've made would be subject to the definition of the commercial license.

What is the commercial license, and what constraints are bound on it's usage? Does the commercial license even allow you to make changes to the code or relicense the code? For the commercial license, you'll have to read the details.

  • A subtle but important distinction, he may have forked the GPL'd code, but only the other copies released under the GPL of the the derivative code are affected by this. There is nothing stopping the author from commercially licensing the original code and then, provided the commercial license allows, commercially license his additions. Nov 13, 2011 at 21:09
  • TL;DR The GPL is a distribution license, it doesn't apply if the code/binaries aren't distributed. Nov 13, 2011 at 21:10

In order to distribute your project that is a derivative of the original project, you must have permission to do so, because by default copyright law forbids that. Such permission is called a license.

You apparently have multiple choice for how to obtain permission. One of them is the GPL. If you choose that way, then you must comply to the GPL's terms: release the entire thing under the GPL.

If you don't want that, you need to get permission another way. Maybe you can get the commercial license, if it allows redistribution of derived works under the kind of license you want.

If you can't use either license for what you want to do, you need to contact the original copyright holder to see if they want to work out a different license with you.

If none of those three things work out, copyright law simply forbids distribution of derived works, and you won't be able to do it.

Your Answer

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

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