Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
GPL linking exception
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|License exception of GNU General Public License}} A '''GPL linking exception''' modifies the [[GNU General Public License]] (GPL) in a way that enables software projects which provide [[Library (computing)|library]] code to be "[[Linker (computing)|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|executable file]]. It is performed either at [[compile time]] or [[Run time (program lifecycle phase)|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.<ref>{{cite web |title = GPL FAQ - Linking With GPL |url = https://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL }}</ref> This has not been explicitly tested in court, but linking violations have resulted in settlement.<ref>{{cite web | url=https://www.theregister.com/2002/11/21/mysql_nusphere_settle_gpl_contract/ | title=MySQL, NuSphere Settle GPL Contract Dispute | access-date=20 May 2021}}</ref> The license of the [[#The Classpath exception|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]],<ref>{{cite web |url=http://wiki.automotive.linuxfoundation.org/index.php/Erika_Enterprise_Open-Source_RTOS |title=Erika Enterprise Open-Source RTOS |work=[[Linux Foundation]]}}</ref> [[GNU Guile]],<ref name="license-list">Stallman, Richard. [https://www.gnu.org/philosophy/license-list.html Various Licenses and Comments about Them] {{webarchive |url=https://web.archive.org/web/20000815065020/http://www.gnu.org/philosophy/license-list.html |date=August 15, 2000 }}. Free Software Foundation. Published on 2007-05-17. Retrieved on 2007-05-18.</ref> the run-time libraries of [[GNAT]],<ref name="license-list" /> [[GNU Classpath]]<ref name="classpathlicense">[https://www.gnu.org/software/classpath/license.html Classpath::License]. Free Software Foundation. 2007-04-23. Retrieved on 2007-05-18.</ref> and the [[GCC Runtime Library Exception]].<ref name="gccruntimelibraryexception">[https://www.gnu.org/licenses/gcc-exception.html GCC Runtime Library Exception]. Free Software Foundation. 2009-03-31. Retrieved on 2011-10-18.</ref> Compiler runtime libraries also often use this license modification or an equivalent one, e.g. the <code>libgcc</code> library in the [[GNU Compiler Collection]],<ref>[https://archive.today/20120708181428/http://gcc.gnu.org/viewcvs/trunk/gcc/libgcc2.c?revision=152139&view=markup Text of the GCC license] gcc code repository. 2009-09-24. Retrieved on 2010-01-19.</ref> as well as all libraries of the [[Free Pascal]] project. In 2007, Sun Microsystems released most of the [[source code]] to the [[class library|class libraries]] for the [[Java Platform, Standard Edition|Java SE]] and [[Java Platform, Enterprise Edition|Java EE]] projects under version 2 of the GPL license plus the Classpath linking exception,<ref>{{cite web | url=http://www.sun.com/software/opensource/java/project_overview.jsp | title= Open-Source Java Project Overview | publisher=[[Sun Microsystems]] | access-date=2007-05-22}}</ref> and used the same license as one possible license for their enterprise server [[GlassFish]]<ref name="glassfishlicense">{{cite web |url = https://glassfish.dev.java.net/public/CDDL+GPL.html |archive-url = https://wayback.archive-it.org/all/20160117093912/https://glassfish.java.net/public/CDDL+GPL.html |url-status = dead |archive-date = 2016-01-17 |title = Glassfish license |date = 2008-03-27 |access-date = 2008-03-27 }}</ref> and for their [[NetBeans]] Java [[Integrated development environment|IDE]].<ref name="netbeanslicense">[http://www.netbeans.org/about/legal/license.html Netbeans license] {{Webarchive|url=https://web.archive.org/web/20060713050255/http://www.netbeans.org/about/legal/license.html |date=2006-07-13 }}. 2008-03-27. Retrieved on 2008-03-27.</ref> Version 3 of the [[GNU Lesser General Public License]] (LGPL)<ref>[https://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, Version 3]. 2007-06-29. Retrieved on 2007-10-19.</ref> is likewise constructed as an exception to the GPL.<ref>[http://gplv3.fsf.org/lgpl3-dd2-guide Guide to the second draft of LGPLv3]. 2007-04-03. Retrieved on 2007-05-10.</ref> ==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: {{quote|Classpath is distributed under the terms of the GNU General Public License 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.}} 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.<ref name="classpathlicense"/> ==The GNU Lesser General Public License== While version 2.1 of the LGPL was a standalone licence, the current [[LGPL]] 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. {{Citation needed|date=September 2014}} == See also == {{Portal|Free and open-source software}} * {{format link|GNU General Public License#Linking and derived works}} * [[Free-software licence]] * [[GNAT Modified General Public License]] * [[OpenSSL#Licensing|OpenSSL Exception]] * [[:Category:Software using the GPL linking exception|Software using the GPL linking exception (category)]] * [[GPL font exception]] ==References== {{Reflist}} ==External links== {{Wikisource inline}} {{GNU}} {{DEFAULTSORT:Gpl Linking Exception}} [[Category:GNU Project]] [[Category:Copyleft software licenses]] [[Category:Software using the GPL linking exception| ]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation needed
(
edit
)
Template:Cite web
(
edit
)
Template:Format link
(
edit
)
Template:GNU
(
edit
)
Template:Portal
(
edit
)
Template:Quote
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Webarchive
(
edit
)
Template:Wikisource inline
(
edit
)