GNU General Public Licenses ( GNU GPL или просто GPL ) — это серия широко используемых лицензий свободного программного обеспечения или лицензий с авторским левом , которые гарантируют конечным пользователям свободу запускать, изучать, делиться и изменять программное обеспечение. [7] GPL была первой лицензией с авторским левом для общего пользования и изначально была написана Ричардом Столлманом , основателем Free Software Foundation (FSF), для проекта GNU . Лицензия предоставляет получателям компьютерной программы права на определение свободного программного обеспечения . [8] Все лицензии в серии GPL являются лицензиями с авторским левом, что означает, что любая производная работа должна распространяться на тех же или эквивалентных условиях лицензии. Она более ограничительна, чем Lesser General Public License , и еще больше отличается от более широко используемых разрешительных лицензий программного обеспечения, таких как BSD , MIT и Apache .
Исторически семейство лицензий GPL было одной из самых популярных лицензий на программное обеспечение в области свободного и открытого программного обеспечения (FOSS). [7] [9] [10] [11] [12] Известные свободные программы, лицензированные по GPL, включают ядро Linux и GNU Compiler Collection (GCC). Дэвид А. Уилер утверждает, что копилефт, предоставляемый GPL, имел решающее значение для успеха систем на базе Linux , давая программистам, которые внесли свой вклад в ядро, уверенность в том, что их работа принесет пользу всему миру и останется свободной, а не будет эксплуатироваться компаниями-разработчиками программного обеспечения, которым не придется ничего отдавать сообществу. [13]
В 2007 году была выпущена третья версия лицензии (GPLv3) для решения некоторых предполагаемых проблем со второй версией (GPLv2), которые были обнаружены в ходе длительного использования последней.
Для поддержания актуальности лицензии лицензия GPL включает необязательный пункт «любая более поздняя версия», позволяющий пользователям выбирать между исходными условиями или условиями в новых версиях, обновленных FSF. Программные проекты, лицензированные с необязательным пунктом «или более поздняя», включают проект GNU, в то время как ядро Linux, например, лицензируется только по GPLv2.
Пункт «или любая более поздняя версия» иногда называют «спасательным пунктом», поскольку он допускает комбинации между различными версиями программного обеспечения, лицензированного по GPL, для сохранения совместимости.
Оригинальная GPL была написана Ричардом Столлманом в 1989 году для использования с программами, выпущенными в рамках проекта GNU. Она была основана на объединении схожих лицензий, используемых для ранних версий GNU Emacs (1985), [14] GNU Debugger и GNU C Compiler . [15] Эти лицензии содержали положения, схожие с положениями современной GPL, но были специфичны для каждой программы, что делало их несовместимыми, несмотря на то, что это была одна и та же лицензия. [16] Целью Столлмана было создание одной лицензии, которую можно было бы использовать для любого проекта, что позволило бы многим проектам совместно использовать код.
Вторая версия лицензии, версия 2, была выпущена в 1991 году. В течение следующих 15 лет члены сообщества свободного программного обеспечения были обеспокоены проблемами в лицензии GPLv2, которые могли позволить кому-либо эксплуатировать программное обеспечение, лицензированное по GPL, способами, противоречащими цели лицензии. [17] Эти проблемы включали тивоизацию (включение программного обеспечения, лицензированного по GPL, в оборудование, которое отказывается запускать измененные версии своего программного обеспечения), проблемы совместимости, аналогичные проблемам AGPL (v1) , и патентные соглашения между Microsoft и дистрибьюторами свободного и открытого программного обеспечения, которые некоторые рассматривали как попытку использовать патенты в качестве оружия против сообщества свободного программного обеспечения.
Версия 3 была разработана как попытка решить эти проблемы и была официально выпущена 29 июня 2007 года. [18]
Версия 1 GNU GPL, [19] выпущенная 25 февраля 1989 года, [20] была написана для защиты от двух основных методов, с помощью которых дистрибьюторы программного обеспечения ограничивали свободы, определяющие свободное программное обеспечение. Первая проблема заключалась в том, что дистрибьюторы могли публиковать только исполняемые, но не читаемые или изменяемые людьми двоичные файлы . Чтобы предотвратить это, GPLv1 заявила, что копирование и распространение копий любой части программы должно также делать исходный код, читаемый человеком, доступным на тех же условиях лицензирования. [a]
Вторая проблема заключалась в том, что дистрибьюторы могли добавлять ограничения либо к лицензии, либо объединяя программное обеспечение с другим программным обеспечением, имеющим другие ограничения на распространение. Объединение двух наборов ограничений применялось бы к объединенной работе, тем самым добавляя неприемлемые ограничения. Чтобы предотвратить это, GPLv1 гласила, что измененные версии в целом должны распространяться на условиях GPLv1. [b] Таким образом, программное обеспечение, распространяемое на условиях GPLv1, можно было бы объединить с программным обеспечением на более разрешительных условиях, поскольку это не изменило бы условия, на которых целое могло бы распространяться. Однако программное обеспечение, распространяемое на условиях GPLv1, нельзя было бы объединить с программным обеспечением, распространяемым на условиях более ограничительной лицензии, поскольку это противоречило бы требованию, чтобы целое могло распространяться на условиях GPLv1.
По словам Ричарда Столлмана, основным изменением в GPLv2 стал пункт «Свобода или смерть», как он его называет [16] – Раздел 7. В этом разделе говорится, что лицензиаты могут распространять работу, защищенную GPL, только если они могут выполнить все обязательства по лицензии, несмотря на любые другие юридические обязательства, которые у них могут быть. Другими словами, обязательства по лицензии не могут быть разорваны из-за конфликтующих обязательств. Это положение призвано воспрепятствовать любой стороне использовать иск о нарушении патентных прав или другие судебные разбирательства для ущемления свободы пользователей в соответствии с лицензией. [16]
К 1990 году стало очевидно, что менее ограничительная лицензия будет стратегически полезна для библиотеки C и для программных библиотек, которые по сути выполняли работу существующих проприетарных; [21] когда в июне 1991 года была выпущена версия 2 GPL (GPLv2), поэтому вторая лицензия — GNU Library General Public License — была представлена в то же время и пронумерована версией 2, чтобы показать, что обе они являются взаимодополняющими. [22] Номера версий разошлись в 1999 году, когда была выпущена версия 2.1 LGPL, которая переименовала ее в GNU Lesser General Public License , чтобы отразить ее место в философии. GPLv2 также была изменена, чтобы ссылаться на новое название LGPL, но ее номер версии остался прежним, в результате чего исходная GPLv2 не была признана Software Package Data Exchange (SPDX). [23] [ проверка не удалась ]
Лицензия содержит инструкции по указанию «версии 2 Лицензии или (по вашему выбору) любой более поздней версии», чтобы обеспечить гибкое опциональное использование версии 2 или 3, но некоторые разработчики изменяют это, указывая только «версию 2».
В конце 2005 года Free Software Foundation (FSF) объявил о работе над версией 3 GPL (GPLv3). 16 января 2006 года был опубликован первый «черновик обсуждения» GPLv3, и начались публичные консультации. Первоначально публичные консультации планировалось провести в течение девяти-пятнадцати месяцев, но в конечном итоге они продлились восемнадцать месяцев, и было опубликовано четыре черновика. Официальная GPLv3 была выпущена FSF 29 июня 2007 года. GPLv3 была написана Ричардом Столлманом при участии юридических консультантов Эбена Моглена и Ричарда Фонтаны из Software Freedom Law Center . [24] [25]
По словам Столлмана, наиболее важные изменения были связаны с патентами на программное обеспечение , совместимостью лицензий свободного программного обеспечения , определением «исходного кода» и аппаратными ограничениями на модификации программного обеспечения, такими как тивоизация . [24] [26] Другие изменения касались интернационализации, того, как обрабатываются нарушения лицензий, и того, как дополнительные разрешения могут быть предоставлены владельцем авторских прав. Понятие «распространение программного обеспечения», как термин для копирования и дублирования программного обеспечения, было четко определено.
Процесс общественных консультаций координировался Free Software Foundation при содействии Software Freedom Law Center, Free Software Foundation Europe [27] и других групп свободного программного обеспечения. Комментарии от общественности собирались через веб-портал gplv3.fsf.org [28] с использованием специально написанного программного обеспечения под названием stet .
В ходе процесса публичных консультаций было подано 962 комментария к первому проекту. [29] К концу периода комментариев было подано в общей сложности 2636 комментариев. [30]
Третий проект был выпущен 28 марта 2007 года. [31] Этот проект включал формулировку, призванную предотвратить патентные соглашения, такие как спорное патентное соглашение Microsoft-Novell , и ограничивал антитивоизационные положения юридическим определением «пользователя» и «потребительского продукта». Он также явно удалил раздел «Географические ограничения», вероятное удаление этого раздела было объявлено в начале публичных консультаций.
Четвертый проект обсуждения [32] , который был последним, был выпущен 31 мая 2007 года. Он представил совместимость с лицензией Apache версии 2.0 (предыдущие версии несовместимы), разъяснил роль внешних подрядчиков и сделал исключение, чтобы избежать предполагаемых проблем соглашения в стиле Microsoft–Novell, заявив в пункте 6 раздела 11 следующее:
Вы не имеете права передавать защищенную работу, если вы являетесь стороной соглашения с третьей стороной, которая занимается распространением программного обеспечения, в соответствии с которым вы производите оплату третьей стороне в зависимости от объема вашей деятельности по передаче работы, и в соответствии с которым третья сторона предоставляет любой из сторон, которая получит от вас защищенную работу, дискриминационную патентную лицензию ...
Это было направлено на то, чтобы сделать такие будущие сделки неэффективными. Лицензия также должна была заставить Microsoft распространить патентные лицензии, которые она предоставила клиентам Novell для использования программного обеспечения GPLv3, на всех пользователей этого программного обеспечения GPLv3; это было возможно только в том случае, если Microsoft была бы юридически «конвейером» программного обеспечения GPLv3. [33]
Ранние проекты GPLv3 также позволяли лицензиарам добавлять требование, подобное AGPL , которое закрыло бы лазейку ASP в GPL . [34] [35] Поскольку высказывались опасения относительно административных расходов на проверку кода на предмет этого дополнительного требования, было решено разделить лицензии GPL и AGPL. [36]
Другие, в частности, некоторые известные разработчики ядра Linux , такие как Линус Торвальдс , Грег Кроа-Хартман и Эндрю Мортон , прокомментировали ситуацию в СМИ и сделали публичные заявления о своих возражениях по частям обсуждаемых проектов 1 и 2. [37] Разработчики ядра ссылались на пункты проекта GPLv3, касающиеся DRM / Tivoization , патентов и «дополнительных ограничений», и предупредили о балканизации «Вселенной с открытым исходным кодом». [37] [38] Линус Торвальдс, который решил не принимать GPLv3 для ядра Linux, [39] повторил свою критику несколько лет спустя. [40] [41]
GPLv3 улучшила совместимость с несколькими лицензиями свободного ПО, такими как Apache License версии 2.0 и GNU Affero General Public License, с которыми GPLv2 нельзя было объединить. [42] Однако программное обеспечение GPLv3 можно было объединить и использовать общий код с программным обеспечением GPLv2, только если используемая лицензия GPLv2 имела необязательный пункт «или более поздняя версия», а программное обеспечение было обновлено до GPLv3. В то время как пункт «GPLv2 или любая более поздняя версия» рассматривается FSF как наиболее распространенная форма лицензирования программного обеспечения GPLv2, [43] разработчик Toybox Роб Лэндли описал его как спасательный пункт . [c] Проекты программного обеспечения, лицензированные с необязательным пунктом «или более поздняя версия», включают GNU Project , [ требуется ссылка ], в то время как ярким примером без этого пункта является ядро Linux. [39] [46]
Окончательная версия текста лицензии была опубликована 29 июня 2007 года. [47]
Условия GPL должны быть доступны любому, кто получает копию работы, к которой применяется GPL («лицензиат»). Любому лицензиату, который придерживается условий, дается разрешение изменять работу, а также копировать и распространять работу или любую производную версию. Лицензиату разрешено взимать плату за эту услугу или делать это бесплатно. Этот последний пункт отличает GPL от лицензий на программное обеспечение, которые запрещают коммерческое распространение. FSF утверждает, что свободное программное обеспечение не должно накладывать ограничений на коммерческое использование, [48] а GPL прямо заявляет, что работы GPL могут продаваться по любой цене.
В GPL дополнительно указано, что дистрибьютор не может налагать «дополнительные ограничения на права, предоставляемые GPL». Это запрещает такие действия, как распространение программного обеспечения по соглашению или контракту о неразглашении.
Четвертый раздел для версии 2 лицензии и седьмой раздел версии 3 требуют, чтобы программы, распространяемые как предварительно скомпилированные двоичные файлы, сопровождались копией исходного кода, письменным предложением распространять исходный код через тот же механизм, что и предварительно скомпилированный двоичный файл, или письменным предложением получить исходный код, который пользователь получил, когда он получил предварительно скомпилированный двоичный файл по GPL. Второй раздел версии 2 и пятый раздел версии 3 также требуют предоставить «всем получателям копию этой Лицензии вместе с Программой». Версия 3 лицензии позволяет сделать исходный код доступным дополнительными способами во исполнение седьмого раздела. К ним относятся загрузка исходного кода с соседнего сетевого сервера или путем одноранговой передачи, при условии, что именно так был доступен скомпилированный код, и есть «четкие указания» о том, где найти исходный код.
FSF не владеет авторскими правами на произведение, выпущенное под GPL, если только автор явно не передаст авторские права FSF (что случается редко, за исключением программ, являющихся частью проекта GNU). Только отдельные владельцы авторских прав имеют право подать в суд, если подозревается нарушение лицензии.
Программное обеспечение под лицензией GPL может быть запущено для любых целей, включая коммерческие цели и даже как инструмент для создания проприетарного программного обеспечения , например, при использовании компиляторов с лицензией GPL . [49] Пользователи или компании, которые распространяют работы с лицензией GPL (например, программное обеспечение), могут взимать плату за копии или предоставлять их бесплатно. Это отличает GPL от лицензий на условно-бесплатное программное обеспечение, которые разрешают копирование для личного использования, но запрещают коммерческое распространение, или проприетарных лицензий, где копирование запрещено законом об авторском праве . FSF утверждает, что свободное программное обеспечение, уважающее свободу, также не должно ограничивать коммерческое использование и распространение (включая повторное распространение): [48]
При чисто частном (или внутреннем) использовании — без продажи и распространения — программный код может быть изменен, а части повторно использованы без необходимости выпуска исходного кода. Для продажи или распространения весь исходный код должен быть доступен конечным пользователям, включая любые изменения и дополнения кода — в этом случае применяется копилефт, чтобы гарантировать, что конечные пользователи сохранят свободы, определенные выше. [50]
Однако программное обеспечение, работающее как прикладная программа под лицензией GPL операционной системы, такой как Linux, не обязательно должно лицензироваться под GPL или распространяться с доступностью исходного кода — лицензирование зависит только от используемых библиотек и компонентов программного обеспечения, а не от базовой платформы. [51] Например, если программа состоит только из оригинального исходного кода или объединена с исходным кодом других компонентов программного обеспечения , [d] то пользовательские компоненты программного обеспечения не должны лицензироваться под GPL и не должны предоставлять свой исходный код; даже если используемая базовая операционная система лицензирована под GPL, приложения, работающие на ней, не считаются производными работами. [51] Только если лицензированные под GPL части используются в программе (и программа распространяется), то весь остальной исходный код программы должен быть предоставлен на тех же условиях лицензии. Лицензия GNU Lesser General Public License (LGPL) была создана с целью обеспечить более слабое авторское лево, чем GPL, поскольку она не требует предоставления специально разработанного исходного кода (отличного от частей, лицензированных по LGPL) на тех же условиях лицензии.
В пятом разделе версии 3 говорится, что никакой код, лицензированный по GPL, не должен считаться эффективной «технической мерой защиты», как определено в статье 11 Договора ВОИС об авторском праве , и что те, кто передает работу, отказываются от всех юридических полномочий запрещать обход технической меры защиты «в той мере, в которой такой обход осуществляется путем осуществления прав по настоящей Лицензии в отношении охватываемой работы». Это означает, что пользователи не могут быть привлечены к ответственности за обход DRM, реализованного с использованием кода, лицензированного по GPLv3, в соответствии с такими законами, как Закон США об авторском праве в цифровую эпоху (DMCA). [52]
Права на распространение, предоставляемые GPL для измененных версий работы, не являются безусловными. Когда кто-то распространяет работу, лицензированную GPL, плюс свои собственные модификации, требования к распространению всей работы не могут быть выше требований, указанных в GPL.
Это требование известно как копилефт. Оно получает свою юридическую силу от использования авторских прав на программное обеспечение. Поскольку работа GPL защищена авторским правом, лицензиат не имеет права распространять ее, даже в измененной форме (за исключением добросовестного использования ), за исключением случаев, предусмотренных условиями лицензии. Соблюдать условия GPL требуется только в том случае, если вы хотите воспользоваться правами, обычно ограниченными законом об авторском праве, такими как распространение. И наоборот, если вы распространяете копии работы, не соблюдая условий GPL (например, сохраняя исходный код в секрете), то первоначальный автор может подать на вас в суд в соответствии с законом об авторском праве.
Закон об авторском праве исторически использовался для предотвращения распространения работы сторонами, не уполномоченными создателем. Copyleft использует те же законы об авторском праве для достижения совершенно другой цели. Он предоставляет права на распространение всем сторонам в той мере, в какой они предоставляют те же права последующим сторонам, а они — следующим и т. д. Таким образом, GPL и другие лицензии copyleft пытаются обеспечить свободный доступ к работе и всем производным. [53]
Многие дистрибьюторы программ с лицензией GPL объединяют исходный код с исполняемыми файлами . Альтернативным методом удовлетворения копилефта является предоставление письменного предложения о предоставлении исходного кода на физическом носителе (например, CD) по запросу. На практике многие программы с лицензией GPL распространяются через Интернет, а исходный код предоставляется по FTP или HTTP . Для распространения через Интернет это соответствует лицензии.
Copyleft применяется только тогда, когда человек пытается распространять программу. Разработчики могут создавать частные измененные версии без обязательств разглашать изменения, пока они не распространяют измененное программное обеспечение кому-либо еще. Copyleft применяется только к программному обеспечению, а не к его выходным данным (если только эти выходные данные сами по себе не являются производной работой программы). [e] Например, публичный веб-портал, работающий на измененной производной системе управления контентом с лицензией GPL , не обязан распространять свои изменения в базовом программном обеспечении, поскольку измененный веб-портал не распространяется, а размещается, а также потому, что выходные данные веб-портала также не являются производной работой системы управления контентом с лицензией GPL.
Были дебаты о том, является ли нарушением GPLv1 выпуск исходного кода в запутанной форме, например, в случаях, когда автор менее склонен предоставлять исходный код. Консенсус был в том, что, хотя это и неэтично, это не считается нарушением. Вопрос был прояснен, когда лицензия была изменена с v2, чтобы потребовать, чтобы «предпочтительная» версия исходного кода была доступна. [55]
GPL была разработана как лицензия , а не как контракт. [56] В некоторых юрисдикциях общего права юридическое различие между лицензией и контрактом является важным: контракты подлежат исполнению в соответствии с договорным правом , тогда как лицензии подлежат исполнению в соответствии с законом об авторском праве . Однако это различие бесполезно во многих юрисдикциях, где нет различий между контрактами и лицензиями, например, в системах гражданского права . [57]
Те, кто не принимает условия и положения GPL, не имеют права, в соответствии с законом об авторском праве, копировать или распространять программное обеспечение, лицензированное GPL, или производные работы. Однако, если они не распространяют программу, лицензированную GPL, они все равно могут использовать программное обеспечение в своей организации так, как им нравится, и работы (включая программы), созданные с использованием программы, не обязаны покрываться этой лицензией.
Разработчик программного обеспечения Эллисон Рэндал утверждала, что лицензия GPLv3 излишне запутанна для неспециалистов и может быть упрощена при сохранении тех же условий и юридической силы. [58]
В апреле 2017 года федеральный суд США постановил, что лицензия с открытым исходным кодом является договором, подлежащим исполнению. [59]
В октябре 2021 года SFC подала в суд на Vizio за нарушение договора, поскольку конечный пользователь запросил исходный код для телевизоров Vizio; тем временем федеральный судья постановил, что GPL является договором, подлежащим исполнению конечными пользователями, а также лицензией для владельцев авторских прав. [60]
Текст GPL защищен авторским правом , и авторские права принадлежат Free Software Foundation.
FSF разрешает людям создавать новые лицензии на основе GPL, пока производные лицензии не используют преамбулу GPL без разрешения. Однако это не рекомендуется, поскольку такая лицензия может быть несовместима с GPL [61] и вызывает воспринимаемое распространение лицензий .
Другие лицензии, созданные в рамках проекта GNU, включают GNU Lesser General Public License , GNU Free Documentation License и GNU Affero General Public License .
Текст GPL сам по себе не находится под GPL. Авторские права лицензии запрещают изменение лицензии. Копирование и распространение лицензии разрешено, поскольку GPL требует, чтобы получатели получили «копию этой Лицензии вместе с Программой». [62] Согласно GPL FAQ, любой может создать новую лицензию, используя измененную версию GPL, при условии использования другого названия для лицензии, не упоминания «GNU» и удаления преамбулы, хотя преамбулу можно использовать в измененной лицензии, если разрешение на ее использование получено от Free Software Foundation (FSF). [63]
Согласно FSF, «GPL не требует от вас выпускать измененную версию или любую ее часть. Вы можете свободно вносить изменения и использовать их в частном порядке, не публикуя их». [64] Однако, если кто-то выпускает лицензированный GPL объект для общественности, возникает проблема, связанная со ссылками: а именно, нарушает ли проприетарная программа, использующая библиотеку GPL, GPL.
Этот ключевой спор заключается в том, может ли программное обеспечение, не являющееся GPL, легально статически или динамически связываться с библиотеками GPL. По этому вопросу существуют разные мнения. GPL четко требует, чтобы все производные работы кода под GPL сами находились под GPL. Неопределенность возникает в отношении использования библиотек GPL и объединения программного обеспечения GPL в более крупный пакет (возможно, смешанного в двоичный файл посредством статического связывания). Это в конечном счете вопрос не GPL как таковой , а того, как закон об авторском праве определяет производные работы. Существуют следующие точки зрения:
Free Software Foundation (владеющий авторскими правами на несколько известных программных продуктов с лицензией GPL и на сам текст лицензии) утверждает, что исполняемый файл, использующий динамически связанную библиотеку, действительно является производной работой. Однако это не относится к отдельным программам, взаимодействующим друг с другом. [65]
Фонд свободного программного обеспечения также создал LGPL , которая почти идентична GPL, но с дополнительными разрешениями, позволяющими размещать ссылки в целях «использования библиотеки».
Ричард Столлман и FSF специально призывают авторов библиотек лицензировать их в соответствии с GPL, чтобы проприетарные программы не могли использовать библиотеки, в попытке защитить мир свободного программного обеспечения, предоставив ему больше инструментов, чем мир проприетарного программного обеспечения. [66]
Некоторые люди считают, что хотя статическое связывание создает производные работы, неясно, следует ли исполняемый файл, который динамически ссылается на код GPL, считать производной работой (см. слабое копилефт ). Автор Linux Линус Торвальдс согласен, что динамическое связывание может создавать производные работы, но не согласен относительно обстоятельств. [67]
Юрист Novell написал, что динамическое связывание, не являющееся производным, «имеет смысл», но не является «однозначным», и что доказательством благонамеренного динамического связывания может служить существование фирменных драйверов ядра Linux. [68]
В деле Galoob против Nintendo Апелляционный суд девятого округа США определил производную работу как имеющую « форму» или постоянство» и отметил, что «работа, нарушающая авторские права, должна включать в себя часть работы, защищенной авторским правом, в той или иной форме» [69] , но четких судебных решений для разрешения этого конкретного конфликта не было.
Согласно статье в Linux Journal , Лоуренс Розен (бывший генеральный юрисконсульт Open Source Initiative ) утверждает, что метод связывания в основном не имеет значения для вопроса о том, является ли часть программного обеспечения производной работой ; более важным является вопрос о том, было ли программное обеспечение предназначено для взаимодействия с клиентским программным обеспечением и/или библиотеками. [70] Он утверждает: «Основным признаком того, является ли новая программа производной работой, является то, был ли исходный код оригинальной программы использован [в смысле копирования-вставки], изменен, переведен или иным образом изменен каким-либо образом для создания новой программы. Если нет, то я бы утверждал, что это не производная работа» [70] и перечисляет множество других пунктов относительно намерения, объединения и механизма связывания. Он также утверждает на веб-сайте своей фирмы [71] , что такие «рыночные» факторы важнее, чем метод связывания.
Существует также конкретная проблема, должен ли плагин или модуль (например, модули ядра графической карты NVidia или ATI ) также быть GPL, если его можно обоснованно считать его собственной работой. Эта точка зрения предполагает, что разумно отдельные плагины или плагины для программного обеспечения, разработанного для использования плагинов, могут лицензироваться по произвольной лицензии, если работа имеет лицензию GPLv2. Особый интерес представляет параграф GPLv2:
Вы можете изменять свою копию или копии Программы или любой ее части, формируя таким образом произведение, основанное на Программе, а также копировать и распространять такие изменения или произведение в соответствии с условиями Раздела 1 выше, при условии, что вы также соблюдаете все следующие условия: ...
b) Вы должны обеспечить, чтобы любая работа, которую вы распространяете или публикуете, которая полностью или частично содержит или получена из Программы или любой ее части, была лицензирована как целое бесплатно всем третьим лицам в соответствии с условиями настоящей Лицензии. ... Эти требования применяются к измененной работе как целому. Если идентифицируемые разделы этой работы не получены из Программы и могут обоснованно считаться независимыми и отдельными работами сами по себе, то настоящая Лицензия и ее условия не применяются к этим разделам, когда вы распространяете их как отдельные работы. Но когда вы распространяете те же разделы как часть целого, которое является работой, основанной на Программе, распространение целого должно осуществляться на условиях настоящей Лицензии, разрешения которой для других лицензиатов распространяются на все целое и, таким образом, на каждую часть независимо от того, кто ее написал.
В GPLv3 есть другой пункт:
Вы можете передать работу, основанную на Программе, или модификации, полученные с помощью Программы, в форме исходного кода в соответствии с положениями Раздела 4, при условии, что вы также соответствуете всем следующим условиям: ...
c) Вы должны лицензировать всю работу в целом по этой Лицензии любому, кто вступает во владение копией. Таким образом, эта Лицензия будет применяться вместе с любыми применимыми дополнительными условиями Раздела 7 ко всей работе и всем ее частям, независимо от того, как они упакованы. Эта Лицензия не дает разрешения лицензировать работу каким-либо иным образом, но она не отменяет такое разрешение, если вы получили его отдельно. ... Компиляция покрытой работы с другими отдельными и независимыми работами, которые по своей природе не являются расширениями покрытой работы и которые не объединены с ней таким образом, чтобы сформировать более крупную программу, в томе или на носителе хранения или распространения, называется «агрегатом», если компиляция и ее вытекающие из нее авторские права не используются для ограничения доступа или законных прав пользователей компиляции сверх того, что разрешено отдельными работами. Включение покрытой работы в агрегат не приводит к тому, что эта Лицензия применяется к другим частям агрегата.
В качестве примера можно привести некоторые предположительно фирменные плагины и темы / скины для программного обеспечения GPLv2 CMS, такого как Drupal и WordPress , которые подверглись критике, причем обе стороны спора были приняты во внимание. [72]
FSF различает, как вызывается плагин. Если плагин вызывается через динамическую компоновку и выполняет вызовы функций в программе GPL, то это, скорее всего, производная работа. [73]
Сам по себе акт общения с другими программами не требует, чтобы все программное обеспечение было GPL; также как и распространение программного обеспечения GPL с программным обеспечением, не имеющим GPL. Однако необходимо соблюдать незначительные условия, которые гарантируют, что права программного обеспечения GPL не будут ограничены. Ниже приведена цитата из GNU.org GPL FAQ , в которой описывается, в какой степени программному обеспечению разрешено общаться и быть связанным с программами GPL: [74]
В чем разница между «агрегатом» и другими видами «модифицированных версий»?
«Агрегат» состоит из ряда отдельных программ, распространяемых вместе на одном CD-ROM или другом носителе. GPL позволяет вам создавать и распространять агрегат, даже если лицензии другого программного обеспечения не являются свободными или несовместимы с GPL. Единственное условие — вы не можете выпускать агрегат по лицензии, которая запрещает пользователям осуществлять права, которые им предоставляет индивидуальная лицензия каждой программы.
Где проходит граница между двумя отдельными программами и одной программой из двух частей? Это юридический вопрос, который в конечном итоге решат судьи. Мы считаем, что правильный критерий зависит как от механизма коммуникации (exec, pipe, rpc, вызовы функций в общем адресном пространстве и т. д.), так и от семантики коммуникации (какие виды информации обмениваются).
Если модули включены в один и тот же исполняемый файл, они определенно объединены в одну программу. Если модули предназначены для запуска связанных вместе в общем адресном пространстве, это почти наверняка означает объединение их в одну программу.
Напротив, каналы, сокеты и аргументы командной строки являются механизмами связи, которые обычно используются между двумя отдельными программами. Поэтому, когда они используются для связи, модули обычно являются отдельными программами. Но если семантика связи достаточно близка, обмениваясь сложными внутренними структурами данных, это также может быть основанием для рассмотрения двух частей как объединенных в более крупную программу.
Таким образом, FSF проводит границу между «библиотекой» и «другой программой» через 1) «сложность» и «интимность» обмена информацией и 2) механизм (а не семантику), но признает, что вопрос не является однозначным и что в сложных ситуациях решение будет приниматься прецедентным правом.
Первое известное нарушение GPL произошло в 1989 году, когда NeXT расширила компилятор GCC для поддержки Objective-C , но не опубликовала публично изменения. [75] После расследования они создали публичный патч . Иск за это нарушение не был подан. [76]
В 2002 году MySQL AB подала в суд на Progress NuSphere за нарушение авторских прав и товарных знаков в окружной суд США . NuSphere предположительно нарушила авторские права MySQL, связав код MySQL, лицензированный по GPL, с таблицей NuSphere Gemini без соблюдения лицензии. После предварительного слушания перед судьей Патти Сарис 27 февраля 2002 года стороны вступили в переговоры об урегулировании и в конечном итоге пришли к соглашению. [f] После слушания FSF прокомментировала, что «судья Сарис ясно дала понять, что она считает GNU GPL лицензией, подлежащей исполнению и обязательной к исполнению». [77]
В августе 2003 года группа SCO заявила, что, по их мнению, GPL не имеет юридической силы, и что они намерены возбудить судебные иски в отношении разделов кода, предположительно скопированных из SCO Unix в ядро Linux . Это была проблематичная позиция для них, поскольку они распространяли Linux и другой лицензированный код GPL в своем дистрибутиве Caldera OpenLinux , и мало доказательств того, что у них было какое-либо законное право делать это, кроме как в соответствии с условиями GPL. [ необходима цитата ] В феврале 2018 года, после решения федерального окружного суда, апелляции и (частичного) возвращения дела в окружной суд, стороны вновь заявили о своих оставшихся исках и предоставили план действий по вынесению окончательного решения. [78] Оставшиеся иски вращались вокруг проекта Monterey и были окончательно урегулированы в ноябре 2021 года, когда IBM выплатила 14,25 млн долларов управляющему банкротством TSG (ранее SCO). [79]
В апреле 2004 года проект netfilter / iptables получил предварительный судебный запрет против Sitecom Germany от Мюнхенского окружного суда после того, как Sitecom отказался прекратить распространение лицензированного программного обеспечения Netfilter GPL в нарушение условий GPL. Харальда Вельте из Netfilter представлял соучредитель ifrOSS Тилль Йегер. В июле 2004 года немецкий суд подтвердил этот запрет как окончательное решение против Sitecom. [80] Суд обосновал это следующим образом:
Это в точности отразило прогнозы, данные ранее Эбеном Могленом из FSF. Это решение было важным, поскольку оно стало первым случаем, когда суд подтвердил, что нарушение условий GPL может быть нарушением авторских прав, и установил юриспруденцию относительно применимости GPLv2 в соответствии с немецким законодательством. [81]
В мае 2005 года Дэниел Уоллес подал иск против Free Software Foundation в Южном округе Индианы , утверждая, что GPL является незаконной попыткой зафиксировать цены (на нулевом уровне). Иск был отклонен в марте 2006 года на том основании, что Уоллес не смог сформулировать обоснованное антимонопольное требование; суд отметил, что «GPL поощряет, а не препятствует свободной конкуренции и распространению компьютерных операционных систем, выгоды от которых напрямую переходят к потребителям». [82] Уоллесу было отказано в возможности дальнейшего внесения поправок в его жалобу, и ему было предписано оплатить судебные издержки FSF.
8 сентября 2005 года Центральный окружной суд Сеула постановил, что GPL не имеет существенного значения для дела, касающегося коммерческой тайны, полученной из лицензированной по GPL работы. [83] Ответчики утверждали, что, поскольку невозможно сохранять коммерческую тайну, соблюдая GPL и распространяя работу, они не нарушают коммерческую тайну. Этот аргумент был сочтен необоснованным.
6 сентября 2006 года проект gpl-violations.org одержал победу в судебном разбирательстве против D-Link Germany GmbH относительно нарушающего авторские права использования D-Link частей ядра Linux в устройствах хранения данных , которые они распространяли. [84] В решении суда говорилось, что GPL является действительной, юридически обязательной и находится в немецком суде. [85]
В конце 2007 года разработчики BusyBox и Software Freedom Law Center приступили к программе по получению соответствия GPL от дистрибьюторов BusyBox во встроенных системах , подавая в суд на тех, кто не подчинялся. Это были первые случаи обращения в суды США для обеспечения соблюдения обязательств GPL. (См. BusyBox GPL иски .)
11 декабря 2008 года Фонд свободного программного обеспечения подал в суд на компанию Cisco Systems, Inc. за нарушение авторских прав ее подразделением Linksys на программные пакеты Coreutils , Readline , Parted , Wget , GNU Compiler Collection , binutils и GNU Debugger , лицензированные FSF по лицензии GPL , которые Linksys распространяет в составе прошивки Linux [86] своих беспроводных маршрутизаторов WRT54G , а также множества других устройств, включая DSL и кабельные модемы, сетевые устройства хранения данных, шлюзы Voice-Over-IP, устройства виртуальной частной сети и домашний кинотеатр/медиаплеер. [87]
После шести лет неоднократных жалоб со стороны FSF в адрес Cisco , заявлений Cisco о том, что они исправят или исправляют свои проблемы с соответствием (не предоставляя полные копии всех исходных кодов и их модификаций), повторных обнаружений новых нарушений и сообщений о них в отношении большего количества продуктов, а также бездействия со стороны Linksys (процесс, описанный в блоге FSF как «пятилетняя игра в «Ударь крота»» [87] ), FSF подал на них в суд.
Cisco урегулировала дело шесть месяцев спустя, согласившись «назначить директора по свободному программному обеспечению для Linksys» для обеспечения соответствия, «уведомить предыдущих получателей продуктов Linksys, содержащих программы FSF, об их правах в соответствии с GPL», разместить исходный код программ FSF в свободном доступе на своем веб-сайте и внести денежный взнос в FSF. [88]
В 2011 году было замечено, что GNU Emacs в течение двух лет случайно выпускал некоторые двоичные файлы без соответствующего исходного кода, что противоречило духу GPL , что привело к нарушению авторских прав . [89] Ричард Столлман описал этот инцидент как «очень серьезную ошибку», [90] которая была быстро исправлена. FSF не подавал в суд ни на одного из нижестоящих распространителей, которые также неосознанно нарушали GPL, распространяя эти двоичные файлы.
В 2017 году Artifex, производитель Ghostscript , подал в суд на Hancom , производителя офисного пакета, включавшего Ghostscript. Artifex предлагает две лицензии на Ghostscript: одну — лицензию AGPL и другую — коммерческую лицензию. Hancom не приобретала коммерческую лицензию у Artifex и не выпускала свой офисный пакет как бесплатное программное обеспечение. Artifex подала в суд на Hancom в Окружной суд США и предъявила два иска. Во-первых, использование Ghostscript компанией Hancom было нарушением авторских прав; во-вторых, использование Ghostscript компанией Hancom было нарушением лицензии. Судья Жаклин Скотт Корли постановила, что лицензия GPL была подлежащим исполнению договором, а Hancom нарушила договор. [91] [92]
20 июля 2021 года разработчики шахматного движка Stockfish с открытым исходным кодом подали в суд на ChessBase , создателя шахматного программного обеспечения, за нарушение лицензии GPLv3. [93] Утверждалось, что Chessbase внесла лишь незначительные изменения в код Stockfish и продала новые движки (Fat Fritz 2 и Houdini 6) своим клиентам. [94] Кроме того, Fat Fritz 2 позиционировался как инновационный движок. ChessBase нарушила лицензию, не распространяя эти продукты как свободное программное обеспечение в соответствии с GPL.
Год спустя, 7 ноября 2022 года, обе стороны достигли соглашения и прекратили спор. В ближайшем будущем ChessBase больше не будет продавать продукты, содержащие код Stockfish, информируя своих клиентов об этом факте соответствующим уведомлением на своих веб-страницах. Однако год спустя лицензия Chessbase будет восстановлена. Stockfish не требовала возмещения ущерба или финансовой компенсации. [95] [96] [97]
Код, лицензированный по нескольким другим лицензиям, может быть объединен с программой по GPL без конфликта, пока сочетание ограничений на работу в целом не накладывает никаких дополнительных ограничений сверх того, что позволяет GPL. [98] В дополнение к обычным условиям GPL, существуют дополнительные ограничения и разрешения, которые можно применять:
FSF ведет список [103] лицензий свободного программного обеспечения, совместимых с GPL [104], содержащий многие из наиболее распространенных лицензий свободного программного обеспечения, такие как оригинальная лицензия MIT/X , лицензия BSD (в ее текущей форме из трех пунктов) и Artistic License 2.0. [105]
Начиная с GPLv3, он в одностороннем порядке совместим с материалами (такими как текст и другие носители) по лицензии Creative Commons Attribution-ShareAlike 4.0 International для ремикса в материалы с лицензией GPL (в первую очередь программное обеспечение), а не наоборот, для нишевых вариантов использования, таких как игровой движок (GPL) со скриптами игр (CC BY-SA). [106] [107]
Дэвид А. Уилер выступает за то, чтобы разработчики свободного/открытого программного обеспечения использовали только лицензии, совместимые с GPL, поскольку в противном случае другим будет сложно участвовать и вносить код. [108] В качестве конкретного примера несовместимости лицензий, ZFS от Sun Microsystems не может быть включена в ядро Linux, лицензированное по GPL, поскольку оно лицензировано по несовместимой с GPL лицензии Common Development and Distribution License . Кроме того, ZFS защищена патентами, поэтому распространение независимо разработанной реализации под лицензией GPL все равно потребует разрешения Oracle. [109]
Ряд компаний используют мультилицензирование для распространения версии GPL и продают фирменную лицензию компаниям, желающим объединить пакет с фирменным кодом, используя динамическое связывание или нет. Примерами таких компаний являются MySQL AB , Digia PLC ( фреймворк Qt , до 2011 года от Nokia ), Red Hat ( Cygwin ) и Riverbank Computing ( PyQt ). Другие компании, такие как Mozilla Foundation (продукты включают Mozilla Application Suite , Mozilla Thunderbird и Mozilla Firefox ), использовали мультилицензирование для распространения версий под GPL и некоторыми другими лицензиями с открытым исходным кодом.
Можно использовать GPL для текстовых документов вместо компьютерных программ или, в более общем смысле, для всех видов носителей, если ясно, что составляет исходный код (определяемый как «предпочтительная форма работы для внесения в нее изменений»). [110] Однако для руководств и учебников FSF рекомендует вместо этого GNU Free Documentation License (GFDL), которую он создал для этой цели. [111] Тем не менее, разработчики Debian рекомендовали (в резолюции, принятой в 2006 году) лицензировать документацию для своего проекта по GPL из-за несовместимости GFDL с GPL (текст, лицензированный по GFDL, не может быть включен в программное обеспечение GPL). [112] [113] Кроме того, фонд FLOSS Manuals , организация, занимающаяся созданием руководств для свободного программного обеспечения, решила отказаться от GFDL в пользу GPL для своих текстов в 2007 году. [114]
Если GPL используется для компьютерных шрифтов , любые документы или изображения, созданные с помощью таких шрифтов, также могут распространяться на условиях GPL. Это не относится к странам, которые признают гарнитуры шрифтов (внешний вид шрифтов) полезными статьями и, таким образом, не подлежащими авторскому праву , но файлы шрифтов — защищенным авторским правом компьютерным программным обеспечением (что может усложнить внедрение шрифтов, поскольку документ может считаться «связанным» со шрифтом; другими словами, внедрение векторного шрифта в документ может привести к его выпуску под GPL, но растровое отображение шрифта не будет подпадать под действие GPL). FSF предоставляет исключение для случаев, когда это нежелательно. [115]
Исторически семейство лицензий GPL было одним из самых популярных лицензий на программное обеспечение в области FOSS . [7] [116] [9] [10] [11] [117]
Исследование MetaLab , в 1997 году , тогда крупнейшего архива свободного программного обеспечения, показало, что GPL составляла около половины лицензированного в нем программного обеспечения. [116] Аналогично, исследование Red Hat Linux 7.1, проведенное в 2000 году, показало, что 53% исходного кода было лицензировано по GPL. [9] По состоянию на 2003 год [update], около 68% всех проектов и 82,1% сертифицированных лицензированных проектов с открытым исходным кодом, перечисленных на SourceForge.net, были из семейства лицензий GPL. [118] По состоянию на август 2008 года [update], семейство GPL составляло 70,9% из 44 927 проектов свободного программного обеспечения, перечисленных на Freecode . [10]
После выпуска GPLv3 в июне 2007 года принятие этой новой версии GPL было предметом многочисленных обсуждений [119], и некоторые проекты решили не обновляться. Например, ядро Linux, [39] [41] MySQL , [120] BusyBox , [121] AdvFS , [122] Blender , [123] [124] VLC media player , [125] и MediaWiki [126] решили не принимать GPLv3. С другой стороны, в 2009 году, через два года после выпуска GPLv3, менеджер офиса программ с открытым исходным кодом Google Крис ДиБона сообщил, что количество лицензированного программного обеспечения проектов с открытым исходным кодом, которое перешло с GPLv2 на GPLv3, составило 50%, считая проекты, размещенные на Google Code . [11]
В 2011 году, через четыре года после выпуска GPLv3, 6,5% всех проектов с открытым исходным кодом были лицензированы под GPLv3, а 42,5% — под GPLv2, согласно данным Black Duck Software. [127] [128] После этого в 2011 году аналитик 451 Group Мэтью Эслетт утверждал в сообщении в блоге, что лицензии copyleft пошли на спад, а разрешительные лицензии увеличились, основываясь на статистике Black Duck Software. [129] Аналогичным образом, в феврале 2012 года Джон Байс сообщил, что среди 50 лучших проектов на GitHub пять проектов были под лицензией GPL, включая проекты с двойной лицензией и проекты AGPL. [130]
Статистика использования GPL с 2009 по 2013 год была извлечена из данных Freecode Уолтером ван Хольстом при анализе распространения лицензий . [12]
В августе 2013 года, согласно Black Duck Software, данные веб-сайта показывают, что семейство лицензий GPL используется 54% проектов с открытым исходным кодом, с разбивкой отдельных лицензий, показанной в следующей таблице. [117] Однако более позднее исследование в 2013 году показало, что программное обеспечение, лицензированное по семейству лицензий GPL, увеличилось, и что даже данные Black Duck Software показали общий рост программных проектов, лицензированных по GPL. Исследование использовало общедоступную информацию, собранную из репозиториев проекта Debian , и исследование критиковало Black Duck Software за то, что они не опубликовали свою методологию, используемую при сборе статистики. [133] Дэниел Герман, профессор кафедры компьютерных наук в Университете Виктории в Канаде, выступил в 2013 году с докладом о методологических проблемах при определении наиболее широко используемых лицензий свободного ПО и показал, как он не смог повторить результат Black Duck Software. [134]
По данным Black Duck, в 2015 году GPLv2 уступила первое место лицензии MIT и теперь занимает второе место, GPLv3 опустилась на четвертое место, а лицензия Apache сохранила третью позицию. [7]
Анализ репозиториев GitHub , проведенный в марте 2015 года , выявил для семейства лицензий GPL процент использования приблизительно 25% среди лицензированных проектов. [140] В июне 2016 года анализ пакетов Fedora Project выявил GNU GPLv2 или более позднюю версию как самую популярную лицензию, а семейство лицензий GNU GPL как самое популярное семейство лицензий (за которым следуют семейства MIT, BSD и GNU LGPL). [141]
Анализ экосистемы FOSS, проведенный whitesourcesoftware.com в апреле 2018 года, показал, что GPLv3 находится на третьем месте (18%), а GPLv2 — на четвертом месте (11%), после лицензии MIT (26%) и лицензии Apache 2.0 (21%). [142]
GPL несовместима со многими системами цифровой дистрибуции приложений, такими как Mac App Store , и некоторыми другими платформами распространения программного обеспечения (как на смартфонах, так и на ПК). Проблема заключается в праве «сделать копию для своего соседа», поскольку это право нарушается системами управления цифровыми правами, встроенными в платформу для предотвращения копирования платного программного обеспечения. Даже если приложение бесплатно в рассматриваемом магазине приложений, это может привести к нарушению условий этого магазина приложений. [143]
Существует различие между магазином приложений , который продает программное обеспечение с ограничениями DRM по проприетарным лицензиям, и более общей концепцией цифровой дистрибуции через некоторую форму онлайн-репозитория программного обеспечения. Практически все современные системы Unix и дистрибутивы Linux имеют репозитории приложений, включая NetBSD , FreeBSD , Ubuntu , Fedora и Debian . Все эти конкретные репозитории приложений содержат приложения с лицензией GPL, в некоторых случаях даже когда основной проект не допускает код с лицензией GPL в базовой системе (например, OpenBSD [144] ). В других случаях, таких как Ubuntu App Store , проприетарные коммерческие приложения и приложения с лицензией GPL доступны через одну и ту же систему; причина, по которой Mac App Store (и подобные проекты) несовместимы с приложениями с лицензией GPL, не присуща концепции магазина приложений, а скорее обусловлена требованием условий использования Apple [143] , чтобы все приложения в магазине использовали ограничения Apple DRM. Магазин приложений Ubuntu не выдвигает подобных требований: «Эти условия не ограничивают и не ущемляют ваши права в рамках любых применимых лицензий на программное обеспечение с открытым исходным кодом». [145]
В 2001 году генеральный директор Microsoft Стив Балмер назвал Linux «раковой опухолью, которая прикрепляется в смысле интеллектуальной собственности ко всему, к чему прикасается». [146] [147] В ответ на атаки Microsoft на GPL несколько известных разработчиков и сторонников свободного программного обеспечения выпустили совместное заявление в поддержку лицензии. [148] Microsoft выпустила Microsoft Windows Services для UNIX , которая содержит код под лицензией GPL. В июле 2009 года сама Microsoft выпустила тело из около 20 000 строк кода драйвера Linux под лицензией GPL. [149] Код Hyper-V , который является частью представленного кода, использовал компоненты с открытым исходным кодом, лицензированные под GPL, и изначально был статически связан с проприетарными двоичными частями, последние были недопустимы в программном обеспечении под лицензией GPL. [150]
Описание GPL как «вирусного» , когда его называют «вирусом общего пользования» или «вирусом общего пользования GNU» (GPV), датируется годом позже выпуска GPLv1. [151]
В 2001 году этот термин привлек более широкое внимание общественности, когда Крейг Манди , старший вице-президент Microsoft, охарактеризовал GPL как «вирусную». [152] Манди утверждает, что GPL имеет «вирусный» эффект, поскольку она позволяет распространять только целые программы, а это означает, что программы, ссылающиеся на библиотеки GPL, сами должны иметь лицензию, совместимую с GPL, иначе их нельзя будет объединять и распространять.
В 2006 году Ричард Столлман ответил в интервью, что метафора Манди о «вирусе» неверна, поскольку программное обеспечение под лицензией GPL не «атакует» и не «заражает» другое программное обеспечение. Соответственно, Столлман считает, что сравнение GPL с вирусом неуместно, и что лучшей метафорой для программного обеспечения под лицензией GPL было бы паучье растение : если взять его часть и поместить в другое место, оно вырастет там же. [153]
С другой стороны, концепция вирусной природы GPL была подхвачена и другими позднее. [154] [155] Например, в статье 2008 года говорилось: «Лицензия GPL является «вирусной», что означает, что любая производная работа, которую вы создаете, содержащая даже самую маленькую часть ранее лицензированного по GPL программного обеспечения, также должна лицензироваться по лицензии GPL». [156]
Проект FreeBSD заявил, что «менее разрекламированное и непреднамеренное использование GPL заключается в том, что оно очень выгодно крупным компаниям, желающим подорвать позиции компаний-разработчиков программного обеспечения. Другими словами, GPL хорошо подходит для использования в качестве маркетингового оружия, потенциально снижая общую экономическую выгоду и способствуя монополистическому поведению», и что GPL может «представлять реальную проблему для тех, кто хочет коммерциализировать и получать прибыль от программного обеспечения». [157]
Ричард Столлман писал о практике продажи исключений из лицензий свободного ПО как о примере этически приемлемой практики коммерциализации. Продажа исключений здесь означает, что владелец авторских прав на данное ПО выпускает его (вместе с соответствующим исходным кодом) для общественности по лицензии свободного ПО, «затем позволяет клиентам платить за разрешение использовать тот же код на других условиях, например, разрешая его включение в проприетарные приложения». Столлман считал продажу исключений «приемлемой с 1990-х годов, и иногда я предлагал это компаниям. Иногда этот подход позволял важным программам стать свободным ПО». Хотя FSF не практикует продажу исключений, предлагается сравнение с лицензией X11 (которая является лицензией свободного ПО без авторского лева) для предположения, что этот метод коммерциализации следует считать этически приемлемым. Выпуск данной программы по лицензии свободного ПО без авторского лева позволит встраивать код в проприетарное ПО. Столлман комментирует, что «либо мы должны заключить, что неправильно выпускать что-либо под лицензией X11 — вывод, который я нахожу неприемлемо экстремальным — либо отвергнуть это следствие. Использование лицензии без авторского лева является слабым и обычно худшим выбором, но это не неправильно. Другими словами, продажа исключений допускает некоторое встраивание в проприетарное программное обеспечение, а лицензия X11 допускает еще большее встраивание. Если это не делает лицензию X11 неприемлемой, это не делает продажу исключений неприемлемой». [158]
В 2000 году разработчик и автор Николай Безруков опубликовал анализ и всестороннюю критику основ GPL и модели разработки программного обеспечения Столлмана под названием «Лабиринт свободы программного обеспечения». [159] [160]
Версия 2 WTFPL ( Do What The Fuck You Want To Public License) была создана лидером проекта Debian Сэмом Хосеваром в 2004 году как пародия на GPL. [161]
В 2005 году сторонник открытого программного обеспечения Эрик С. Рэймонд усомнился в актуальности GPL для экосистемы FOSS, заявив: «Нам больше не нужна GPL. Она основана на убеждении, что открытое программное обеспечение слабо и нуждается в защите. Открытый исходный код преуспевал бы быстрее, если бы GPL не заставляла многих людей нервничать по поводу его принятия». [162] Ричард Столлман ответил: «GPL разработана для того, чтобы... гарантировать, что каждый пользователь программы получает основные свободы — запускать ее, изучать и изменять исходный код, распространять копии и публиковать измененные версии ... [Рэймонд] рассматривает этот вопрос с точки зрения других целей и ценностей — целей и ценностей «открытого исходного кода», которые не включают защиту свободы пользователей программного обеспечения делиться и изменять программное обеспечение». [163]
В 2007 году Эллисон Рэндал , принимавшая участие в работе комитета по проекту GPL, раскритиковала GPLv3 за несовместимость с GPLv2 [164] и за отсутствие ясности в формулировках. [165] Аналогичным образом, Уэрли в 2007 году предсказал крах GPL из-за отсутствия внимания к разработчикам с GPLv3, что подтолкнет их к разрешительным лицензиям. [166]
В 2009 году Дэвид Чисналл описал в статье InformIT «Провал GPL» проблемы с GPL, такие как ее несовместимость и сложность текста лицензии. [167]
В 2014 году разработчик dtrace и технический директор Joyent Брайан Кэнтрилл назвал GPL с копилевом «корпоративным антишаблоном открытого исходного кода », поскольку он «противодействует сотрудничеству», и рекомендовал вместо этого разрешительные лицензии на программное обеспечение. [168]
В сентябре 2006 года, во время процесса разработки GPLv3, несколько известных разработчиков ядра Linux, таких как Линус Торвальдс, Грег Кроа-Хартман и Эндрю Мортон , предупредили о расколе в сообществе FOSS: «выпуск GPLv3 предвещает балканизацию всей Вселенной открытого исходного кода, на которую мы полагаемся». [37] Аналогичным образом, Бенджамин Мако Хилл также утверждал в 2006 году во время разработки GPLv3, что единое, сотрудничающее сообщество важнее, чем единая лицензия. [169]
После выпуска GPLv3 в 2007 году некоторые журналисты [41] [127] [170] и разработчик Toybox Роб Лэндли [44] [45] критиковали то, что с введением GPLv3 раскол между сообществом открытого исходного кода и сообществом свободного программного обеспечения стал шире, чем когда-либо, поскольку значительно расширенная GPLv3 по сути несовместима с GPLv2. [99] Совместимость предоставляется только в соответствии с необязательным пунктом «или позже» GPL, который не был принят ядром Linux, среди прочего. [39] Брюс Байфилд отметил, что до выпуска GPLv3 GPLv2 была объединяющим элементом между сообществом открытого исходного кода и сообществом свободного программного обеспечения. [127]
Что касается LGPLv3, то разработчик GNU TLS Никос Маврогианнопулос аналогичным образом утверждал: «Если мы предположим, что его [LGPLv3] основная цель — быть использованным свободным программным обеспечением, то он явно не справляется с этим» [171] после того, как он повторно лицензировал GNU TLS с LGPLv3 обратно на LGPLv2.1 из-за проблем с совместимостью лицензий. [172]
Лоуренс Розен , адвокат и специалист по компьютерам, похвалил в 2007 году, как сообщество, использующее лицензию Apache, теперь смогло работать вместе с сообществом GPL совместимым образом, поскольку проблемы совместимости GPLv2 с лицензированным программным обеспечением Apache были решены с помощью GPLv3. Он сказал: «Я предсказываю, что одной из самых больших историй успеха GPLv3 станет осознание того, что вся вселенная свободного и открытого программного обеспечения может быть таким образом объединена в комплексные решения с открытым исходным кодом для клиентов по всему миру». [173]
В июле 2013 года разработчик Flask Армин Ронахер сделал менее оптимистичный вывод о совместимости GPL в экосистеме FOSS: «Когда задействована GPL, сложности лицензирования становятся неинтересной версией головоломки», также отметив, что конфликт между Apache License 2.0 и GPLv2 по-прежнему оказывает влияние на экосистему. [174]
... На этой странице представлено мнение некоторых участников Debian-legal о том, как определенные лицензии соответствуют Руководству по свободному программному обеспечению Debian (DFSG). ... Лицензии, которые в настоящее время находятся в Debian main, включают:
- ...
- Лицензии типа Expat/MIT
- ...
... Это последняя версия GNU GPL: лицензия свободного программного обеспечения и лицензия с авторским левом. ... GPLv3 сама по себе несовместима с GPLv2. Однако большая часть программного обеспечения, выпущенного под GPLv2, позволяет вам использовать условия более поздних версий GPL. В этом случае вы можете использовать код под GPLv3, чтобы создать нужную комбинацию. ...
... Следующие лицензии были одобрены OSI. ...
- Стандартная общественная лицензия GNU версии 2 (GPL-2.0)
- Стандартная общественная лицензия GNU версии 3 (GPL-3.0)
- ...
... Это предыдущая версия GNU GPL: лицензия свободного программного обеспечения и лицензия с авторским левом. ... GPLv2 сама по себе несовместима с GPLv3. Однако большая часть программного обеспечения, выпущенного под GPLv2, позволяет вам использовать условия более поздних версий GPL. В этом случае вы можете использовать код под GPLv3, чтобы создать желаемую комбинацию. ...
GPL 60,5%, lGPLv2 6,9%, GPLv2 1,9% GPLv3 1,6%
Таким образом, в то время как BSD теряют энергию каждый раз, когда в дело вмешивается компания, программы под GPL набирают силу каждый раз, когда в дело вмешивается компания.
комментарии в файле 'gplv3-draft-1'
... найдено 962
комментарии в файле 'gplv3-draft-1'
... найдено 727
комментарии в файле 'gplv3-draft-3' ... найдено 649
комментарии в файле 'gplv3-draft-4' ... найдено 298
Текущая версия (проект обсуждения 2) GPLv3 при первом чтении не проходит проверку необходимости раздела 1 на том основании, что нет существенной и выявленной проблемы с GPLv2, которую она пытается решить. Однако более глубокое прочтение выявляет ряд других проблем с текущим проектом FSF: 5.1 Пункты DRM
... 5.2 Пункт о дополнительных ограничениях
... 5.3 Положения о патентах
... поскольку FSF предлагает перевести все свои проекты на GPLv3 и оказывает давление на все остальные проекты, лицензированные по GPL, с целью перехода на эту версию, мы предвидим, что выпуск GPLv3 предвещает
балканизацию
всей Вселенной открытого исходного кода, на которую мы полагаемся.
-вторых, война между Линусом Торвальдсом и другими разработчиками ядра и Free Software Foundation из-за GPLv3 продолжается, и Торвальдс говорит, что он сыт по горло FSF.
Т]олько действующей версией GPL в отношении ядра является _эта_ конкретная версия лицензии (т. е. v2, а не v2.2 или v3.x или какая-либо другая), если явно не указано иное.
некотором смысле Linux был проектом, который действительно ясно показал раскол между тем, что продвигает FSF, что сильно отличается от того, чем всегда были открытый исходный код и Linux, что является скорее техническим превосходством, а не религиозной верой в свободу", - сказал Торвальдс Землену. Таким образом, GPL версии 3 отражает цели FSF, а GPL версии 2 довольно точно соответствует тому, что, по моему мнению, должна делать лицензия, и поэтому сейчас версия 2 - это то, где находится ядро.
Единственное, на что я хотел бы обратить внимание напрямую, — это разъяснение в файле COPYING, в котором четко указано, что для ядра действительна только _эта_ конкретная версия GPL. Это не должно вызывать удивления, поскольку это та же лицензия, которая существует с версии 0.12 или около того, но я подумал, что стоит сделать это явным образом
. Некоторые требования GPLv3, такие как требование предоставлять информацию об установке, отсутствуют в GPLv2. В результате лицензии несовместимы: если вы попытаетесь объединить код, выпущенный под обеими этими лицензиями, вы нарушите раздел 6 GPLv2. Однако, если код выпущен под GPL "версии 2 или более поздней", он совместим с GPLv3, поскольку GPLv3 является одним из вариантов, которые она допускает.
И LibreCAD, и FreeCAD хотят использовать LibreDWG и имеют доступные исправления для поддержки библиотеки формата файлов DWG, но не могут их интегрировать. Программы зависят от популярной лицензии GPLv2, в то время как Free Software Foundation разрешает лицензировать LibreDWG только для использования под GPLv3, но не под GPLv2.
досадная ситуация с поддержкой файлов DWG в свободном программном обеспечении САПР через LibreDWG. Мы считаем, что к настоящему времени ее следует закрыть. У нас есть окончательный ответ от FSF. ... "Мы не собираемся менять лицензию".
заимствовать текст из руководства GFDL и включать его в какую-либо свободную программу. Это не просто несовместимость лицензий. Дело не только в том, что GFDL несовместим с той или иной лицензией свободного ПО: дело в том, что он принципиально несовместим с любой лицензией свободного ПО вообще. Поэтому, если вы пишете новую программу и у вас нет никаких обязательств относительно того, какую лицензию вы хотите использовать, за исключением того, что это должна быть свободная лицензия, вы не можете включать текст GFDL. GNU FDL в ее нынешнем виде не соответствует Debian Free Software Guidelines. С лицензией связаны существенные проблемы, как описано выше; и, таким образом, мы не можем принимать в наш дистрибутив работы, лицензированные по GNU FDL.
«Лицензия -> OSI: ... GNU General Public License (GPL) (32641 проект), GNU Library или Lesser General Public License (LGPL) (4889 проектов» (из 45727, 82,1%)
настоящее время решение о переходе с GPL v2 на GPL v3 горячо обсуждается многими проектами с открытым исходным кодом. По данным Palamida, поставщика программного обеспечения для обеспечения соответствия требованиям интеллектуальной собственности, было около 2489 проектов с открытым исходным кодом, которые перешли с GPL v2 на более поздние версии.
BusyBox можно найти во многих встроенных системах, он оказался в центре дебатов против DRM GPLv3.
... Однако реальный результат таков: BusyBox будет иметь лицензию GPLv2 только со следующего релиза. Общепринято, что удаление "или любой более поздней версии" юридически оправдано, и что слияние другого кода, распространяемого только под GPLv2, в любом случае приведет к решению этой проблемы
придумывайте, пожалуйста, поддельный аргумент. Я считаю лицензирование BusyBox по GPLv3 бесполезным, ненужным, чрезмерно сложным и запутанным, и вдобавок к этому у него есть реальные недостатки. 1) Бесполезно: мы никогда не откажемся от GPLv2.
Тони Розендал из Blender:] «Blender также по-прежнему имеет лицензию „GPLv2 или более позднюю версию“. На данный момент мы придерживаемся этого, переход на GPL 3 не имеет очевидных преимуществ, о которых я знаю».
Исходный код, который мы разрабатываем на blender.org, по умолчанию лицензируется как GNU GPL версии 2 или более поздней.
2001 г. VLC был выпущен под одобренной OSI лицензией GNU General Public версии 2 с широко распространенной возможностью использовать «любую более позднюю версию» (хотя на тот момент такой более поздней версии не существовало). После выпуска Free Software Foundation (FSF) новой версии 3 своей GNU General Public License (GPL) 29 июня 2007 г. участники VLC media player и других программных проектов, размещенных на videolan.org, обсуждали возможность обновления условий лицензирования для будущей версии VLC media player и других размещенных проектов до версии 3 GPL.
... Существуют серьезные опасения, что эти новые дополнительные требования могут не соответствовать промышленным и экономическим реалиям нашего времени, особенно на рынке бытовой электроники. Мы считаем, что изменение наших условий лицензирования на GPL версии 3 в настоящее время не будет отвечать наилучшим интересам нашего сообщества в целом. Следовательно, мы планируем продолжать распространять будущие версии VLC media player на условиях GPL версии 2.
то время это решение казалось разумным перед лицом тупиковой ситуации. Но сейчас GPLv2 используется для 42,5% свободного ПО, а GPLv3 — менее чем для 6,5%, согласно данным Black Duck Software.
приведенной выше диаграммы видно, что семейство GPL является наиболее используемым (раньше я ошибочно считал его MIT). Другие основные лицензии — MIT, BSD, семейство LGPL, Artistic (для пакетов Perl), LPPL (для пакетов texlive), ASL.
Вирусная собственность стимулирует распространение лицензий и способствует "кошмару, навязанному GPL" – ситуации, когда многие другие лицензии логически несовместимы с GPL и излишне усложняют жизнь разработчикам, работающим в среде Linux (KDE – хороший пример здесь, Python – менее известный пример).
WTFPL — это пародия на GPL, которая имеет похожий заголовок об авторских правах и список разрешений на изменение (т. е. никаких), см., например, gnu.org/licenses/gpl-3.0.en.html. Цель формулировки WTFPL — предоставить больше свободы, чем GPL.
больше не нужна GPL. Она основана на убеждении, что программное обеспечение с открытым исходным кодом слабое и нуждается в защите. Открытый исходный код преуспевал бы быстрее, если бы GPL не заставляла многих людей нервничать по поводу его принятия.
рассматривает этот вопрос с точки зрения других целей и ценностей — целей и ценностей «открытого исходного кода», которые не включают защиту свободы пользователей программного обеспечения делиться и изменять программное обеспечение. Возможно, он считает, что GNU GPL не нужна для достижения этих целей.
Вы могли бы подумать, что FSF должен быть безумцем, чтобы развязать этот лицензионный ад.
... Если бы лицензия была просто очищенной версией GPLv2, не было бы никакой несовместимости, у FSF не было бы никаких планов по обновлению проектов до новой лицензии, и в то же время не было бы причин для проектов возражать против обновления. Плавное движение.
на почти законченный черновик, я должен сказать, что вряд ли они когда-либо считали простоту приоритетом, если они вообще ее считали.
... Выбор языка в лицензии с открытым исходным кодом может поддержать эту свободу, может расширить возможности пользователей и разработчиков. GPLv3 этого не делает.
Версия 3 собирается дистанцировать Ричарда Столлмана и Фонд свободного программного обеспечения от разработчиков, которые делают организацию столь влиятельной с самого начала.
: Антисовместное лицензирование
GPL — это то, что объединяет почти всех в сообществах свободного и открытого программного обеспечения. По этой причине пересмотр может высветить разногласия, различия во мнениях, различия в бизнес-моделях и различия в тактике.
... Было бы разумно помнить, что потенциальная возможность того, что GPL помешает нашей способности работать вместе, гораздо опаснее, чем даже самые радикальные текстовые изменения, которые может предложить FSF.
... Прежде всего, мы должны помнить, что наше сообщество и его цели важнее любой отдельной лицензии — независимо от того, насколько она распространена.
... последний признак растущего раскола в сообществе разработчиков с открытым исходным кодом между разработчиками с деловым подходом, такими как Торвальдс, и сторонниками свободного программного обеспечения.
— это последняя версия GNU Lesser General Public License. Она следует за успешной лицензией LGPLv2.1 и была выпущена Free Software Foundation в качестве аналога ее GNU General Public License версии 3. Целью GNU Lesser General Public License является предоставление программного обеспечения, которое может использоваться как проприетарным, так и свободным программным обеспечением. С этой целью до сих пор успешно справлялась LGPLv2.1, и существует множество библиотек, использующих эту лицензию. Теперь у нас есть LGPLv3 в качестве последней, и вопрос в том, насколько успешна LGPLv3 в достижении этой цели? По моему мнению, очень мало. Если предположить, что ее основная цель — использование свободным программным обеспечением, то она явно не справляется с этим.
хлам по совместимости лицензий – Когда задействована GPL, сложности лицензирования становятся невеселой версией головоломки. Так много вещей, которые нужно учесть, и так много взаимодействий, которые нужно учесть. И то, что несовместимости GPL по-прежнему являются проблемой, которая активно влияет на людей, – это то, о чем многие, похоже, забывают. Например, можно было бы подумать, что несовместимость GPLv2 с Apache Software License 2.0 должна уйти в прошлое теперь, когда все обновляется до GPLv3, но оказывается, что достаточно много людей либо застряли только с GPLv2, либо не согласны с GPLv3, из-за чего некоторые проекты, лицензированные Apache Software, должны перейти на нее. Например, Bootstrap Twitter в настоящее время переходит с ASL2.0 на MIT именно потому, что некоторым людям по-прежнему нужна совместимость с GPLv2. Среди затронутых проектов были Drupal, WordPress, Joomla, MoinMoin Wiki и другие. И даже этот случай показывает, что люди больше не так уж заботятся о лицензиях, поскольку Joomla 3 просто включила bootstrap, хотя они не были лицензиями совместимым образом (GPLv2 против ASL 2.0). Другим традиционным случаем несовместимости GPL является проект OpenSSL, лицензия которого не очень хорошо сочетается с GPL. Эта лицензия также по-прежнему несовместима с GPLv3. Вся эта история особенно интересна, поскольку некоторые не очень хорошие стороны начали заниматься лицензионным троллингом с помощью лицензий GPL.