Are full terms of LGPLv3.0 already covered by GPLv3.0 section 5 under the terms of an "aggregate"?

A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.

as far as i can tell, doesn't this cover the terms of the LGPL?

what is the point of the LGPL?


Consider a library, let's call it libfoo, which you receive under GPLv3. If you write code that links to libfoo, the position of the FSF is that the resulting executable, the combined work, is a derivative work of libfoo. Under GPLv3 section 5c, if you convey this work to anyone else, you must license the entire work under GPLv3 - your code as well as libfoo's.

Now consider a library, libbar, which you receive under LGPLv3. If you write code that links to libbar, and you convey the resulting executable to others, then although you have several obligations with respect to libbar under LGPL, you are not obliged to license the combined work under GPL, and you may keep your code secret should you choose to.

That's the difference, and the point of LGPL.

The passage you quote above would not apply to such a work. Firstly, because it does not use compilation in the sense of a thing a compiler produces but in the sense of mix tape - a collection of unrelated works on a single medium, such as a GNU/Linux distro DVD containing many different pieces of software covered by many different licences. Secondly, what you quote above only applies to

a compilation of a covered work with other [...] works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program

An executable resulting from linking your code to libfoo fails that second test on its face, and (under the FSF's interpretation of linking) the first test also.

  • so could i link a closed source project to a GPLv3 library if i also linked to an unrelated BSD library(dynamically of course)? – kipbits Feb 23 '17 at 15:04
  • 1
    No. Why would you think that? – MadHatter Feb 23 '17 at 15:04
  • the BSD lib would make it an aggregate? would it not? i must be missing something? – kipbits Feb 23 '17 at 15:07
  • I suppose i see what you are saying. my app itself is not part of the aggregate? – kipbits Feb 23 '17 at 15:08
  • 2
    No. Neither library makes the work an aggregate or otherwise; it is copyright law that determines if a newer work is a derivative of an earlier one. The FSF's interpretation is that linking your code to pre-existing libraries makes your work a derivative of all those earlier works (the libraries), and if you wish to distribute the resulting executable, you must abide by the conditions placed upon you by all the earlier works in order to earn the right to distribute your newer work. – MadHatter Feb 23 '17 at 15:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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