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 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 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 – softwarenewbie7332 Jan 30 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 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 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.

  • 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. – David Thornley Jan 30 at 17:35

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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