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

Eclipse Public License 1.0

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

История

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

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

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

Определение и сфера действия

EPL 1.0 является лицензией с авторским левом слабой степени (weak copyleft). Это означает, что если вы распространяете модифицированную версию исходного кода, лицензированного под EPL 1.0, вы должны распространять свои изменения под той же лицензией. Однако, в отличие от сильного авторского лева (например, GPL), EPL 1.0 позволяет комбинировать EPL-код с проприетарным кодом в виде отдельного модуля, не требуя лицензирования всего программного продукта под EPL.

Условия распространения

  1. Исходный код: Если вы распространяете программу, содержащую код под EPL 1.0, в виде исходного кода, вы обязаны распространять его под EPL 1.0. Вы можете добавлять собственные условия к модификациям, но только в том случае, если они не противоречат EPL.
  2. Объектный код: Если вы распространяете программу в виде объектного кода (скомпилированной версии), вы должны предоставить получателю доступ к исходному коду под EPL 1.0. Это может быть сделано путём включения исходного кода в дистрибутив или предоставления ссылки на него.
  3. Производные работы: Определение производной работы в EPL 1.0 является ключевым. Лицензия различает «модули» (modules) и «производные работы» (derivative works). Модуль — это отдельный файл или набор файлов, который может быть независимо лицензирован. Если вы создаёте новый модуль, который не является производным от EPL-кода, вы можете лицензировать его на любых условиях. Если же ваш модуль является производным (например, вы изменяете существующий EPL-файл), он должен быть лицензирован под EPL 1.0.

Гарантии и ответственность

EPL 1.0, как и большинство лицензий с открытым исходным кодом, содержит отказ от гарантий (disclaimer of warranty) и ограничение ответственности (limitation of liability). Код предоставляется «как есть» (as is), без каких-либо явных или подразумеваемых гарантий, включая, но не ограничиваясь, гарантиями товарной пригодности или пригодности для конкретной цели. Ни один из участников (contributors) не несёт ответственности за убытки, связанные с использованием кода, за исключением случаев, предусмотренных применимым законодательством.

Патентные права

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

Сравнение с другими лицензиями

EPL 1.0 vs GPL

Главное отличие EPL 1.0 от GNU General Public License (GPL) — в силе авторского лева. GPL является сильным copyleft: если вы используете GPL-код в своём проекте, весь проект должен быть лицензирован под GPL. EPL 1.0, напротив, позволяет включать EPL-код в проприетарные приложения при условии, что сам EPL-код остаётся под EPL. Это делает EPL более привлекательной для коммерческих разработчиков, которые хотят использовать открытый код, но не готовы открывать весь свой продукт.

EPL 1.0 vs Apache License 2.0

Apache License 2.0 является пермиссивной лицензией, не требующей распространения изменений под той же лицензией. EPL 1.0, будучи copyleft-лицензией, требует, чтобы изменения в EPL-коде распространялись под EPL. Однако EPL 1.0 более гибкая, чем GPL, в отношении комбинирования с проприетарным кодом.

EPL 1.0 vs CPL 1.0

EPL 1.0 была разработана как замена Common Public License (CPL) 1.0. Основные изменения включали уточнение определения «модуля» и условий распространения объектного кода. EPL 1.0 также более совместима с другими лицензиями, чем CPL.

Применение

Известные проекты под EPL 1.0

  • Eclipse IDE — основная среда разработки для Java и других языков.
  • Clojure — язык программирования, работающий на платформе Java.
  • JUnit 4 — популярный фреймворк для модульного тестирования Java.
  • Hibernate (частично) — ORM-фреймворк для Java.
  • Jetty — веб-сервер и контейнер сервлетов.

Использование в коммерческих продуктах

Многие компании, включая IBM, Oracle и Red Hat, используют EPL 1.0 для своих проектов с открытым исходным кодом. EPL 1.0 позволяет им распространять код под открытой лицензией, сохраняя возможность включать его в проприетарные продукты без раскрытия всего исходного кода.

Критика

EPL 1.0 подвергалась критике за неоднозначность в определении «производной работы» и «модуля». На практике это может приводить к юридическим спорам о том, какие изменения должны быть лицензированы под EPL. Кроме того, EPL 1.0 несовместима с GPL версии 2, что создаёт проблемы при комбинировании кода под этими лицензиями. В EPL 2.0 эта проблема была частично решена путём добавления опции совместимости с GPL 3.

Также отмечается, что EPL 1.0 является менее распространённой, чем GPL или Apache License, что может ограничивать возможность повторного использования кода в сообществе.

Источники

  • Eclipse Foundation. Eclipse Public License - v 1.0.
  • Open Source Initiative. The Eclipse Public License 1.0.
  • Free Software Foundation. Various Licenses and Comments about Them.
  • Rosen, L. (2005). Open Source Licensing: Software Freedom and Intellectual Property Law. Prentice Hall.
  • St. Laurent, A. M. (2004). Understanding Open Source and Free Software Licensing. O'Reilly Media.

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

На главную BFOmetr →