A GPL linking exception modifies the
GNU General Public License
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
(GPL) in a way that enables software projects which provide
library
A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
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
In computer science, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions", as opposed to a da ...
. It is performed either at
compile time
In computer science, compile time (or compile-time) describes the time window during which a language's statements are converted into binary instructions for the processor to execute. The term is used as an adjective to describe concepts relat ...
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 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
GNAT is a free-software compiler for the Ada programming language which forms part of the GNU Compiler Collection (GCC). It supports all versions of the language, i.e. Ada 2012, Ada 2005, Ada 95 and Ada 83. Originally its ...
,
GNU Classpath[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 a collection of compilers from the GNU Project that support various programming languages, Computer architecture, hardware architectures, and operating systems. The Free Software Foundation (FSF) distributes ...
, as well as all libraries of the
Free Pascal project.
In 2007, Sun Microsystems released most of the
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
to the
class libraries for the
Java SE 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
GlassFish is an open-source Jakarta EE platform application server project started by Sun Microsystems, then sponsored by Oracle Corporation, and now living at the Eclipse Foundation and supported by OmniFish, Fujitsu and Payara. The support ...
and for their
NetBeans
NetBeans is an integrated development environment (IDE) for Java (programming language), Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Microsoft Windows, Windows, ...
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 own ...
(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 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 own ...
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
OpenSSL is a software library (computing), library for applications that provide secure communications over computer networks against eavesdropping, and identify the party at the other end. It is widely used by Internet server (computing), serv ...
* Software using the GPL linking exception (category)
* GPL font exception
References
External links
{{DEFAULTSORT:Gpl Linking Exception
GNU Project
Copyleft software licenses