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

Apache License 2.0

Apache License 2.0 — это свободная лицензия на программное обеспечение, разработанная некоммерческой организацией Apache Software Foundation (ASF). Она относится к категории разрешительных (пермиссивных) лицензий, позволяющих использовать, копировать, изменять и распространять исходный код и производные произведения как в открытых, так и в проприетарных проектах, при условии соблюдения ряда требований, в первую очередь — сохранения уведомлений об авторских правах и отказе от ответственности.

История

Лицензия Apache была впервые опубликована в 1995 году как версия 1.0. Она была создана для регулирования распространения программного обеспечения, разрабатываемого в рамках Apache Group (предшественницы ASF), в первую очередь — веб-сервера Apache HTTP Server. Основной целью было обеспечить максимальную свободу использования кода при сохранении атрибуции и правовой защиты разработчиков.

В 2000 году вышла версия 1.1, которая внесла незначительные уточнения, в частности, в формулировки, касающиеся товарных знаков и рекламных материалов. Однако наиболее значительным изменением стало принятие версии 2.0 в январе 2004 года. Эта версия была разработана с учётом опыта других лицензий (например, BSD и MIT) и современных правовых реалий. Она была одобрена Open Source Initiative (OSI) как соответствующая определению Open Source, а также Free Software Foundation (FSF) как свободная лицензия.

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

Apache License 2.0 предоставляет пользователю широкий набор прав, но при этом накладывает определённые обязательства.

Предоставляемые права

Лицензия даёт бессрочное, безотзывное, всемирное, безвозмездное и неисключительное право на:

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

Обязательства пользователя

Основным требованием является воспроизведение в каждом экземпляре оригинального или производного произведения следующих уведомлений:

  1. Уведомление об авторских правах (Copyright notice).
  2. Текст лицензии или ссылка на него (обычно в виде файла LICENSE).
  3. Уведомление об изменениях (NOTICE file), если таковое предоставлено лицензиаром. В производных работах можно добавлять собственные уведомления, но исходные удалять нельзя.
  4. Отказ от ответственности (Disclaimer of Warranty) и ограничение ответственности (Limitation of Liability). Эти положения должны быть чётко указаны.

Отказ от ответственности

Ключевой элемент лицензии — явный отказ от каких-либо гарантий. Программное обеспечение предоставляется «как есть» (as-is), без каких-либо явных или подразумеваемых гарантий, включая, но не ограничиваясь, гарантиями товарной пригодности, соответствия определённой цели и ненарушения прав. Лицензиар не несёт ответственности за любые убытки, возникшие в результате использования программы.

Отличия от других лицензий

Apache License 2.0 часто сравнивают с другими популярными свободными лицензиями.

Сравнение с GNU GPL

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

Сравнение с лицензией MIT

Обе лицензии являются разрешительными. Однако Apache 2.0 содержит несколько дополнительных положений, которых нет в MIT:

  • Явная патентная оговорка: MIT не содержит явного предоставления патентных прав. Apache 2.0 включает явную лицензию на патенты, что даёт пользователям дополнительную защиту от патентных претензий со стороны авторов кода.
  • Требование к уведомлениям: Apache 2.0 требует сохранять файл NOTICE, если он есть, что позволяет авторам указывать дополнительную информацию (например, об авторстве или сторонних компонентах). MIT требует только сохранения уведомления об авторских правах.

Сравнение с лицензией BSD

Apache 2.0 также более детальна, чем классическая 2- или 3-пунктная лицензия BSD. BSD 3-Clause, например, содержит требование не использовать имена участников для продвижения производных продуктов без разрешения, но не имеет патентной оговорки. Apache 2.0 предоставляет более формализованную и юридически проработанную структуру, включая положения о патентах и товарных знаках.

Совместимость с другими лицензиями

Совместимость лицензий — важный аспект при создании производных произведений, объединяющих код под разными лицензиями.

  • С GNU GPL версии 3: Apache License 2.0 совместима с GPLv3. Это означает, что код под Apache 2.0 можно включать в проект, распространяемый под GPLv3. FSF официально подтвердила эту совместимость.
  • С GNU GPL версии 2: Apache License 2.0 несовместима с GPLv2. Это связано с различиями в патентных оговорках и требованиях к уведомлениям. Включение кода под Apache 2.0 в проект под GPLv2 невозможно без нарушения одной из лицензий.
  • С другими лицензиями: Apache 2.0 совместима с большинством других разрешительных лицензий (MIT, BSD, X11, zlib/libpng и др.), а также с некоторыми копилефтными (например, MPL 2.0, которая имеет механизм совместимости). При объединении кода необходимо внимательно анализировать условия каждой лицензии.

Применение

Apache License 2.0 является одной из самых популярных лицензий для открытого программного обеспечения. Она широко используется как крупными проектами, так и небольшими библиотеками.

Примеры проектов

  • Apache HTTP Server — веб-сервер, давший название лицензии.
  • Androidоперационная система от Google (ядро Linux распространяется под GPLv2, но пользовательское пространство и многие библиотеки — под Apache 2.0).
  • Kubernetes — система оркестрации контейнеров.
  • Hadoop — платформа для распределённой обработки больших данных.
  • Spring Framework — популярный фреймворк для разработки приложений на Java.
  • TensorFlow — библиотека машинного обучения от Google.

Причины популярности

  • Юридическая ясность: лицензия написана чётким языком, содержит подробные определения и положения.
  • Патентная защита: явная оговорка защищает пользователей и разработчиков от патентных исков.
  • Гибкость: позволяет использовать код как в открытых, так и в коммерческих проектах, что стимулирует его широкое распространение.
  • Принятие сообществом: ASF — авторитетная организация, а лицензия одобрена OSI и FSF.

Критика

Несмотря на широкое признание, Apache License 2.0 подвергается некоторой критике:

  • Отсутствие защиты от «закрытия» кода: Критики, особенно сторонники копилефта, отмечают, что разрешительные лицензии, включая Apache 2.0, позволяют коммерческим компаниям использовать открытый код, не отдавая ничего взамен сообществу. Это может привести к «захвату» (tivoization) или созданию проприетарных форков, которые не делятся улучшениями.
  • Сложность: По сравнению с лицензией MIT, Apache 2.0 является более объёмным и сложным документом, что может отпугивать начинающих разработчиков.
  • Патентная оговорка: Хотя она является преимуществом, некоторые юристы отмечают, что её формулировки могут быть истолкованы по-разному в разных юрисдикциях, что создаёт потенциальные риски.

Интересные факты

  • Название: Лицензия названа в честь племени апачей, но не имеет никакого отношения к их культуре или истории. Название было выбрано основателями проекта Apache HTTP Server в знак уважения к их боевому духу и стойкости.
  • Версия 2.0: Разработка версии 2.0 заняла несколько лет и включала широкое обсуждение в сообществе. Она была создана для решения проблем, выявленных в версиях 1.0 и 1.1, а также для соответствия современным требованиям.
  • Популярность: По данным различных исследований, Apache License 2.0 входит в тройку самых популярных лицензий на GitHub, наряду с MIT и GPLv3.

Источники

  • Текст лицензии Apache License 2.0 (официальный сайт Apache Software Foundation).
  • Статья «Apache License» в Википедии.
  • Материалы Open Source Initiative (OSI) о лицензии Apache 2.0.
  • Руководство Free Software Foundation (FSF) по лицензиям, включая Apache 2.0.
  • Аналитические статьи о совместимости свободных лицензий.

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

На главную BFOmetr →