Advertisement

Open source library in closed source product?

Started by June 13, 2009 01:03 PM
6 comments, last by stonemetal 15 years, 5 months ago
I have created a few libraries which I wish to distribute under an open source licence like the GPL. However, would I be able to then use these libraries myself in closed source commercial software? My understanding is they I am requited only to publish changes the the open source libraries. From reading the GPL v3, I'm not sure it allows this (correct me if I'm wrong). Is there another licence out there which does? I am reading the BSD licence right now.
Insert usual non-lawyer disclaimer here.

You personally are not restricted by the license of the libraries that you publish. As the original copyright holder, you can use the libraries in any closed source applications you desire. However, if someone submits a patch to your library under the GPL, then that code could then require you to abide by the terms of the GPL, which means that you could no longer use that code in a published closed source application.
Advertisement
If you created the libraries that you are distributing under the GPL, you could use those libraries yourself in a close source commercial license only if you did so by attaching a non-GPL commercial license to that one specific instance of the code.

If you distribute GPL code, you cannot use that same GPL code in any closed source works without making the entire project GPL. You can violate your own license that way, but you can still have another version of that same code that is not under a GPL license that you can use in whatever you want. You just don't distribute the alternative licensed version to the public and you are set.

They key thing here is that it is all your code. The GPL cannot take away your own copyright, but once you release GPL'ed code, you cannot take it back. You can make future versions of that code not fall under the GPL if you so wished, since it is your code, but what's done is done.

Hope that makes sense. [wink] Source for more reading.

I'll go ahead and add my missing "I am not a lawyaer" clause to this post since SiCrane beat me and had his as well.
Thanks very much for the clarification.
Why do you want to distribute your code under a license like GPL3 if you want to use your code in a commercial project? Isn't it better to just use a less restrictive license like BSD?
Quote: Original post by apatriarca
Why do you want to distribute your code under a license like GPL3 if you want to use your code in a commercial project? Isn't it better to just use a less restrictive license like BSD?


Probably he does not wish for others to use it in closed-source projects, as opposed to himself. If that's not the case, a revised BSD-style license might be better (and has the distinct advantage that an average human can read and understand it without needing a dictionary...)
Advertisement
My understanding is that licensing your own code under GPL is for other people. You still retain the primary copyrights, so you can use your code in any manner you see fit, regardless of whether it jives with GPL.

Even if others contribute to your project, as long as there's an understanding that they transfer copyrights to you, you don't have to use the contributions under the GPL. You can treat them as proprietary as you like. Again, make sure the understanding is that they're transfering rights to you, and not that they're contributing under the GPL. Because then your hands are tied. There might be legal implications if you accept rights to contributions without compensating the contributor, though. That's territory for lawyers.

This is how lots of open source projects are commercialized (like NCover). At any time you can decide to "close source" your software. Any already released GPL code remains GPL, and others using your (old) code under the GPL must abide by it. But your new proprietary fork is free to evolve as you see fit.

Basically GPL broadens the rights other people have. It doesn't restrict your own rights, except in the case above of "echo" contributions (people contributing to your project under the GPL).
[size=2]Darwinbots - [size=2]Artificial life simulation
An agreement is between two people myself and I are not two people. So it doesn't matter what licenses agreement you put on the code it is your code. Think MysqlAB. They sell Mysql and give it away under the GPL.

This topic is closed to new replies.

Advertisement