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

Лицензия zlib License

zlib License — это разрешительная лицензия на свободное и открытое программное обеспечение, разработанная Жаном-луком Гайи (Jean-loup Gailly) и Марком Адлером (Mark Adler) для библиотеки сжатия данных zlib. Относится к категории слабо-копилефтных или, чаще, пермиссивных (разрешительных) лицензий. Отличается крайней краткостью текста (обычно менее 10 строк) и минимальными ограничениями для пользователей и разработчиков.

История

Лицензия была создана в 1995 году специально для библиотеки zlib, которая является базовой реализацией алгоритма сжатия DEFLATE. Её авторы, Жан-лук Гайи и Марк Адлер, стремились предоставить максимально простую правовую форму, которая позволила бы использовать их код в любых проектах — как открытых, так и проприетарных. Основной целью было избежать сложностей, характерных для более объёмных лицензий (например, GNU General Public License), и одновременно не допустить ложного указания авторства.

В последующие годы лицензия zlib стала одной из самых популярных для небольших библиотек, утилит и фрагментов кода. Она была одобрена Free Software Foundation (FSF) как лицензия свободного ПО и Open Source Initiative (OSI) как лицензия с открытым исходным кодом. Несмотря на то, что в 2000-х годах появились более универсальные разрешительные лицензии (например, MIT License), zlib License сохраняет свою нишу благодаря простоте и ясности.

Текст лицензии

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

  1. Программное обеспечение предоставляется «как есть» (as is), без каких-либо гарантий.
  2. Разрешается бесплатное использование, копирование, модификация и распространение как в исходном, так и в скомпилированном виде при соблюдении двух условий:
  • Уведомление об авторских правах не должно быть удалено или изменено.
  • В документации или других материалах, поставляемых с программным обеспечением, должно быть указано, что данное программное обеспечение основано на оригинальной работе.

Формально лицензия не требует включения полного текста лицензии в каждый экземпляр программы — достаточно сохранения уведомления об авторских правах. Однако на практике разработчики часто прилагают файл LICENSE с полным текстом.

Основные положения и отличия от других лицензий

Разрешительный характер

zlib License является одной из наиболее либеральных лицензий. Она позволяет:

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

Отсутствие копилефта

В отличие от лицензий семейства GNU GPL, zlib License не требует, чтобы производные работы распространялись на тех же условиях. Это делает её привлекательной для коммерческих компаний, которые хотят использовать открытый код, но не желают открывать свои наработки.

Сравнение с MIT License

Лицензия zlib во многом схожа с MIT License, но есть несколько отличий:

  • В MIT License обычно требуется сохранение самого текста лицензии, а не только уведомления об авторских правах.
  • zlib License содержит явное требование указывать в документации, что продукт основан на оригинальной работе. В MIT License такое требование отсутствует.
  • Текст zlib License короче и имеет более чёткую структуру.

Сравнение с BSD License (2-clause)

BSD 2-clause License также очень похожа на zlib License, но в BSD обычно требуется сохранение как уведомления об авторских правах, так и текста лицензии. zlib License в этом смысле менее требовательна.

Применение

Основные проекты, использующие zlib License

  • Библиотека zlib — основная реализация алгоритма DEFLATE, используемая в миллионах приложений, включая веб-серверы, архиваторы и операционные системы.
  • Библиотека libpng — официальная эталонная библиотека для работы с PNG-изображениями.
  • Библиотека FLAC — кодек для сжатия аудио без потерь.
  • Часть кода OpenSSL — некоторые компоненты этой криптографической библиотеки распространяются под zlib License.
  • Многие небольшие утилиты и библиотеки на C/C++ — например, minizip, zstd (частично) и другие.

Типичные сценарии использования

Разработчики выбирают zlib License для:

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

Критика и ограничения

Недостатки

  • Несовместимость с некоторыми лицензиями. Хотя zlib License сама по себе пермиссивна, её текст не всегда явно совместим с лицензиями, требующими сохранения полного текста (например, Apache License 2.0). Это может создавать сложности при комбинировании кода.
  • Отсутствие патентных оговорок. В отличие от Apache License 2.0, zlib License не содержит явного предоставления патентных прав. Это может быть проблемой для крупных компаний, опасающихся патентных исков.
  • Неоднозначность требования к документации. Формулировка «в документации должно быть указано, что данное программное обеспечение основано на оригинальной работе» иногда трактуется по-разному. Некоторые юристы считают, что это требование распространяется только на документацию, поставляемую вместе с программой, другие — что на любые упоминания.
  • Отсутствие явного запрета на использование товарных знаков. В отличие от BSD 3-clause License, zlib License не содержит пункта, запрещающего использование имён авторов для рекламы модифицированных версий.

Преимущества

  • Краткость и ясность. Текст лицензии легко читается и понимается даже неюристами.
  • Минимальные обязательства. Разработчики могут сосредоточиться на коде, а не на юридических формальностях.
  • Широкая совместимость. zlib License совместима с большинством других пермиссивных лицензий (MIT, BSD, Apache) и с GPL (при условии, что код под zlib License не является основным).

Правовой статус в России

В Российской Федерации лицензия zlib License не имеет специального правового регулирования. Она не признаётся экстремистской или запрещённой. Как и другие лицензии свободного и открытого программного обеспечения, она регулируется общими нормами Гражданского кодекса РФ (часть четвёртая), в частности статьями 1286 (Лицензионный договор) и 1288 (Договор авторского заказа). Использование кода под zlib License в коммерческих продуктах на территории РФ является законным при соблюдении условий лицензии (сохранение уведомления об авторских правах и указание в документации).

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

  • Лицензия zlib считается одной из самых коротких лицензий свободного ПО — её текст занимает менее 500 символов.
  • Несмотря на название, лицензия не привязана исключительно к библиотеке zlib. Её можно использовать для любого программного обеспечения.
  • В 2018 году Open Source Initiative официально утвердила zlib License как соответствующую определению открытого исходного кода (OSD).
  • Некоторые проекты, например, библиотека libpng, используют zlib License в качестве основной, но дополняют её отдельными оговорками (например, запрет на использование имён авторов для рекламы).

Источники

  • Open Source Initiative. «The zlib License». opensource.org.
  • Free Software Foundation. «Various Licenses and Comments about Them». gnu.org.
  • Gailly, J., Adler, M. «zlib License Text». zlib.net.
  • Гражданский кодекс Российской Федерации. Часть четвёртая. Статьи 1286, 1288.
  • «zlib License». Wikipedia (английская версия).

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

На главную BFOmetr →