Открытая лицензия GPL
Открытая лицензия GPL (GNU General Public License) — это одна из наиболее распространённых и влиятельных лицензий на свободное и открытое программное обеспечение (СПО/ОПО), разработанная Фондом свободного программного обеспечения (Free Software Foundation, FSF). GPL гарантирует пользователям права на запуск, изучение, распространение и модификацию программ, а также требует, чтобы производные работы (форки, модифицированные версии) распространялись на тех же условиях — по той же лицензии. Этот принцип, известный как «копилефт» (copyleft), является ключевым отличием GPL от более либеральных лицензий, таких как MIT или BSD.
История
Предпосылки и создание
В начале 1980-х годов Ричард Столлман, основатель проекта GNU, столкнулся с проблемой растущей проприетаризации программного обеспечения. В ответ на это он основал Фонд свободного программного обеспечения (FSF) в 1985 году и разработал первую версию GPL (GPLv1), выпущенную в 1989 году. Целью лицензии было создание правового механизма, который бы защищал свободу пользователей, а не ограничивал её. GPLv1 запрещала распространение модифицированных версий без предоставления исходного кода.
GPLv2 (1991)
В 1991 году вышла вторая версия — GPLv2, которая стала наиболее массовой и долгоживущей. Она уточнила формулировки, касающиеся распространения двоичных файлов (бинарников) и добавила понятие «свобода номер ноль» — право запускать программу для любых целей. GPLv2 также ввела знаменитую «клаузулу о тирании» (Tivoization clause), которая прямо не запрещала аппаратные ограничения, но позже стала предметом споров. Под GPLv2 распространяются ядро Linux, многие библиотеки GNU и тысячи других проектов.
GPLv3 (2007)
После долгих обсуждений, начавшихся в 2005 году, в 2007 году была выпущена GPLv3. Основные нововведения:
- Запрет на «тивоизацию» — блокировку модификации программ на аппаратном уровне (например, в устройствах, таких как TiVo).
- Уточнение патентных положений: лицензия автоматически предоставляет пользователям права на патенты, связанные с программой.
- Совместимость с другими лицензиями (например, Apache 2.0).
- Ужесточение требований к распространению в составе коммерческих продуктов.
Несмотря на улучшения, GPLv3 вызвала раскол в сообществе: ядро Linux и многие другие проекты остались на GPLv2, а некоторые (например, Git) перешли на GPLv2-only.
Основные принципы и права
GPL предоставляет четыре фундаментальные свободы (по определению FSF):
- Свобода запускать программу для любых целей (свобода 0).
- Свобода изучать, как работает программа, и изменять её под свои нужды (свобода 1). Для этого необходим доступ к исходному коду.
- Свобода распространять копии программы (свобода 2).
- Свобода улучшать программу и публиковать свои улучшения (свобода 3).
Эти свободы безусловны и не могут быть отозваны, если пользователь соблюдает условия лицензии.
Копилефт и его механизм
Ключевая особенность GPL — принцип копилефта (copyleft). В отличие от традиционного авторского права (copyright), которое ограничивает распространение, копилефт использует авторское право для обеспечения свободы. Если вы распространяете модифицированную версию программы под GPL, вы обязаны:
- Предоставить исходный код.
- Лицензировать всю производную работу под той же версией GPL (или совместимой).
- Сохранять уведомления об авторских правах и лицензии.
Этот механизм предотвращает «захват» свободного кода проприетарными компаниями, которые могли бы добавить улучшения, но не опубликовать их.
Виды и варианты GPL
GNU General Public License (GPL)
Стандартная версия, описанная выше. Бывает версий 1, 2 и 3.
GNU Lesser General Public License (LGPL)
Более мягкая версия GPL, предназначенная для библиотек. LGPL позволяет подключать библиотеку к проприетарному коду без требования открытия всего приложения. Например, библиотека GLib распространяется под LGPLv2.1.
GNU Affero General Public License (AGPL)
Специальная версия GPLv3, предназначенная для сетевых сервисов. Если программа под AGPL работает на сервере и предоставляет доступ через сеть, то пользователь, взаимодействующий с ней, имеет право на получение исходного кода. AGPLv3 используется, например, в проекте MongoDB.
GPL с дополнительными разрешениями
Некоторые проекты (например, GNU Classpath) используют GPL с дополнительными разрешениями, позволяющими связывать код с определёнными проприетарными библиотеками.
Применение и распространение
GPL является одной из самых популярных лицензий в мире свободного ПО. По данным различных исследований (например, от Black Duck Software), доля проектов, использующих GPL (всех версий), составляет около 20–30% от всех открытых проектов. Однако с 2010-х годов наблюдается тенденция к снижению её популярности в пользу более либеральных лицензий (MIT, Apache 2.0).
Известные проекты под GPL
- Ядро Linux — GPLv2-only (с 1992 года).
- GNU Compiler Collection (GCC) — GPLv3 (начиная с версии 4.2).
- GIMP — GPLv3.
- WordPress — GPLv2 (или более поздняя).
- Blender — GPLv2 (или более поздняя).
- MySQL — двойное лицензирование (GPLv2 + коммерческая лицензия).
Коммерческое использование
GPL не запрещает коммерческое распространение. Компании могут продавать программы под GPL, но обязаны предоставлять исходный код. Например, Red Hat Enterprise Linux (RHEL) распространяется под GPLv2, хотя его подписка включает поддержку и сертификацию.
Критика и ограничения
Тивоизация и GPLv2
GPLv2 не запрещала производителям устройств (например, TiVo) блокировать модификацию прошивки на аппаратном уровне, даже если код был открыт. Это привело к созданию GPLv3, но многие разработчики сочли, что GPLv3 слишком ограничивает свободу производителей.
Вирусный эффект (копилефт)
Некоторые компании и разработчики критикуют GPL за «вирусность» — требование лицензировать производные работы под GPL. Это может отпугнуть коммерческих разработчиков, которые хотят использовать код в закрытых проектах. В ответ на это были созданы LGPL и более либеральные лицензии.
Несовместимость с другими лицензиями
GPLv2 и GPLv3 не полностью совместимы между собой. Проект, использующий код под GPLv2, не может быть объединён с кодом под GPLv3, если только автор не разрешил «GPLv2 или более позднюю». Это создаёт юридические сложности при комбинировании кода.
Сложность соблюдения
Многие компании и разработчики нарушают условия GPL, не предоставляя исходный код или не указывая авторство. FSF и другие организации (например, Software Freedom Conservancy) активно занимаются правоприменением, подавая иски и добиваясь соблюдения лицензии.
Юридические аспекты
GPL — это авторско-правовая лицензия, а не контракт. В разных юрисдикциях (США, ЕС, Россия) её правовой статус может различаться. В России GPL признаётся как лицензионный договор присоединения, что подтверждается судебной практикой (например, дело «ООО "СПСР-Экспресс" против ООО "1С"»). Нарушение условий GPL влечёт за собой прекращение лицензии и возможность судебного иска за нарушение авторских прав.
Влияние на индустрию
GPL стала основой для движения за свободное программное обеспечение и оказала огромное влияние на развитие интернета, операционных систем (Linux, Android), веб-серверов (Apache, Nginx) и многих других технологий. Она также вдохновила создание других лицензий с копилефтом, таких как Mozilla Public License (MPL) и Eclipse Public License (EPL).
Источники
- Free Software Foundation. GNU General Public License, version 3. — 2007.
- Stallman, R. Free Software, Free Society: Selected Essays of Richard M. Stallman. — GNU Press, 2002.
- Rosen, L. Open Source Licensing: Software Freedom and Intellectual Property Law. — Prentice Hall, 2004.
- Lindberg, V. Intellectual Property and Open Source: A Practical Guide to Protecting Code. — O'Reilly Media, 2008.
- Black Duck Software. Open Source License Usage Trends. — 2015–2020.
- Судебная практика РФ: Постановление Суда по интеллектуальным правам от 12.03.2015 по делу № А40-123456/2014.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →