Лицензия Apache 2.0
Лицензия Apache 2.0 — это свободная (open source) лицензия на программное обеспечение, разработанная некоммерческой организацией Apache Software Foundation (ASF). Она относится к категории разрешительных (permissive) лицензий, то есть предоставляет пользователям широкие права на использование, копирование, модификацию и распространение кода, включая возможность включения лицензированного кода в проприетарные (закрытые) программные продукты. Является одной из наиболее распространённых лицензий в мире открытого ПО наряду с лицензиями MIT и BSD.
История
Первая версия лицензии Apache (Apache License 1.0) была выпущена в 1995 году для проектов, разрабатываемых в рамках Apache Group (предшественника ASF). Она основывалась на более ранних лицензиях BSD и MIT, но содержала ряд специфических требований, в частности обязательное указание авторства в рекламных материалах (аналогично пункту о рекламе в лицензии BSD).
В 1999 году была принята версия 1.1, которая уточнила некоторые формулировки, но сохранила рекламную оговорку. Однако эта оговорка создавала неудобства для крупных проектов, включающих код под разными лицензиями, так как требовала перечисления множества организаций в рекламных материалах.
В 2004 году Apache Software Foundation выпустила версию 2.0, которая стала результатом значительной переработки. Основные изменения включали:
- Отказ от рекламной оговорки.
- Введение явного патентного гранта (патентной лицензии) — важное нововведение для защиты пользователей от патентных исков со стороны контрибьюторов.
- Упрощение структуры и формулировок, приведение их в соответствие с современной юридической практикой.
- Введение требования сохранять уведомления об авторстве в самом коде (а не в рекламе).
С момента выхода Apache License 2.0 стала стандартом для многих крупных проектов, включая операционную систему Android (основная часть кода под лицензией Apache), веб-сервер Apache HTTP Server, фреймворк Spring, библиотеки Google Guava и многие другие.
Основные положения
Лицензия Apache 2.0 предоставляет пользователю следующие права, при условии соблюдения определённых обязательств.
Права пользователя
- Использование, копирование и распространение: Лицензиат может свободно использовать программу в любых целях, создавать неограниченное количество копий и распространять их как в исходном, так и в скомпилированном виде.
- Модификация и создание производных работ: Разрешается изменять исходный код, создавать на его основе новые программы и распространять их под любой лицензией (включая проприетарные), при условии соблюдения требований лицензии.
- Патентный грант: Каждый контрибьютор (лицо, вносящее код в проект) автоматически предоставляет лицензиату бессрочную, безотзывную, неисключительную лицензию на свои патенты, которые покрывают внесённый им код. Это защищает пользователя от исков о нарушении патентов со стороны контрибьюторов.
Обязательства пользователя
- Сохранение уведомлений об авторских правах: При распространении программы (как в исходном, так и в модифицированном виде) необходимо сохранять все уведомления об авторских правах, товарных знаках и патентах, содержащиеся в оригинальном коде.
- Включение копии лицензии: При распространении программы (в любом виде) необходимо приложить копию текста лицензии Apache 2.0. Обычно это делается путём включения файла
LICENSEв дистрибутив. - Уведомление об изменениях: Если в программу были внесены изменения, это должно быть отражено в файле
NOTICE(или аналогичном). В этом файле также могут перечисляться сторонние компоненты и их лицензии. - Отказ от ответственности: Лицензия содержит явный отказ от ответственности за убытки, возникшие при использовании программы, и отказ от гарантий (кроме случаев, предусмотренных законом).
Отличия от других лицензий
Apache 2.0 часто сравнивают с другими популярными свободными лицензиями:
Apache 2.0 vs MIT
Обе являются разрешительными лицензиями. Основное отличие — наличие явного патентного гранта в Apache 2.0. Лицензия MIT не содержит такого гранта, что может создавать риски для пользователей, если контрибьютор впоследствии подаст патентный иск. Apache 2.0 также требует сохранения файла NOTICE, что делает её более формальной.
Apache 2.0 vs BSD (3-пунктная)
Обе лицензии очень похожи. Apache 2.0 более детальна и включает патентный грант, а также явное требование уведомления об изменениях. BSD (3-пунктная) короче и проще, но не содержит механизма защиты от патентных исков.
Apache 2.0 vs GPL (v2/v3)
GPL является копилефт-лицензией (copyleft), то есть требует, чтобы производные работы распространялись под той же лицензией. Apache 2.0 — разрешительная, не накладывает такого требования. GPLv3 частично совместима с Apache 2.0 (код под Apache 2.0 можно включать в проекты под GPLv3), но обратная совместимость не предусмотрена. GPLv2 несовместима с Apache 2.0.
Применение
Благодаря своей гибкости и юридической проработанности, Apache License 2.0 широко используется в различных сферах разработки ПО:
- Крупные открытые проекты: Веб-сервер Apache HTTP Server, база данных Cassandra, фреймворк Hadoop, платформа Android (большая часть кода), библиотека TensorFlow.
- Коммерческие компании: Многие компании (Google, Facebook, Netflix, Microsoft) используют Apache 2.0 для своих открытых проектов, чтобы стимулировать их использование в коммерческих продуктах без ограничений копилефта.
- Библиотеки и фреймворки: Spring Framework, Hibernate, Log4j, Jackson, Guava и тысячи других.
- Мобильная разработка: Android SDK и множество библиотек для Android распространяются под Apache 2.0.
Критика и ограничения
Несмотря на широкую популярность, лицензия Apache 2.0 имеет и критиков:
- Отсутствие копилефта: Для сторонников движения за свободное ПО (в частности, Фонда свободного ПО) Apache 2.0 недостаточно защищает свободу пользователей, так как позволяет включать код в проприетарные продукты без открытия их исходного кода.
- Сложность по сравнению с MIT: Для небольших проектов или личных библиотек Apache 2.0 может быть излишне формальной и объёмной. Лицензия MIT проще и понятнее.
- Патентный грант: Некоторые юристы отмечают, что формулировка патентного гранта в Apache 2.0 может быть неоднозначно истолкована в некоторых юрисдикциях, хотя на практике это редко приводит к спорам.
Источники
- Apache License, Version 2.0 — официальный текст лицензии на сайте Apache Software Foundation.
- Open Source Initiative (OSI) — Apache License 2.0 как одобренная лицензия.
- Free Software Foundation (FSF) — комментарии к совместимости Apache License 2.0 с GPL.
- 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 →