A GPL linking exception modifies the
GNU General Public License (GPL) in a way that enables software projects which provide
library code to be "
linked to" the programs that use them, without applying the full terms of the GPL to the using program. Linking is the technical process of connecting code in a library to the using code, to produce a single
executable file. It is performed either at
compile time
In computer science, compile time (or compile-time) describes the time window during which a computer program is compiled.
The term is used as an adjective to describe concepts related to the context of program compilation, as opposed to concep ...
or
run-time in order to produce functional machine-readable code. The Free Software Foundation states that, without applying the ''linking exception'', a program linked to GPL library code may only be distributed under a GPL-compatible license. This has not been explicitly tested in court, but linking violations have resulted in settlement. The license of the
GNU Classpath
GNU Classpath is a free software implementation of the standard class library for the Java programming language. Most classes from J2SE 1.4 and 5.0 are implemented. Classpath can thus be used to run Java-based applications. GNU Classpath is a p ...
project explicitly includes a statement to that effect.
Many free software libraries which are distributed under the GPL use an equivalent exception, although the wording of the exception varies. Notable projects include
ERIKA Enterprise,
GNU Guile,
[Stallman, Richard]
Various Licenses and Comments about Them
. Free Software Foundation. Published on 2007-05-17. Retrieved on 2007-05-18. the run-time libraries of
GNAT,
GNU Classpath
GNU Classpath is a free software implementation of the standard class library for the Java programming language. Most classes from J2SE 1.4 and 5.0 are implemented. Classpath can thus be used to run Java-based applications. GNU Classpath is a p ...
[Classpath::License](_blank)
Free Software Foundation. 2007-04-23. Retrieved on 2007-05-18. and the
GCC Runtime Library Exception.
[GCC Runtime Library Exception](_blank)
Free Software Foundation. 2009-03-31. Retrieved on 2011-10-18.
Compiler runtime libraries also often use this license modification or an equivalent one, e.g. the
libgcc
library in the
GNU Compiler Collection
The GNU Compiler Collection (GCC) is an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems. The Free Software Foundation (FSF) distributes GCC as free softwa ...
, as well as all libraries of the
Free Pascal
Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, witexception clausesthat allow static linking against it ...
project.
In 2007, Sun Microsystems released most of the
source code to the
class libraries for the
Java SE
Java Platform, Standard Edition (Java SE) is a computing platform for development and deployment of portable code for desktop and server environments. Java SE was formerly known as Java 2 Platform, Standard Edition (J2SE).
The platform uses Jav ...
and
Java EE projects under version 2 of the GPL license plus the Classpath linking exception, and used the same license as one possible license for their enterprise server
GlassFish and for their
NetBeans Java
IDE.
[Netbeans license](_blank)
. 2008-03-27. Retrieved on 2008-03-27.
Version 3 of the
GNU Lesser General Public License
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their ow ...
(LGPL) is likewise constructed as an exception to the GPL.
Guide to the second draft of LGPLv3
2007-04-03. Retrieved on 2007-05-10.
The Classpath exception
The GNU Classpath
GNU Classpath is a free software implementation of the standard class library for the Java programming language. Most classes from J2SE 1.4 and 5.0 are implemented. Classpath can thus be used to run Java-based applications. GNU Classpath is a p ...
project provides an example of the use of such a GPL linking exception. The GNU Classpath library uses the following license:
As such, it can be used to run, create and distribute a large class of applications and applets. When GNU Classpath is used unmodified as the core class library for a virtual machine, compiler for the Java language, or for a program written in the Java programming language it does not affect the licensing for distributing those programs directly.
The GNU Lesser General Public License
While version 2.1 of the LGPL was a standalone licence, the current LGPL
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their ow ...
version 3 is based on a reference to the GPL.
Compared to the GNU Classpath license above, the LGPL formulates more requirements to the linking exception: licensees must allow modification of the portions of the library they use and reverse engineering (of their software and the library) for debugging such modifications.
See also
*
* Free software licence
* GNAT Modified General Public License
* OpenSSL Exception
* Software using the GPL linking exception (category)
* GPL font exception
The GPL font exception clause (or GPL+FE, for short) is an optional clause that can be added to the GNU General Public License (GNU GPL) permitting digital fonts shared with that license to be embedded within a digital document file without requ ...
References
External links
{{DEFAULTSORT:Gpl Linking Exception
GNU Project
Software licenses