Открыть сервис

Сильный копилефт

Сильный копилефт — это один из двух основных типов копилефт-лицензий, который накладывает на производные произведения (производные работы) наиболее строгие требования по распространению. В отличие от слабого копилефта, сильный копилефт требует, чтобы любое производное произведение, созданное на основе лицензированного кода, распространялось под той же самой лицензией, причём это требование распространяется на все компоненты, входящие в состав такого произведения, независимо от их происхождения. Это означает, что если программа, распространяемая под сильной копилефт-лицензией, объединяется с кодом под другой лицензией, весь итоговый продукт, как правило, должен быть перелицензирован под условия сильного копилефта.

История возникновения

Понятие копилефта (и, соответственно, сильного копилефта) было введено Ричардом Столлманом в середине 1980-х годов в рамках проекта GNU. Столлман, разрабатывая свободную операционную систему, столкнулся с проблемой: коммерческие компании могли брать свободный код, модифицировать его и выпускать проприетарные версии, не предоставляя исходный код. Для предотвращения этого была создана лицензия GNU General Public License (GNU GPL), первая версия которой вышла в 1989 году. Именно эта лицензия стала эталоном сильного копилефта.

Первоначально термин «сильный копилефт» не использовался; он возник позже, когда появились лицензии с более мягкими требованиями (например, GNU Lesser General Public LicenseLGPL), которые стали называть «слабым копилефтом». Различие стало особенно актуальным в 1990-е годы, когда развитие библиотек и компонентов для языков программирования потребовало более гибкого подхода к лицензированию.

Основные принципы

Сильный копилефт основан на нескольких ключевых принципах, которые отличают его от других типов лицензий:

  • Обязательное распространение исходного кода. Любой, кто распространяет программу (в том числе в скомпилированном виде) под сильной копилефт-лицензией, обязан предоставить получателю полный исходный код.
  • Вирусный эффект (лицензионная совместимость). Требование копилефта распространяется на все производные работы. Если код под сильной копилефт-лицензией включается в более крупный проект, то весь проект, как правило, должен быть перелицензирован под ту же лицензию. Это свойство часто называют «вирусным», хотя сами сторонники свободного ПО предпочитают термин «защитный».
  • Запрет на добавление дополнительных ограничений. Лицензия запрещает лицензиату накладывать на получателей какие-либо дополнительные ограничения, выходящие за рамки самой лицензии. Это гарантирует, что свободы, предоставленные исходным автором, будут сохранены для всех последующих пользователей.
  • Автоматическое лицензирование. При распространении программы под сильной копилефт-лицензией лицензия автоматически применяется ко всем, кто получает копию. Никаких дополнительных действий со стороны получателя не требуется.

Отличия от слабого копилефта

Основное различие между сильным и слабым копилефтом заключается в том, как лицензия воздействует на производные произведения, содержащие код из разных источников.

  • Сильный копилефт (например, GNU GPL): если программа под GPL объединяется с кодом под другой лицензией, то весь результат должен распространяться под GPL. Исключения возможны только для компонентов, которые являются «агрегатами» (например, отдельные программы на одном диске), но не для «производных работ».
  • Слабый копилефт (например, GNU LGPL, Mozilla Public License): требование копилефта распространяется только на модифицированные файлы или на саму библиотеку, но не на код, который её использует. Если программа просто подключает библиотеку под LGPL, то сама программа может оставаться под проприетарной лицензией.

Таким образом, сильный копилефт является более строгим и направлен на максимальное распространение свобод, в то время как слабый копилефт допускает более широкое использование в коммерческих и проприетарных проектах.

Примеры лицензий

К наиболее известным лицензиям сильного копилефта относятся:

  • GNU General Public License (GPL) — самая распространённая и влиятельная лицензия сильного копилефта. Версия 2 (GPLv2) и версия 3 (GPLv3) являются наиболее используемыми. GPLv3, принятая в 2007 году, включает дополнительные положения, касающиеся патентов и цифровых ограничений (DRM).
  • European Union Public Licence (EUPL) — лицензия, разработанная Европейской комиссией, совместимая с GPLv2 и GPLv3, но имеющая некоторые отличия в формулировках.
  • Affero General Public License (AGPL) — вариант GPL, который закрывает «дыру» в веб-приложениях: если программа под AGPL используется через сеть (например, как SaaS), то пользователь имеет право получить исходный код, даже если программа не распространяется в традиционном смысле.

Применение и значение

Сильный копилефт играет ключевую роль в экосистеме свободного и открытого ПО. Он используется в проектах, где авторы хотят гарантировать, что их код останется свободным и не будет присвоен коммерческими компаниями. Наиболее известные проекты, использующие GNU GPL:

  • Ядро Linux — распространяется под GPLv2.
  • GNU Compiler Collection (GCC) — распространяется под GPLv3.
  • GNU Emacs — распространяется под GPLv3.
  • WordPress — распространяется под GPLv2.
  • MySQL (до приобретения Oracle) — распространялся под GPLv2.

Сильный копилефт часто выбирают разработчики, которые хотят создать «общественное достояние с защитой», то есть предоставить код всем, но при этом запретить его использование в закрытых проектах. Это особенно актуально для инфраструктурного ПО, библиотек и инструментов разработки.

Критика

Сильный копилефт вызывает споры как в сообществе разработчиков, так и в бизнес-среде. Основные аргументы критиков:

  • Ограничение коммерческого использования. Компании, которые хотят использовать код под сильным копилефтом в своих продуктах, часто вынуждены либо открывать весь свой код, либо искать альтернативы. Это может замедлять внедрение инноваций и создавать барьеры для малого бизнеса.
  • Сложность совместимости. Разные версии лицензий сильного копилефта (например, GPLv2 и GPLv3) не всегда совместимы друг с другом, что создаёт проблемы при объединении кода из разных проектов.
  • Юридическая неопределённость. Термин «производная работа» в контексте программного обеспечения не всегда однозначно определён в законодательстве, что приводит к спорам о том, что именно подпадает под действие копилефта.
  • Альтернатива — слабый копилефт или пермиссивные лицензии. Многие разработчики предпочитают пермиссивные лицензии (например, MIT, Apache 2.0), которые не накладывают никаких ограничений на распространение, что упрощает использование кода в любых проектах.

Сторонники сильного копилефта, в свою очередь, утверждают, что он является единственным способом обеспечить долгосрочную свободу программного обеспечения и предотвратить «захват» свободного кода проприетарными компаниями.

Правовой статус в России

В Российской Федерации лицензии сильного копилефта, такие как GNU GPL, признаются в качестве договоров присоединения (ст. 1286.1 ГК РФ). Они не являются запрещёнными и могут использоваться для распространения программного обеспечения. Однако, как и в других юрисдикциях, их применение требует внимательного анализа с точки зрения российского законодательства, особенно в части ответственности за нарушение условий лицензии. Каких-либо специальных ограничений на использование сильного копилефта в России не установлено.

Источники

  1. Stallman, R. (2002). Free Software, Free Society: Selected Essays of Richard M. Stallman. GNU Press.
  2. GNU Project. (2007). GNU General Public License, version 3.
  3. GNU Project. (1991). GNU General Public License, version 2.
  4. European Commission. (2007). European Union Public Licence (EUPL).
  5. Rosen, L. (2005). Open Source Licensing: Software Freedom and Intellectual Property Law. Prentice Hall.
  6. Гражданский кодекс Российской Федерации, часть четвертая, статья 1286.1.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →