Код
#статьи

Apache, Mozilla, Sun и Eclipse: свободные лицензии компаний и некоммерческих организаций

Детальный разбор от нашего эксперта в области интеллектуальной собственности.

Иллюстрация: Apache / Mozilla / Eclipse / Colowgee для Skillbox Media

В завершающей части цикла статей поговорим о лицензиях, которые создавались под нужды компаний и для отдельных продуктов, но получились настолько удачными, что вышли далеко за пределы своих проектов.

Apache License 2.0

Изображение: Apache Software Foundation

Apache License создавалась под эгидой Apache Software Foundation (ASF). Первые версии лицензии практически полностью совпадали с лицензиями BSD 4-Clause и BSD 3-Clause. Отличались только названия выпускающих организаций.

В 2004 году Apache Software Foundation отошла от модели BSD и создала полностью свою Apache License 2.0. Авторы нового соглашения хотели упростить использование софта сторонних разработчиков и улучшить его совместимость с free software.

Apache License 2.0 относится к лицензиям разрешительного типа: разрешает изменять лицензию исходного софта, распространять программы в «закрытом» виде и взимать плату за использование исходной или производных программ.

Текст Apache License 2.0 включает:

  • термины и определения;
  • права и условия их предоставления;
  • отказ от гарантий и ответственности;
  • дополнительные обязательства.

Юридические термины лицензии совпадают с положениями Закона об авторском праве США (параграф 106). Она даёт право воспроизводить программы, создавать на их основе новые, публично демонстрировать и исполнять, сублицензировать, распространять программы и их модифицированные версии в форме исходного или объектного кода.

Лицензиар не может отозвать лицензию. Она предоставляется на весь срок действия исключительного права и действует без ограничений по территории.

Лицензию может предоставлять первоначальный автор и все другие участники проекта, которые включили свои модификации в программу. Лицензия называет таких участников contributors — они становятся соавторами модифицированной программы.

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

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

В FSF объявили о том, что Apache 2.0 совместима только с GPLv3. При этом совместимость односторонняя: можно перевести проект с Apache 2.0 на GPLv3, но не наоборот. В свою очередь ASF настаивает, что сама вправе определять совместимость Apache 2.0 и GPL.

В Apache 2.0 предусмотрена защита от злоупотреблений отдельных авторов. С одной стороны, она предоставляет патентную лицензию на изобретения, связанные с основной программой. С другой стороны, если автор объявит претензии по своему патенту, то он лишится доступа к патентным лицензиям других авторов.

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

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

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

Лицензия Apache 2.0 считается юридически более удачной, чем лицензии BSD и MIT. В неё включены более точные формулировки в отношении предоставляемых прав. Большим плюсом считается и условие о патентных лицензиях. Подробно описан механизм создания программ в соавторстве и определён статус модифицированных программ.

Apache License 2.0 разошлась далеко за пределы проектов Apache и сегодня используется во многих опенсорсных проектах:

  • Apache Spark — кластерная вычислительная система;
  • Spring Framework — фреймворк для создания корпоративных приложений;
  • Android Studio — интегрированная среда разработки;
  • TensorFlow — библиотека для машинного обучения;
  • Blazor — веб-платформа для разработки приложений на C# и HTML.

Mozilla Public License (MPL)

Изображение: Mozilla Foundation

Mozilla Public License — одна из самых популярных свободных лицензий по версии Open Source Initiative. Она сочетает в себе черты разрешительных и копилефт-лицензий.

FSF признаёт MPL свободной лицензией «со слабым копилефтом». Она «заражает» не всю модифицированную программу, а только файлы, содержащие код первоначальной программы или их модифицированные версии. Поэтому код программ, распространяемых по MPL, можно использовать в коммерческих продуктах.

Первую версию MPL написали в Netscape Communications Corporation в 1998 году, после поражения в «браузерной войне» с Internet Explorer. Тогда в Netscape открыли и переписали большую часть исходников своего браузера, а новый проект назвали Mozilla.

Через год, после долгих открытых обсуждений между участниками проекта, появилась MPL v1.1. Она проясняла условия использования патентов и разрешала многократное лицензирование. Последнее условие добавили, чтобы привлечь к Mozilla сторонников более строгих лицензий, таких как GPL. При этом обе ранние версии лицензии несовместимы с GPL. Поэтому первые продукты Mozilla выпускались под несколькими лицензиями: MPL v1.1, GPL v2.0 и LGPL v2.1.

FSF считает MPL v1.1 свободной лицензией без строгого копилефта. По мнению фонда, она обладает «некоторыми сложными ограничениями», которые делают её несовместимой с GNU GPL.

В 2010 году Mozilla Foundation начала разрабатывать MPL v2.0. Новая лицензия должна была стать понятнее, проще в применении и быть совместимой с GPL и Apache. Текст лицензии стал короче, из него убрали неясные формулировки, при этом основные положения MPL v1.1 остались.

MPL v2.0 сочетает в себе черты BSD и GNU GPL. Она совместима с GNU GPL v2.0 и выше, GNU AGPL v3.0 и Apache License 2.0.

