I found some GPL v3 licensed open source projects that also have paid enterprise license versions with more useful features.

I only need 10% of the features available in the (expensive) enterprise version and have the time to personally fork/extend the open source project to have those features. Is this legal?

Does the answer change if the open source is MIT? To be clear I do not have access to the enterprise code but the features seem simple enough to implement that the code might end up looking similar.

  • There are two common schemes: A GPL-licensed projects is offered under a separate license for paid customers ("dual licensing" scheme). Is that what you are asking about? The other common scheme is that an enterprise licensing may be available for additional components that are not normally included in the GPL offering. Which type of scheme are you asking about?
    – Brandin
    Jan 30 '19 at 9:00
  • Perhaps you are trying to "monetize" an existing MIT-licensed open source project by adding features on top of it. Is that correct?
    – Brandin
    Jan 30 '19 at 9:02
  • @Brandin yes the dual-licensing, original open-sourcer already made two versions, but useful features are missing from the GPL v3 version. I'm not too sure what is the difference between the two schemes in your first comment Jan 30 '19 at 9:10
  • If you are the author of all of the software, then yes, you may release the software under GPL as well as under a different licensing scheme (to paid customers). This is often called "dual licensing" and many discussions of it can be found on this site. If you take someone else's GPL code, though, you cannot do that.
    – Brandin
    Jan 30 '19 at 9:17
  • 1
    If you fork the GPL version (whether using GitHub or not), then yes you may add whatever features to it you want, as long as you offer the source code of the result. Yes, you could charge for it, but you must give the customer the GPL version (along with the rights that the GPL guarantees). I.e. you cannot close-source your own changes.
    – Brandin
    Jan 30 '19 at 9:25

If you receive a project from someone under an open-source license (like the GPL or MIT), then that license gives you the right to develop the project further and to add features to it that you think are useful.

Which feature you can add is completely independent of the features that the original author might be offering as an extended version of the project under a different license. The only thing that you have to look out for is that you don't copy code that you are not allowed to copy.
For example, the (closed-source) license of the extended version can contain a clause that forbids further distribution of the source code of the extended features.
But if you develop your features independently of the extended offering and without knowing the internal workings of the extended offering, then there is nothing stopping you.

When you want to distribute your extended project, the original license determines what licensing options you have for your own code. If the original is under the GPL license, then you will have to release your code also under the GPL license. If the original is under the MIT license, then you have more options for your code.
Something else to keep in mind is that the original authors might have gotten trademark protection on the name of their project. In that case, you would have to re-name your version when releasing it.

  • 1
    Another thing to potentially consider is software patents. The GPLed code comes with an implicit patent license, but if you extend the software to infringe on other patents, you could get into trouble. Jan 30 '19 at 17:35
  • can our license really contain a clause that forbids further distribution of our modified class and/or methods? I mean, isn't forcing us to allow that the whole point about GPL, can we really distribute our project under GPL without allowing that ???
    – Top-Master
    Mar 13 '19 at 7:29
  • 1
    @Top-Master: If you make something that is derived from code that you received under the GPL license, then your code must also be released with the same freedoms as you got under the GPL license. The part you quoted from my answer refers to a situation where an upstream package is available in both a GPL and a closed-source version (either dual-licensed or with different features). Mar 13 '19 at 7:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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