A Исключение связывания GPL изменяет Стандартную общественную лицензию GNU (GPL) таким образом, чтобы программные проекты, которые предоставляют код библиотеки, который должен быть «связан с » программами, которые их используют, без применения полных условий GPL к использующей программе. Связывание - это технический процесс соединения кода в библиотеке с используемым кодом для создания единого исполняемого файла . Он выполняется либо во время компиляции, либо во время выполнения для создания функционального машиночитаемого кода. Существует общественное мнение, до сих пор не подкрепленное никакими правовыми прецедентами или цитированием, что без применения исключения для связывания программа, связанная с кодом библиотеки GPL, может распространяться только под лицензией, совместимой с GPL. Лицензия проекта GNU Classpath явно включает утверждение на этот счет.
Многие библиотеки бесплатного программного обеспечения, распространяемые под лицензией GPL, используют эквивалентное исключение, хотя формулировка исключения может быть разной. Известные проекты включают ERIKA Enterprise, GNU Guile, библиотеки времени выполнения GNAT, GNU Classpath и.
Библиотеки времени выполнения компилятора также часто используют эту модификацию лицензии или эквивалентную, например библиотеку libgcc
в GNU Compiler Collection, а также все библиотеки проекта Free Pascal.
В 2007 году Sun Microsystems выпустила большую часть исходного кода для библиотек классов для Java SE и Java EE проектов под версией 2 лицензии GPL плюс исключение связывания пути к классам, и использовали ту же лицензию, что и одна возможная лицензия для своего корпоративного сервера GlassFish и для своих NetBeans Java IDE.
Версия 3 Стандартной общественной лицензии ограниченного применения GNU (LGPL) аналогичным образом сконструирована как исключение из GPL.
Проект GNU Classpath предоставляет пример использования таких исключение связывания GPL . Библиотека GNU Classpath использует следующую лицензию:
Таким образом, его можно использовать для запуска, создания и распространения большого класса приложений и апплетов. Когда GNU Classpath используется без изменений в качестве основной библиотеки классов для виртуальной машины, компилятора для языка Java или для программы, написанной на языке программирования Java, это не влияет на лицензирование для прямого распространения этих программ.
В то время как версия 2.1 LGPL была отдельной лицензией, текущая LGPL версия 3 основана на ссылке на GPL.
По сравнению с лицензией GNU Classpath, приведенной выше, LGPL формулирует больше требований к исключению связывания: лицензиаты должны разрешать модификацию частей библиотеки, которые они используют, и обратный инжиниринг (своего программного обеспечения и библиотеки) для отладки таких
Работы, связанные с исключением связывания GPL в Wikisource