GNU General Public License (переводят как Универсальная общественная лицензия GNU , Универсальная общедоступная лицензия GNU или Открытое лицензионное соглашение GNU ) - лицензия на свободное программное обеспечение , созданная в рамках проекта GNU в г., по которой автор передаёт программное обеспечение в общественную собственность . Её также сокращённо называют GNU GPL или даже просто GPL , если из контекста понятно, что речь идёт именно о данной лицензии (существует довольно много других лицензий, содержащих слова «general public license» в названии). Вторая версия этой лицензии была выпущена в 1991 году , третья версия, после многолетней работы и длительной дискуссии - в 2007 году . GNU Lesser General Public License (LGPL) - это ослабленная версия GPL, предназначенная для некоторых библиотек ПО . GNU Affero General Public License - это усиленная версия GPL для программ, предназначенных для доступа к ним через сеть .
Цель GNU GPL - предоставить пользователю права копировать, модифицировать и распространять (в том числе на коммерческой основе) программы, а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права . Принцип «наследования» прав называется «копилефт » (транслитерация c англ. copyleft ) и был придуман Ричардом Столлманом . По контрасту с GPL, лицензии проприетарного ПО «очень редко дают пользователю такие права и обычно, наоборот, стремятся их ограничить, например, запрещая восстановление исходного кода » .
GNU GPL не позволяет включать программу в проприетарное ПО. Если данная программа является библиотекой, вероятно, лучшим будет разрешить проприетарному ПО линковаться с ней. Для данной цели необходимо использовать GNU Lesser General Public License вместо GPL .
GPL предоставляет получателям компьютерных программ следующие права, или «свободы» :
В общем случае распространитель программы, полученной на условиях GPL, либо программы, основанной на таковой, обязан предоставить получателю возможность получить соответствующий исходный код.
Компании, распространяющие GPLv3-ПО, не могут предъявлять к пользователям GPLv3-продуктов судебные претензии касательно обхода распространяемыми версиями продуктов ТСЗАП и нарушения ими же патентов распространителей. Также запрещена тивоизация .
Текст GNU GPL состоит из нескольких пронумерованных разделов. Ниже приведена схема версии 2.0 лицензии. Эта схема не имеет никакой юридической силы и служит только для краткого ознакомления.
Использование копилефта накладывает определённые ограничения на объединение работ под GPL и другими свободными (в первую очередь, копилефтными) лицензиями в производных работах.
GPLv2 несовместима с лицензиями Mozilla Public License (MPL), Common Development and Distribution License (CDDL), Apache Software License и некоторыми другими.
GPLv3 была сделана совместимой с лицензией Apache, однако с MPL и её производными она несовместима . Работы под MPL часто одновременно лицензируются и под GPL, и под LGPL (например, код Mozilla Firefox), что частично решает проблему.
Известным примером несовместимости GPL с другой лицензией является невозможность включения файловой системы ZFS , выпущенной Sun Microsystems под CDDL , в ядро Linux , выпущенное под GPLv2.
Любая несвободная лицензия несовместима с GPL.
GNU GPL требует распространения с бинарными файлами (в том числе неизменными) исходного кода или письменного обязательства его предоставить (своего или чужого; способы зависят от версии лицензии). Некоторые авторы считают, что это требование непривычно для отдельных пользователей и разработчиков, и не является для них очевидным и понятным .
Иногда у авторов возникают затруднения в выборе того, что считать исходным кодом для цифровых представлений аналоговых данных: музыкальных записей, видео с видеокамеры, фотографических изображений. Обычно это происходит при использовании сжатия с потерями или многократном преобразовании (например, цифровая запись игры на пианино по нотам или пения). Например, под вопросом свободность звуковой дорожки под лицензией CC BY-SA (не требующей распространять исходный код), если её компоненты недоступны под свободной лицензией отдельно , так как из них нельзя собрать такую же или другую звуковую дорожку. [ ]
Но, в то же время, международное право имеет примат перед российским для международных договоров и сделок, то есть для правообладателя - гражданина РФ, действие договора под лицензией GPL будет распространяться только на территорию РФ (), а для иностранного гражданина он будет действовать в полную силу .
Рано или поздно каждый разработчик сталкивается с вопросом лицензирования своих разработок. Более или менее понятно, когда разрабатывается коммерческий продукт с закрытым кодом. Но когда разработчик желает распространять программу, плагин или библиотеку классов бесплатно и с открытыми кодами, то могут возникнуть трудности, потому что в природе существует масса лицензий подобного рода. Эта статья призвана собрать, упорядочить данные по лицензиям и вычленить самое главное.
Если касаться мира «свободных» лицензий, то основным столпом и стержнем можно посчитать GNU General Public License (GPL). И в этой статье я хотел бы разделить лицензии, которые попадают под GNU GPL и описать все другие, которые не попадают под условия этой лицензии. Первая часть статьи будет описывать саму GNU GPL, ее краткую историю, другие лицензии, которые похожи на нее. В конце я приведу небольшой словарик терминов и сокращений.
GNU General Public License или открытое лицензионное соглашение GNU - это лицензия, первый вариант которой датируется 1 февраля 1989 года (википедия сообщает о 1988 г, но я считаю дату которая стоит на оригинале). На сегодняшний день существует четыре варианта лицензии, которые нумеруются в порядке появления.
7. Лицензиат не освобождается от исполнения обязательств в соответствии с настоящей Лицензией в случае, если в результате решения суда или заявления о нарушении исключительных прав или в связи с наступлением иных обстоятельств, не связанных непосредственно с нарушением исключительных прав, на Лицензиата на основании решения суда, договора или ином основании возложены обязательства, которые противоречат условиям настоящей Лицензии. В этом случае Лицензиат не вправе распространять экземпляры Программы, если он не может одновременно исполнить условия настоящей Лицензии и возложенные на него указанным выше способом обязательства. Например, если по условиям лицензионного соглашения сублицензиатам не может быть предоставлено право бесплатного распространения экземпляров Программы, которые они приобрели напрямую или через третьих лиц у Лицензиата, то в этом случае Лицензиат обязан отказаться от распространения экземпляров Программы.
Если любое положение настоящего пункта при наступлении конкретных обстоятельств будет признано недействительным или неприменимым, настоящий пункт применяется за исключением такого положения. Настоящий пункт применяется в целом при прекращении вышеуказанных обстоятельств или их отсутствии.
Целью данного пункта не является принуждение Лицензиата к нарушению патента или заявления на иные права собственности или к оспариванию действительности такого заявления. Единственной целью данного пункта является защита неприкосновенности системы распространения свободного программного обеспечения, которая обеспечивается за счет общественного лицензирования. Многие люди внесли свой щедрый вклад в создание большого количества программного обеспечения, которое распространяется через данную систему в надежде на ее длительное и последовательное применение. Лицензиат не вправе вынуждать автора распространять программное обеспечение через данную систему. Право выбора системы распространения программного обеспечения принадлежит исключительно его автору.
Настоящий пункт 7 имеет целью четко определить те цели, которые преследуют все остальные положения настоящей Лицензии.
8. В том случае если распространение и/или использование Программы в отдельных государствах ограничено соглашениями в области патентных или авторских прав, первоначальный правообладатель, распространяющий Программу на условиях настоящей Лицензии, вправе ограничить территорию распространения Программы, указав только те государства, на территории которых допускается распространение Программы без ограничений, обусловленных такими соглашениями. В этом случае такое указание в отношении территорий определенных государств признается одним из условий настоящей Лицензии.
Как можно заметить, основным мотивом служит следующий принцип: программа не должна распространяться, если конечный пользователь не может в полной мере использовать свое право на модификацию и распространение под той же самой лицензией.
Кроме того, GPL 3.0 борется с таким явлением как «тивоизация», когда устройство, на котором установлено программное обеспечение под лицензией GPL, не позволяет вам в силу различных причин модифицировать его. GPL v3.0 запрещает тивоизацию для товаров народного потребления (оставляя возможность тивоизации для медицинских и других важных устройств).
Вместе с GPL 3.0 вышла так же обновленная версия GNU Lesser GPL 3.0, которая продолжает отличаться тем, что позволяет использовать свободные библиотеки в закрытом ПО.
Рано или поздно каждый разработчик сталкивается с вопросом лицензирования своих разработок. Более или менее понятно, когда разрабатывается коммерческий продукт с закрытым кодом. Но когда разработчик желает распространять программу, плагин или библиотеку классов бесплатно и с открытыми кодами, то могут возникнуть трудности, потому что в природе существует масса лицензий подобного рода. Эта статья призвана собрать, упорядочить данные по лицензиям и вычленить самое главное.
UPD
: опубликован перевод небольшого куска официального GPL FAQ habrahabr.ru/blogs/Dura_Lex/45878
UPD2
: скорректирован и переформулирован список совместимых лицензий
Если касаться мира «свободных» лицензий, то основным столпом и стержнем можно посчитать GNU General Public License (GPL). И в этой статье я хотел бы разделить лицензии, которые попадают под GNU GPL и описать все другие, которые не попадают под условия этой лицензии. Первая часть статьи будет описывать саму GNU GPL, ее краткую историю, другие лицензии, которые похожи на нее. В конце я приведу небольшой словарик терминов и сокращений.
GNU General Public License или открытое лицензионное соглашение GNU - это лицензия, первый вариант которой датируется 1 февраля 1989 года (википедия сообщает о 1988 г, но я считаю дату которая стоит на оригинале). На сегодняшний день существует четыре варианта лицензии, которые нумеруются в порядке появления.
7. Лицензиат не освобождается от исполнения обязательств в соответствии с настоящей Лицензией в случае, если в результате решения суда или заявления о нарушении исключительных прав или в связи с наступлением иных обстоятельств, не связанных непосредственно с нарушением исключительных прав, на Лицензиата на основании решения суда, договора или ином основании возложены обязательства, которые противоречат условиям настоящей Лицензии. В этом случае Лицензиат не вправе распространять экземпляры Программы, если он не может одновременно исполнить условия настоящей Лицензии и возложенные на него указанным выше способом обязательства. Например, если по условиям лицензионного соглашения сублицензиатам не может быть предоставлено право бесплатного распространения экземпляров Программы, которые они приобрели напрямую или через третьих лиц у Лицензиата, то в этом случае Лицензиат обязан отказаться от распространения экземпляров Программы.
Если любое положение настоящего пункта при наступлении конкретных обстоятельств будет признано недействительным или неприменимым, настоящий пункт применяется за исключением такого положения. Настоящий пункт применяется в целом при прекращении вышеуказанных обстоятельств или их отсутствии.
Целью данного пункта не является принуждение Лицензиата к нарушению патента или заявления на иные права собственности или к оспариванию действительности такого заявления. Единственной целью данного пункта является защита неприкосновенности системы распространения свободного программного обеспечения, которая обеспечивается за счет общественного лицензирования. Многие люди внесли свой щедрый вклад в создание большого количества программного обеспечения, которое распространяется через данную систему в надежде на ее длительное и последовательное применение. Лицензиат не вправе вынуждать автора распространять программное обеспечение через данную систему. Право выбора системы распространения программного обеспечения принадлежит исключительно его автору.
Настоящий пункт 7 имеет целью четко определить те цели, которые преследуют все остальные положения настоящей Лицензии.
8. В том случае если распространение и/или использование Программы в отдельных государствах ограничено соглашениями в области патентных или авторских прав, первоначальный правообладатель, распространяющий Программу на условиях настоящей Лицензии, вправе ограничить территорию распространения Программы, указав только те государства, на территории которых допускается распространение Программы без ограничений, обусловленных такими соглашениями. В этом случае такое указание в отношении территорий определенных государств признается одним из условий настоящей Лицензии.
Как можно заметить, основным мотивом служит следующий принцип: программа не должна распространяться, если конечный пользователь не может в полной мере использовать свое право на модификацию и распространение под той же самой лицензией.
Кроме того, GPL 3.0 борется с таким явлением как «тивоизация», когда устройство, на котором установлено программное обеспечение под лицензией GPL, не позволяет вам в силу различных причин модифицировать его. GPL v3.0 запрещает тивоизацию для товаров народного потребления (оставляя возможность тивоизации для медицинских и других важных устройств).
Вместе с GPL 3.0 вышла так же обновленная версия GNU Lesser GPL 3.0, которая продолжает отличаться тем, что позволяет использовать свободные библиотеки в закрытом ПО.