I am working on a project that uses ABCL. License of ABCL is GNU GPL with classpath exception, which means we can link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice.

So I know that we dont have to enforce license of ABCL to my project, but what about otherwise, Would license of the project that is GNU GPL without classpath exception be enforced to ABCL to make is GNU GPL withOUT classpath exception as well ?

PROJECT (GNU GPL) -----> ABCL (GNU GPL with class path exception)

A --- >> B Now we know that license of B doesnot effect license of A, but is A going to effect license of B?

ABCL is used to compile and load lisp code files written by myself, on which I DO NOT WANT TO ENFORCE GNU. these lisp files are not the part of the main project executable. But the main project uses ABCL to load these files. Would GNU GPL (license of main project) be now enforced on these lisp files? ABCL has classpath exception for ABCL license will NOT be enforced on lisp code files.

  • 1
    It's a little unclear what you're trying to ask. Do you mean "If I make a project that uses ABCL and release it under vanilla GPL, does that force ABCL to be under vanilla GPL?"
    – Ixrec
    Commented Jun 30, 2015 at 14:09
  • @Ixrec yes that is what i had to ask Commented Jun 30, 2015 at 14:16
  • I believe your edit is adding a new question, so it may be best to actually post it as a brand new question so we can give more targeted answers there without invalidating the ones that have already been posted here. But to give you a super-quick unresearched answer: I believe the GPL would not "infect" your LISP files, because the input and output of a program is generally not affected by the license on that program.
    – Ixrec
    Commented Jun 30, 2015 at 14:29

2 Answers 2


The short answer is no, it does not work that way. To clear up the confusion, I find it helps to think of licenses as applying to distributions of software, rather than the software directly (as far as I know, this is actually closer to the truth).

I'll pretend your project is called DEFM. If you release DEFM under GPLv3, then someone downloads it and uses parts of it to build their own program GHIN (even just the ABCL part), then they are using your code under the terms of the GPLv3, regardless of the "original" licenses that applied to each part. However, ABCL is already being distributed under GPL with classpath exception, so the GHIN guy can simply go use that distribution instead if he prefers that license (assuming the ABCL part was all they cared about). Nothing you do with ABCL can retroactively change the license that its distributors used. You can only change the license on your own redistribution of ABCL (and of course, ABCL's license restricts what you can change it to).

Similarly, you're allowed to change your license at any time, use different licenses on different versions of your code, or even distribute the same version of your code under different licenses depending on the client (it's common to have a free version with a copyleft license and a paid version with a more permissive or proprietary license). In all of these cases, the person using your software gets to use it under the terms of the license that was applied to the particular distribution they received at the time they received it.


This is so straightforward I'm not even going to bother writing "IANAL". The fact that you have a project that depends on ABCL can not in any way alter the license of ABCL itself. ABCL does not depend on your project and therefore doesn't need to comply to your license - or even be aware of it.

Think of the implications if licenses worked that way - some kid in a basement will write a GPL licensed project that depends on ABCL, and suddenly ABCL will lose it's class path exception and every proprietary project in the world that depends on it will become illegal. Does this make sense?

  • It doesn't alter the license of ABCL, but ABCL may have to comply with the terms of some kid in a basement, if his license is fully copyleft and a derivative work is created and distributed. Remember, you can still get ABCL separately elsewhere, under the original license. Commented Jun 30, 2015 at 14:16
  • @RobertHarvey ABCL is not modified in any way. So it is not a derivate work. Only the library is used and function calls are made. Commented Jun 30, 2015 at 14:19
  • Well, didn't you say it had a classpath exception? It may not matter. Read the licenses. Commented Jun 30, 2015 at 14:24
  • @RobertHarvey I have edited the original question to describe the whole scenario. Can you tell me now? Commented Jun 30, 2015 at 14:27

Your Answer

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

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