GPL linking exception
From Wikipedia, the free encyclopedia
Some free software projects, notably GNU Classpath, distribute code under the terms of the GNU GPL but with the following clarification and special exception:
- Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
- As a special exception, the copyright holders of this library give you permission to 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, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obliged to do so. If you do not wish to do so, delete this exception statement from your version. [emphasis added]
With this exception, software licensed like this can be linked with any software, free or not.
This license is very close to the terms of the LGPL. The differences are that the LGPL says that programs using the library must be licenced under:
- ... terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.
and
- Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library.
These extra restrictions in the LGPL are unacceptable to some developers.
[edit] Main projects using this license
The GNU Classpath project aim to create a free implementation of the standard class library for the Java programming language.
The use of the linking exception permits static linking of ahead-of-time compiled Closed source Java programs built on the GNU Classpath implementation without the re-linking requirement of the LGPL[1].
Additionally, the libgcc library in the GNU Compiler Collection uses a very similar linking exception.[2]
Furthermore, Sun Microsystems will release the Java Standard Edition project under the GPL v2 license plus the ClassPath Exception.[3]
Quite a large number of open source software libraries use an equivalent GPL plus exception license, although the wording of the exception varies. Due to the use of this library by both GNU Classpath and the Sun Java libraries, it is expected that this wording will be adopted by most other projects, and that a common name will be invented for this style of license. There have been complaints that the FSF has been actively discouraging this type of license by not giving it a memorable and short name.