Слабый копилефт
Слабый копилефт (англ. weak copyleft) — это тип лицензий на программное обеспечение и другие произведения, который сочетает элементы свободного лицензирования с ограничениями, направленными на сохранение свободы распространения только для самого произведения или его модификаций, но не для производных работ, связанных с ним. В отличие от строгого копилефта (например, GNU General Public License), слабый копилефт допускает включение лицензированного кода в проприетарные проекты при соблюдении определённых условий, таких как сохранение лицензии на исходный код библиотеки или компонента.
История возникновения
Концепция слабого копилефта возникла в середине 1990-х годов как ответ на потребности разработчиков библиотек и фреймворков, которые хотели, чтобы их код оставался свободным, но при этом мог использоваться в коммерческих приложениях. Первой широко известной лицензией такого типа стала GNU Lesser General Public License (LGPL), выпущенная Фондом свободного программного обеспечения (Free Software Foundation, FSF) в 1991 году. Изначально она называлась «Библиотечная общедоступная лицензия GNU» (GNU Library General Public License) и была разработана для библиотек, таких как GNU C Library (glibc).
В 1999 году вышла вторая версия LGPL, которая уточнила условия использования и расширила сферу применения. В 2007 году, одновременно с выходом GPLv3, была опубликована LGPLv3, которая стала совместимой с GPLv3. Другие известные лицензии слабого копилефта, такие как Mozilla Public License (MPL) и Eclipse Public License (EPL), появились в конце 1990-х — начале 2000-х годов как результат развития сообществ разработчиков Mozilla и Eclipse.
Отличия от строгого копилефта
Основное различие между слабым и строгим копилефтом заключается в требованиях к производным работам. Строгий копилефт (например, GPL) требует, чтобы любое произведение, основанное на лицензированном коде, распространялось под той же лицензией. Слабый копилефт, напротив, позволяет создавать производные работы, которые могут быть лицензированы иначе, если они не являются модификациями самого лицензированного компонента.
На практике это означает, что при использовании библиотеки под слабой копилефт-лицензией в проприетарном приложении, разработчик обязан:
- Сохранить оригинальную лицензию на саму библиотеку.
- Предоставить доступ к исходному коду библиотеки (включая любые изменения в ней).
- Не изменять лицензию на библиотеку.
Однако сам проприетарный код, который вызывает библиотеку или связывается с ней, может распространяться под любой лицензией, включая коммерческие.
Основные лицензии слабого копилефта
GNU Lesser General Public License (LGPL)
LGPL является наиболее известной лицензией слабого копилефта. Она применяется в основном к библиотекам, но может использоваться и для других типов программного обеспечения. LGPLv3, как и GPLv3, включает положения о защите от патентных исков и аппаратных ограничений (тивоизация). Версия LGPLv2.1 остаётся популярной для многих проектов.
Mozilla Public License (MPL)
MPL, разработанная организацией Mozilla Foundation, является лицензией слабого копилефта, ориентированной на файловый уровень. Это означает, что требования копилефта применяются только к файлам, содержащим код под MPL, а не ко всей программе в целом. MPL используется в таких проектах, как Firefox, Thunderbird и LibreOffice. Версия MPL 2.0, выпущенная в 2012 году, стала более совместимой с GPL и Apache License.
Eclipse Public License (EPL)
EPL, разработанная Eclipse Foundation, также является лицензией слабого копилефта. Она используется в проектах Eclipse IDE, Jakarta EE и других. EPL требует, чтобы изменения в коде, распространяемом под этой лицензией, были доступны под той же лицензией, но позволяет комбинировать его с проприетарным кодом.
Common Development and Distribution License (CDDL)
CDDL, созданная компанией Sun Microsystems (ныне Oracle), используется для таких проектов, как OpenSolaris и OpenJDK. Она основана на MPL и имеет схожие принципы: копилефт применяется на уровне файлов.
Применение
Слабый копилефт широко используется в разработке библиотек, фреймворков и компонентов, которые должны быть интегрированы в коммерческие продукты. Примеры:
- Библиотеки: GNU C Library (glibc) под LGPL, Qt Toolkit под LGPL (до версии 5.7 использовалась GPL с исключением).
- Веб-фреймворки: jQuery под MIT License (не является копилефтом), но некоторые его модули используют MPL.
- Инструменты разработки: Eclipse IDE под EPL.
Преимущества и недостатки
Преимущества
- Гибкость: Разработчики проприетарного ПО могут использовать библиотеки под слабым копилефтом, не раскрывая свой код.
- Сохранение свободы: Исходный код библиотеки остаётся открытым, и любые изменения в нём должны быть опубликованы.
- Широкая распространённость: Многие популярные библиотеки используют слабый копилефт, что способствует их интеграции в различные проекты.
Недостатки
- Сложность соблюдения: Разработчики должны чётко разделять код под слабым копилефтом и проприетарный код, что может быть технически сложно.
- Ограничения для модификаций: Если библиотека изменяется, эти изменения должны быть опубликованы под той же лицензией, что может отпугнуть некоторых разработчиков.
- Несовместимость лицензий: Некоторые лицензии слабого копилефта (например, MPL и EPL) могут быть несовместимы с GPL, что усложняет комбинирование кода.
Критика
Слабый копилефт подвергается критике как со стороны сторонников строгого копилефта, так и со стороны приверженцев пермиссивных лицензий (например, MIT, Apache). Сторонники строгого копилефта утверждают, что слабый копилефт позволяет компаниям использовать свободный код без внесения вклада в сообщество, что противоречит духу свободного программного обеспечения. Сторонники пермиссивных лицензий, напротив, считают слабый копилефт излишне ограничительным и сложным для соблюдения, что может отпугнуть разработчиков.
Источники
- Free Software Foundation. GNU Lesser General Public License, Version 3. — 2007.
- Mozilla Foundation. Mozilla Public License, Version 2.0. — 2012.
- Eclipse Foundation. Eclipse Public License, Version 2.0. — 2017.
- 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.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →