BSD-3-Clause
BSD-3-Clause — это разрешительная (permissive) лицензия на программное обеспечение с открытым исходным кодом, являющаяся одной из самых распространённых и простых в применении. Она позволяет пользователям свободно использовать, изменять и распространять исходный код как в оригинальном, так и в модифицированном виде, в том числе в составе проприетарного (закрытого) программного обеспечения, при соблюдении трёх основных условий.
История и происхождение
Лицензия BSD-3-Clause является прямым потомком оригинальной лицензии BSD (Berkeley Software Distribution), которая использовалась Калифорнийским университетом в Беркли для распространения своей версии операционной системы Unix. Первоначальная лицензия BSD содержала четыре пункта, включая так называемый «рекламный пункт» (advertising clause). Этот пункт требовал, чтобы во всех рекламных материалах, упоминающих программное обеспечение, обязательно указывалось, что продукт разработан Калифорнийским университетом в Беркли.
Со временем «рекламный пункт» стал вызывать критику, так как он создавал излишнюю бюрократическую нагрузку и мог приводить к конфликтам лицензий при распространении программного обеспечения, включающего множество компонентов с разными версиями BSD-лицензии. В 1999 году по инициативе Университета Беркли этот пункт был официально удалён из лицензии. Так появилась трёхпунктовая лицензия (BSD-3-Clause), которая и стала стандартом.
Организация Open Source Initiative (OSI) официально утвердила BSD-3-Clause как одну из одобренных лицензий с открытым исходным кодом. Она также признаётся Фондом свободного программного обеспечения (FSF) как совместимая с GNU General Public License (GPL), хотя и с оговорками: GPL является копилефтной лицензией, и если код под BSD-3-Clause включается в проект под GPL, то весь проект в целом должен распространяться под GPL, а не наоборот.
Текст лицензии и основные положения
Текст лицензии BSD-3-Clause предельно лаконичен. Он состоит из краткого уведомления об авторских правах (copyright notice) и трёх пунктов-условий. Обычно лицензия вставляется в виде комментария в начало каждого файла исходного кода.
Основные условия:
- Условие 1 (Сохранение уведомления об авторских правах): При распространении исходного кода (в оригинальном или изменённом виде) в нём должно быть сохранено исходное уведомление об авторских правах, список условий и отказ от ответственности.
- Условие 2 (Сохранение уведомления в бинарных формах): При распространении программного обеспечения в скомпилированном (бинарном) или исполняемом виде, а также в документации, должно быть воспроизведено уведомление об авторских правах, список условий и отказ от ответственности.
- Условие 3 (Запрет на использование имени): Имя владельца авторских прав, его организаций или участников не может использоваться для одобрения или продвижения производных продуктов без специального предварительного письменного разрешения.
Ключевым элементом лицензии является отказ от ответственности (disclaimer of warranty), который освобождает авторов от любой ответственности за ущерб, возникший в результате использования программного обеспечения.
Отличия от других версий BSD-лицензий
Существует несколько версий BSD-лицензий, различающихся количеством пунктов:
- BSD-2-Clause: Упрощённая версия, в которой отсутствует третий пункт о запрете использования имени. Она ещё более разрешительна, чем BSD-3-Clause.
- BSD-4-Clause (оригинальная): Содержит «рекламный пункт». В настоящее время практически не используется из-за несовместимости с GPL и излишней сложности.
- BSD-0-Clause: Максимально упрощённая версия, которая фактически отказывается от всех условий и представляет собой чистый «общественный достояние» (public domain) с отказом от ответственности.
BSD-3-Clause занимает промежуточное положение: она разрешительна, как BSD-2-Clause, но добавляет защиту репутации авторов, запрещая использовать их имена для рекламы производных продуктов без разрешения.
Применение и распространённость
BSD-3-Clause является одной из самых популярных лицензий в мире открытого ПО. Она широко используется в:
- Операционных системах: Многие компоненты ядра FreeBSD, NetBSD, OpenBSD и других BSD-систем распространяются под этой лицензией.
- Библиотеках и фреймворках: Например, библиотека Nginx, веб-сервер, использует BSD-2-Clause, но многие её модули и расширения — под BSD-3-Clause. Также под этой лицензией распространены библиотеки для работы с графикой, сетевыми протоколами и криптографией.
- Инструментах разработки: Часть инструментов командной строки в Unix-подобных системах (например, утилиты из проекта OpenBSD) используют BSD-3-Clause.
- Научных и исследовательских проектах: Благодаря своей простоте и разрешительному характеру, лицензия часто выбирается для кода, создаваемого в университетах и исследовательских лабораториях.
Преимущества и недостатки
Преимущества для разработчиков и пользователей:
- Максимальная свобода использования: Код можно включать в любые проекты, включая коммерческие и проприетарные, без необходимости раскрывать свой исходный код.
- Простота и понятность: Текст лицензии короток и не содержит сложных юридических конструкций. Её легко читать и понимать.
- Совместимость с другими лицензиями: BSD-3-Clause хорошо совместима с большинством других открытых лицензий, включая GPL, MIT, Apache 2.0.
- Минимальные обязательства: Единственным обязательством является сохранение уведомления об авторских правах.
Недостатки и ограничения:
- Отсутствие копилефта: В отличие от GPL, BSD-3-Clause не требует, чтобы производные работы распространялись под той же лицензией. Это означает, что код может быть «поглощён» закрытыми проектами без возврата изменений сообществу.
- Отсутствие защиты от патентных исков: В отличие от Apache 2.0, BSD-3-Clause не содержит явного предоставления патентных прав и не предусматривает защиту от патентных претензий со стороны авторов кода.
- Необходимость сохранения уведомлений: При использовании кода в крупных проектах, содержащих множество компонентов, может потребоваться включать длинные списки уведомлений об авторских правах, что создаёт определённое административное бремя.
Критика и сравнение с MIT-лицензией
BSD-3-Clause часто сравнивают с MIT-лицензией, которая также является разрешительной и очень популярной. Основное различие между ними заключается в третьем пункте BSD-3-Clause — запрете на использование имени автора для рекламы. MIT-лицензия такого пункта не содержит.
Критики BSD-3-Clause отмечают, что третий пункт добавляет излишнюю сложность по сравнению с MIT, которая ещё проще. Однако сторонники BSD-3-Clause считают этот пункт важным для защиты репутации авторов, особенно в крупных проектах, где чужое имя может быть использовано для продвижения продуктов, не имеющих отношения к исходному коду.
На практике разница между этими двумя лицензиями минимальна, и выбор между ними часто определяется личными предпочтениями автора или традициями сообщества. Обе лицензии считаются одобренными OSI и совместимыми с GPL.
Интересные факты
- Лицензия BSD-3-Clause является одной из немногих, которые были написаны не юристами, а программистами, и её текст практически не изменился с момента создания.
- По данным различных опросов и статистических сервисов (например, GitHub и Black Duck), BSD-3-Clause входит в пятёрку самых используемых лицензий на открытое ПО, уступая MIT, GPLv2, Apache 2.0 и GPLv3.
- Некоторые крупные компании, такие как Google и Microsoft, активно используют и продвигают код под BSD-3-Clause в своих проектах с открытым исходным кодом.
---
Источники:
- Open Source Initiative. The BSD 3-Clause License.
- Free Software Foundation. Various Licenses and Comments about Them.
- Wikipedia. BSD licenses.
- GitHub. Choose an open source license.
- Black Duck Software. Top Open Source Licenses.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →