I see people comparing the GPL with a Classpath exception to the standard LGPL. Does this mean that LGPL already has the Classpath exception or some language already similar enough to it? If not, can it be added in the same way the exception can be added to the GPL or would the linking language already present in LGPL not allow this?
1 Answer
The Classpath Exception has a similar intention to the LGPL: to keep the covered work itself under GPL-like terms, while allowing linking with non-GPL components. In particular, this allows such works to be integrated with proprietary software. However, there are some differences.
How they are applied: The Classpath Exception is an additional permission that can be added to any GPL-family license. Similarly, LGPLv3 is an additional permission for GPLv3. However, the LGPLv2 is an standalone license.
What they require: The Classpath Exception is a lot more permissive than the LGPL. The LGPL requires that the recipient can modify the LGPL-covered parts and re-link the software to use the modified version, which effectively requires dynamic linking and/or the absence of some integrity checks. The Classpath Exception does not require this ability.
In theory, I could imagine a project that uses GPLv3 + LGPLv3 + Classpath Exception, though the LGPL would be largely redundant in that constellation. Similarly, GPLv2 + Classpath Exception would likely be a bit more permissive than the LGPLv2. I've never seen LGPLv2 + Classpath Exception, but in theory that combination could make sense as well. Whether to use the Classpath Exception depends on your licensing goals.