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 3


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.


  • 2
    The section you quote is for a modified version of a given GPLv3'ed software.
    – tshepang
    Jun 28, 2011 at 1:36
  • @Tshepang The section is for "a work based on the Program". IANAL but my understanding is that it certainly covers any program which links in a Python module.
    – MarkJ
    Jun 28, 2011 at 11:26
  • @Tshepang - Yes, it is. This is the way the FSF intend any software linked to a GPL library (otherwise there wouldn't be a LGPL around!). @MarkJ - You are correct, see my comment about court rulings to Zack's answer.
    – mac
    Jun 28, 2011 at 11:47
  • Interestingly enough, this answer got 5 upvotes and 2 downvotes. Now, since this is not youtube (like/dislike) a downvote means "this answer is not useful". I would be interested to know why the downvoters thought it is not useful: to the best of my knowledge the answer is technically correct and answer the question posed by the OP... so I would be very interested to know in which way I could make it more useful. :)
    – mac
    Jun 28, 2011 at 15:26
  • I find it not straight forward. It's not clear, if the stated entire work means the entire work you derived from (which would mean you're good) or everything you derived from + everything you write in totally independent modules (which is what this answer interprets).
    – DarkTrick
    Jan 20, 2022 at 9:11

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).

  • 1
    @Zack - Zack, are you sure about your interpretation of compatible? I always understood compatible licenses as "additional permissions" (i.e. as "extra freedoms" as in releasing the program with a double license). I don't think you can replace GPLv3 with something else, even if that something else is "compatible". See the first para of comma 7 of the GPLv3. Am I wrong?
    – mac
    Jun 27, 2011 at 20:16
  • 1
    No. The GPL has nothing to say about compatible licenses. It says you must use the License - i.e. GPLv.3. The whole point is that you can't release your code under a license that isn't a copyleft license.
    – Jeremy
    Jun 27, 2011 at 20:17
  • I think the idea with compatible licenses is that its possible to combine the works of multiple liecenses to create a derivative work of both under the GPL, but I'm not sure. Jun 27, 2011 at 21:16
  • 1
    (I am aware that the FSF officially disagrees with me about whether code that makes use of a library interface without modifying the library is a derivative work of the library.)
    – zwol
    Jun 27, 2011 at 21:29
  • 2
    @Zack - After some more research I am afraid it's not only the FSF that disagrees, but also courts in USA, France and Germany. Some of the legal litigation ended up with court ruling in favour of free software, but most ended up with the offender coming to an extra-court settlement (basically opening up their code or removing the free code from their products). I start my research from wikipedia and went on from there, in case you want also to investigate some more: en.wikipedia.org/wiki/…
    – mac
    Jun 27, 2011 at 23:29

Your Answer

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