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

Eclipse Public License

Eclipse Public License (EPL) — это лицензия с открытым исходным кодом (open source), разработанная и поддерживаемая Eclipse Foundation. Она относится к категории слабых копилефтных (weak copyleft) лицензий, что означает, что производные работы, распространяемые как часть более крупного программного обеспечения, могут быть лицензированы на других условиях, если изменения в исходном коде, находящемся под EPL, остаются открытыми. EPL является одной из наиболее распространённых лицензий для корпоративных и коммерческих проектов, особенно в среде разработки Java.

История

Лицензия EPL была создана Eclipse Foundation для замены Common Public License (CPL), которая использовалась в ранних версиях платформы Eclipse. Первая версия, EPL 1.0, была утверждена в 2004 году. Основной целью разработки было устранение неоднозначностей CPL, особенно в части определения «производных работ» и условий распространения. EPL 1.0 получила одобрение Open Source Initiative (OSI) как лицензия с открытым исходным кодом.

Вторая версия, EPL 2.0, была выпущена в 2017 году после многолетнего процесса обсуждения. Она была разработана для улучшения совместимости с другими лицензиями, в частности с GNU General Public License (GPL), и для адаптации к современным практикам разработки, включая использование модульных систем и контейнеризацию. EPL 2.0 также была одобрена OSI.

Основные положения

Копилефт и исключения

EPL является слабой копилефтной лицензией. Это означает, что если вы распространяете программное обеспечение, основанное на коде под EPL, и вносите в него изменения, то эти изменения также должны быть опубликованы под EPL, но только в том случае, если они распространяются как часть того же модуля или компонента. Если же код под EPL используется в качестве библиотеки или компонента в более крупном проекте, который не является производной работой в смысле EPL, то лицензия на остальную часть проекта может быть любой.

Определение «производной работы»

EPL использует узкое определение «производной работы», которое отличается от определений в других лицензиях, таких как GPL. В EPL производной работой считается только сам файл или модуль, содержащий код под EPL, а не всё программное обеспечение, которое с ним взаимодействует. Это позволяет коммерческим разработчикам использовать EPL-код в проприетарных приложениях, не раскрывая весь исходный код, при условии, что изменения в самом EPL-модуле остаются открытыми.

Распространение и патентные права

EPL включает явное предоставление патентных прав от автора к получателю. Если автор подаёт патентный иск против получателя на основе кода, распространяемого под EPL, то лицензия на этот код для данного получателя автоматически прекращается. Это положение направлено на защиту сообщества от патентных троллей.

Совместимость с GPL

EPL 2.0 была специально доработана для обеспечения совместимости с GNU General Public License (GPL) версии 2 и 3. В EPL 2.0 добавлен пункт, позволяющий лицензиату распространять код под EPL вместе с кодом под GPL, при условии, что это не нарушает условия обеих лицензий. Это было важным шагом, так как EPL 1.0 не была совместима с GPL.

Версии

EPL 1.0

  • Утверждена в 2004 году.
  • Несовместима с GPL.
  • Используется в старых версиях Eclipse и других проектах.
  • Содержит менее детализированные определения, чем EPL 2.0.

EPL 2.0

  • Утверждена в 2017 году.
  • Совместима с GPL 2 и 3.
  • Включает дополнительные положения для модульных систем и контейнеров.
  • Позволяет использовать «Secondary Licenses» (например, GPL) для упрощения распространения.
  • Рекомендуется для новых проектов.

Применение

EPL широко используется в проектах, связанных с платформой Eclipse, включая среду разработки Eclipse IDE, а также в других проектах, таких как:

  • Eclipse IDE — основная среда разработки для Java и других языков.
  • Jakarta EE — набор спецификаций для корпоративных Java-приложений (ранее Java EE).
  • Hibernate — ORM-фреймворк для Java (частично используется EPL 2.0).
  • JUnit — библиотека для модульного тестирования (версия 5 использует EPL 2.0).
  • BIRT (Business Intelligence and Reporting Tools) — инструменты для отчётности.

Также EPL используется в некоторых проектах, не связанных напрямую с Eclipse Foundation, например, в библиотеках для работы с XML и веб-сервисами.

Критика и особенности

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

С другой стороны, EPL хвалят за гибкость, позволяющую использовать открытый код в коммерческих продуктах, что способствует его распространению в корпоративной среде. Eclipse Foundation активно продвигает EPL как сбалансированную лицензию, подходящую как для сообществ, так и для бизнеса.

Источники

  • Eclipse Foundation. «Eclipse Public License 2.0». 2017.
  • Open Source Initiative. «Eclipse Public License 1.0». 2004.
  • Open Source Initiative. «Eclipse Public License 2.0». 2017.
  • Rosen, Lawrence. «Open Source Licensing: Software Freedom and Intellectual Property Law». Prentice Hall, 2004.
  • St. Laurent, Andrew M. «Understanding Open Source and Free Software Licensing». O'Reilly Media, 2004.

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

На главную BFOmetr →