PaGMO 2 includes both GPL and LGPL in their copyright notices:

Copyright 2017-2018 PaGMO development team

This file is part of the PaGMO library.

The PaGMO library is free software; you can redistribute it and/or modify
it under the terms of either:

  * the GNU Lesser General Public License as published by the Free
    Software Foundation; either version 3 of the License, or (at your
    option) any later version.


  * the GNU General Public License as published by the Free Software
    Foundation; either version 3 of the License, or (at your option) any
    later version.

or both in parallel, as here.

The PaGMO library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

as it says or explicitly, it seems that only LGPL could be picked when using it, without the downsides of GPL. But I would like to confirm this, as "I'm Not A Lawyer". Note: I want to use it in a commercial software.

Also, what would be the reason to license it with both GPL and LGPL? Would it be advantageous for someone to pick GPL over LGPL?

2 Answers 2


Yes, if you like, you may ignore the offer to receive the software under the GPL and instead receive it only under the LGPL.

It is redundant, in terms of permissions granted, to offer software under the GPL and under a GPL-compatible license simultaneously, since any project that could use the code under the GPL could also use it under the GPL-compatible license. However, it may be more convenient for a downstream GPL-licensed project to receive upstream code under the GPL proper to simplify licensing information (i.e., to be able to say the entire work is monolithically under the GPL, rather than call out some parts as being under a more permissive compatible license).

In the case of the LGPL, though, even this is not needed, since the LGPLv3's own terms allow distribution under the GPL instead (LGPLv3, sect. 2(b)):

...you may convey a copy of the modified version: [...]

b) under the GNU GPL, with none of the additional [LGPL] permissions of this License applicable to that copy.

The only mechanical difference, then, between the GPL/LGPL dual-license done in PaGMO's case versus licensing only under the LGPL, would be if a future LGPLv4 or 5 (etc.) did not include the option to convert to the GPL. In such a case, the authors here have explicitly given permission to use any version of the GPL, 3 or higher, without needing to get permission from the LGPL itself.


Yes, you have a choice. This dual license is actually a bit silly because the LGPL alone already gives you that choice. The LGPLv3 is literally just the normal GPLv3 plus an additional set of exceptions. You can always drop the extra permissions the LGPLv3 gives you, and stick to the normal GPLv3.

If your own software shall use the GPLv3, then this choice is irrelevant. However, if your software shall use a different license, then using the extra permissions from the LGPL would be desirable. The LGPL confines the GPL-like requirements only to that component, and does not affect the entire software. However, you must still make it possible for end users to modify the LGPL-covered component. This is usually done by dynamically linking the LGPL-covered software as a library.

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.