I'm working on a small project right now that I plan on releasing under an open-source license (haven't decided which yet). The question I have is that one of the Python modules I use is licensed under GPLv3. Since I'm not making any modifications to the library (using it as-is), can I still license my project under a license of my choosing or will I be forced to also make it GPLv3?
3 Answers
You will be obliged to release the software under GPLv3.
The license says explicitly (comma 5):
You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
Quite straightforward, I think. According to the FSF (and AFAIK some court ruling) any kind of linking of libraries is a violation if the program itself is not GPL too.
The LGPL on the other hand has been designed precisely to allow a non-free program to link to free libraries.
HTH
- 671
How are the various GNU licenses compatible with each other?
See the section of the table labeled I want to use a library under:
The table here is pretty clear cut and easy to understand without someone that is a not a lawyer giving their un-qualified opinion.
The safe thing to do is release the code you write under a license which is compatible with the GPLv3. The GPLv3 is of course compatible with itself, but there are quite a few other licenses you could pick. The FSF's license list is opinionated but may be considered authoritative on the question of which other licenses are compatible with which versions of the GPL.
I would personally recommend that you license your code under GPL version 2 with the "or at your option any later version" language. That achieves compatibility with both GPLv3 and GPLv2 code and thus maximal compatibility with copyleft licenses. If you don't want a copyleft, use the X11 license.
If you don't want to release your source code you should not reuse code or data under any copyleft license -- the whole point of copyleft is to enforce availability of source, so it is unethical to use copylefted material in a closed-source program even if you're not violating the letter of the license (I will not tell you how to do that; consult an actual copyright lawyer if you are bound and determined).
- 2,620