Основные условия MPL:

  • код программы (в том числе производный от него код), лицензированный MPL, тоже должен распространяться под MPL;
  • автор составной программы (то есть программы, которая сочетает фрагменты под MPL и другими лицензиями) может выбирать, под какой лицензией её распространять;
  • автор программы может распространять её под разными лицензиями (множественное лицензирование);
  • лицензия MPL предоставляет права во всём мире.

Под MPL выпускаются следующие продукты:

  • Mozilla Suite — набор программ для работы в Сети;
  • Mozilla Firefox — веб-браузер;
  • Mozilla Thunderbird — почтовый клиент;
  • LibreOffice — пакет офисных приложений;
  • H2 Database Engine — система управления базами данных;
  • Cairo — графическая библиотека для работы с векторной графикой.

Многие разработчики адаптировали условия MPL для своих продуктов. Например, Sun Microsystems выпустила на основе MPL v1.1 Common Development and Distribution License.

Common Development and Distribution License

Изображение: Sun Microsystems

Common Development and Distribution License (CDDL) создали в Sun Microsystems в 2001 году, чтобы объединять открытые исходники операционки OpenSolaris с файлами, выпущенными под другими лицензиями. Другая цель лицензии — позволить сторонним разработчикам добавлять расширения к OpenSolaris с другими условиями лицензирования.

За основу CDDL взяли текст MPL v1.1 — её условия лучше всех совпадали с целями OpenSolaris. Кроме того, лицензия содержит несколько улучшений:

  • более лёгкое уведомление об авторских правах;
  • упрощённое понятие модификации;
  • включены условия, помогающие выбрать законодательство и юрисдикцию на случай споров;
  • добавлена возможность выбирать конкретную версию лицензии для программ.

Согласно условиям лицензии, владелец прав на код по своему усмотрению может лицензировать его под несколькими лицензиями, включая CDDL.

В 2005 году CDDL одобрили в OSI, и сегодня она входит в девятку самых популярных опенсорсных лицензий. Как и MPL, CDDL не считается строгой копилефт-лицензией: она позволяет сочетать файлы с открытым и закрытым исходным кодом. Поэтому лицензия несовместима с GNU GPL.

CDDL использовалась и используется в проектах, которые когда-то создала Sun Microsystems, а теперь поддерживает Oracle:

  • OpenSolaris — открытая операционная система;
  • OpenIndiana — дистрибутив OC Solaris;
  • NetBeans IDE — IDE для программирования на Java, C++, Python и других языках;
  • GlassFish — сервер приложений, реализующий спецификации Java EE.

Eclipse Public License 2.0

Изображение: Eclipse Foundation

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

Лицензия разработана на базе Common Public License — общественной лицензии IBM. Относится к лицензиям со слабым копилефтом и ориентирована на опенсорсные бизнес-проекты. В FSF заявляют, что обе версии EPL несовместимы с GNU GPL.

EPL v1.0 вышла в 2004 году и включала стандартные для того времени условия: о предоставлении прав на патенты, о международном характере лицензии, возможности использовать лицензируемый код в коммерческом продукте и так далее.

EPL v2.0 вышла в 2017 году. В отличие от предшественницы, новая версия была понятнее и учитывала разницу между законодательствами США и других стран. Лицензия распространялась на «файлы», а не на «модули» и подходила для работы с кодом скриптовых языков.

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

EPL предоставляет следующие права:

  • на воспроизведение,
  • создание производных программ,
  • публичную демонстрацию,
  • публичное исполнение,
  • сублицензирование от имени каждого участника соглашения, внёсшего вклад в создание программы.

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

Если программа распространяется в форме исходного кода, нужно соблюдать следующие требования:

  • Исходный код сохраняется в соответствии с условиями EPL или вторичной лицензии, если автор выпускает отдельные файлы программы под вторичной лицензией. В этом случае автору нужно выпустить уведомление о вторичной лицензии.
  • К каждой копии программы нужно приложить копию лицензии.
  • Участники не могут удалять или изменять уведомления об авторских правах, патентах, товарных знаках, отказе от гарантий и ответственности из любой копии программы, которую они распространяют. При этом участники могут добавлять свои собственные уведомления.

Если программа распространяется в другой форме (например, в виде объектного кода), исходный код также должен быть доступен. Распространитель должен сообщить пользователю, как можно получить исходный код.

Если распространитель хочет использовать другую лицензию, она должна отвечать требованиям подпункта b пункта 3.1 EPL 2.0.

Код программы, распространяемой по EPL, можно сублицензировать (в том числе и под проприетарные лицензии). Главное условие: код под другой лицензией нужно вынести в отдельный файл программы.

EPL используется в проектах Eclipse Foundation, в том числе в Eclipse IDE, а ещё она популярна среди Java-разработчиков. Под EPL распространяются такие знаменитые программные продукты:

  • Clojure — язык программирования;
  • Graphviz — пакет утилит для автоматической визуализации графов;
  • Jetty — веб-сервер и контейнер сервлетов (двойная лицензия EPL/Apache 2.0);
  • JUnit — фреймворк для модульного тестирования.

Это был последний материал из цикла о свободных лицензиях. В предыдущих статьях мы подробно рассказывали о копилефте и GPL и лицензиях MIT и BSD. А в следующий раз поговорим о юридических особенностях проприетарного софта.

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Java-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована