Лицензии BSD и MIT: чем они различаются и в каких проектах их используют
Продолжаем рассказывать о лицензиях на ПО. На этот раз под нашим моноклем — лицензии Массачусетского и Калифорнийского университетов.
Иллюстрация: Polina Vari для Skillbox Media
В прошлой статье мы рассказали о свободных лицензиях семейства GPL и копилефте. В отличие от них, опенсорсные лицензии позволяют использовать фрагменты кода или даже целые программы в проприетарных продуктах.
Лицензии BSD
Аббревиатурой BSD (Berkeley Software Distribution) обозначают программы, разработанные в Калифорнийском университете Беркли для шестой версии UNIX. Позднее пакет программ перерос в UNIX v7, более известный как BSD-UNIX.
Лицензия BSD — это достаточно простое и короткое соглашение. Изначально оно разрабатывалось для исходников софта, который писали в Беркли, но впоследствии стало одной из самых популярных опенсорсных лицензий.
Текст соглашения можно разделить на несколько частей:
- Уведомление об авторском праве. Оно заканчивается словами «All rights reserved», что нетипично для свободных лицензий и противоречит концепции копилефта.
- Права пользователей и условия. Вторая и третья части описывают предоставляемые лицензией права (объём лицензии) и условия, которые должны соблюдать пользователи.
- Отказ от гарантий. Четвёртая часть лицензии указывает на отсутствие гарантий и ответственности: программа предоставляется «как есть».
Уведомление об авторском праве в опенсорсных лицензиях соответствует Всемирной конвенции об авторском праве, к которой США присоединились в 1954 году. До принятия Закона об авторском праве в 1976 году все произведения, в том числе программы, должны были регистрироваться. Потом регистрация перестала быть обязательной, но всё ещё давала преимущество в защите авторских прав.
Так было и после присоединения США к Бернской конвенции об охране литературных и художественных произведений. Хотя один из принципов Конвенции гласил: «Интеллектуальная собственность подлежит охране без соблюдения каких бы то ни было формальностей».
У международного знака охраны копирайта есть и практический смысл. Он уведомляет пользователей программы о дате возникновения прав и законных владельцах.
Какие проблемы есть у BSD License
Неточные формулировки в тексте лицензии нередко становятся головной болью для юристов. Вот одно из таких проблемных положений:
«Распространение и использование в исходной и двоичной формах, с изменениями или без них, разрешается при условии соблюдения следующих условий…»
Речь идёт о праве на распространение, которое обычно упоминается в национальных законах. Но в лицензии нет ни слова о праве на воспроизведение, а ведь это — основное авторское право имущественного характера.
Также чётко не сформулировано право на модификацию программы. То, что лицензия его предоставляет, можно предположить из слов «с изменениями или без них».
В сообществе разработчиков принято считать, что право на воспроизведение и модификацию программы следует из самого духа лицензии и термина «использование». Но с юридической точки зрения этот термин не вносит ясности: непонятно, какие именно права автора он подразумевает.
Отказ от гарантий
Авторы и правообладатели предоставляют лицензируемое ПО «как есть» и не предоставляют никаких гарантий, в том числе на товарную пригодность софта и пригодность для каких-либо целей.
Эти формулировки возникли из-за некоторых правил Единообразного торгового кодекса США (ЕТК, Uniform Commercial Code, UCC), ратифицированного практически всеми штатами. Если считать ПО товаром, то согласно ETK продавец по умолчанию обязан предоставить пользователю некоторые гарантии:
- Товарная пригодность означает, что программа имеет качество не ниже среднего, упакована, промаркирована и пригодна для обычного использования.
- Пригодность для определённых целей — продавец знает, что покупатель приобретает товар для какой-то конкретной цели.
ЕТК также требует, чтобы текст, исключающий эти гарантии, привлекал к себе внимание. Поэтому раздел с отказом от гарантий в опенсорсных и свободных лицензиях прописан заглавными буквами. Правда, пользователи говорят, что заглавные буквы, хоть и привлекают внимание, всё равно не вызывают желания читать текст :)
Отказ от ответственности
Авторы, правообладатели и пользователи, которые изменяют или распространяют программу, не несут ответственности за убытки, возникшие в результате использования программы. Иными словами, если после запуска софта из GitHub ваша видеокарта начнёт майнить биткоин во благо Китайской Народной Республики, то распространители официально ни при чём.
Правообладатели освобождаются от ответственности независимо от причин, вызвавших убытки, оснований и вида ответственности — деликатной или договорной. Что это за виды ответственности такие? Всё просто:
- Деликатная ответственность возникает, когда между участниками правоотношений не был заключён договор. Например, в ДТП с причинением вреда здоровью пешехода.
- Договорная ответственность возникает из договора между сторонами. Например, когда поставщик невовремя привёз товар заказчику. Размер ответственности определяется условиями договора и зависит от вида нарушения и размера причинённых убытков.
Ограничение ответственности подразумевает, что лицензиаты не будут обращаться в суд. Однако ограничить право на судебную защиту условиями договора нельзя. Если пользователь всё же использует это право, то суды внимательно изучат положения об ограничении ответственности, прописанные в договоре. Отказ от ответственности, как и отказ от гарантий, тоже прописывается заглавными буквами — чтобы судья не пропустил их в спешке.
Справедливости ради стоит сказать, что лицензия BSD подробно описывает ситуации, когда лицензиар несёт ответственность перед пользователями. В том числе когда пользователь уведомлён о возможных убытках.
Виды лицензий BSD
Существует несколько вариантов лицензий BSD и «лицензий типа BSD», в зависимости от количества условий.
Первый вариант лицензии (Original BSD License, или 4-Clause BSD License) появился в 1990 году и включал четыре условия, при соблюдении которых лицензируемое ПО можно было свободно использовать, распространять и модифицировать:
1. При повторном распространении исходного кода должно оставаться указанное выше уведомление об авторском праве, этот список условий и последующий отказ от гарантий.
2. При повторном распространении двоичного кода должна сохраняться указанная выше информация об авторском праве, этот список условий и последующий отказ от гарантий в документации и/или в других материалах, поставляемых при распространении.
3. Все рекламные материалы, ссылающиеся на возможности или использование этого ПО, должны демонстрировать следующее уведомление:
«Этот продукт включает ПО, разработанное Университетом Калифорнии, Беркли, и помогавшими лицами».
4. Ни название организации, ни имена её сотрудников не могут быть использованы в качестве поддержки или продвижения продуктов, основанных на этом ПО без предварительного письменного разрешения.
Третье условие лицензии вызвало критику со стороны Ричарда Столлмана. Каждый разработчик добавлял в него название своей организации, поэтому число упоминаний нередко доходило до нескольких десятков. Третий пункт делал лицензию BSD несовместимой с GNU GPL, поскольку GPL-лицензия не допускает иных ограничений, кроме названных в её тексте.
В 1999 году Уильям Хоскинс, директор отдела по лицензированию, отменил третье условие для всех продуктов BSD. Так появилась 3-Clause BSD License. Она совместима с GNU GPL, поэтому код программ, распространяемых под этими лицензиями, можно использовать в одном продукте.
Существуют и другие версии BSD-лицензий:
- Clear BSD License. Она основана на 3-Clause BSD License и содержит дополнительный пункт, касающийся прав на патенты. Совместима с GPLv2 и GPLv3.
- 2-Clause BSD License, или Free BSD License. Совместима с GNU GPL. Из условий этой лицензии исключён пункт об использовании «доброго имени» автора в целях поддержки или продвижения производных продуктов:
«Ни название организации-владельца, ни имена её участников не могут использоваться для одобрения или продвижения продуктов, полученных из этого программного обеспечения без специального предварительного письменного разрешения».
- 1-Clause BSD License. Лицензия включает только первое условие и отказ от гарантий и ответственности.
- Zero-Clause BSD License (ISC license, или OpenBSD license). Эту лицензию создали и использовали в Internet System Consortium. Она основана на 2-Clause BSD License, но поскольку США в 1989 году присоединились к Бернской конвенции, то необходимость указывать оставшиеся два условия отпала.
В ISC license юридически более точно сформулированы предоставляемые права. Она включает права на использование, копирование, модификацию и/или распространение ПО за плату или бесплатно, а также отказ от гарантий и ответственности.
Когда в 1995 году в NetBSD произошёл раскол, один из четырёх основателей покинул проект и создал свою модификацию операционной системы UNIX — OpenBSD. Для распространения этой операционной системы выбрали лицензию ISC, отсюда и происходит её второе название.
0-Clause BSD License совместима с GPL, но тем не менее FSF не рекомендует её использовать из-за схожести с лицензией Вашингтонского университета. Последний наложил ограничение на распространение модифицированных копий ПО.
Лицензии BSD относятся к лицензиям разрешительного типа. Они легко сочетаются с проприетарными продуктами и позволяют их создавать. Примеры такого использования BSD-лицензий: сетевой код BSD в продуктах Microsoft, компоненты FreeBSD в mac OS X и ядро FreeBSD в PlayStation 4.
Лицензии BSD не относятся к копилефт-лицензиям. Это значит, что производное ПО не должно в обязательном порядке распространяться с открытым исходным кодом. Философия этих лицензий предоставляет разработчику свободу создавать несвободное ПО.
Сторонники FSF пользуются копилефт-лицензиями. А те, для кого идеология не столь важна, могут использовать лицензии BSD.
Популярные проекты, которые распространяются под лицензиями BSD:
Лицензии MIT
The MIT License — разрешительная лицензия Массачусетского технологического университета, также известная как X11 License. Это одна из старейших свободных лицензий (опубликована в 1988 году) и одна из девяти наиболее популярных по версии OSI.
Изначально лицензии, которые MIT использовал в своих продуктах, не были стандартизированы и отличались в зависимости от года выпуска и особенностей лицензируемого софта. Затем Open Source Initiative (OSI) и группа Software Package Data Exchange (SPDX) выработали стандартный вид лицензии, который назвали The MIT License.
Тем не менее «лицензиями MIT» называют и соглашения, которые немного отличаются от стандартного текста. Поэтому, если разработчик планирует использовать стандартный текст The MIT License, его рекомендуют воспроизводить полностью, а не ограничиваться ссылкой на название. По мнению FSF, следует использовать название X11 License, так как в текущем виде лицензию MIT писали для X Window System.
По структуре лицензия MIT похожа на лицензии BSD: содержит уведомление об авторском праве, список предоставляемых прав и условия, на которых они предоставляются. В заключительной части — всё тот же дисклеймер (отказ от гарантий и ответственности).
Лицензия MIT разрешает «каждому» безвозмездно использовать распространяемую программу:
«Настоящим даётся безвозмездное разрешение каждому, кто получает копию этой программы и сопутствующую документацию (программное обеспечение), использовать программное обеспечение».
Отличия лицензий MIT от лицензий BSD
В отличие от BSD, лицензия MIT содержит более чёткие формулировки предоставляемых прав. Лицензиат может безвозмездно использовать программу без каких-либо ограничений. В том числе (но не ограничиваясь ими): копировать, изменять, объединять с другой программой, публиковать, распространять, предоставлять сублицензию, продавать копии программы.
Хотя право на распространение модифицированных версий прямо не названо, оно следует из открытого перечня предоставляемых прав. В том числе из права изменять программу.
В лицензии MIT не разделяются случаи распространения исходного и двоичного (объектного) кодов. Поэтому текст лицензии MIT выглядит проще, чем текст BSD License.
С юридической точки зрения формулировки прав в лицензии MIT не всегда сочетаются с общепринятыми юридическими терминами, хотя и сформулированы более удачно, чем в лицензиях BSD. Например, формулировка «неограниченное право» не может быть истолкована однозначно.
Структура лицензии MIT
Лицензиат обязан включить уведомление об авторском праве и условия лицензии во все распространяемые копии и значимые части программы.
У этого условия есть несколько целей:
- оповестить пользователей о том, что софт распространяется по свободной лицензии (каждый пользователь получает лицензию напрямую от правообладателя);
- сообщить пользователям имя автора — чтобы ему можно было высказать благодарность, критику или оказать финансовую поддержку;
- предупредить пользователей об отказе от гарантий и ответственности.
Если лицензиат распространяет модифицированную версию программы, он не связан этим условием. Он также может не упоминать авторов первоначальной программы. Автор модифицированной версии может сам выбирать лицензионные условия для её распространения.
Отказ от гарантий. В лицензии MIT содержатся те же отказы от гарантий, что и в лицензии BSD (от товарной пригодности и пригодности для определённых целей). Кроме того, есть отказ от отсутствия нарушений патентов. Это условие обычно используют в договорном праве. Оно защищает приобретателя товара от претензий со стороны обладателей интеллектуальных прав (патентов).
Отказ от ответственности. Эта часть лицензии MIT также более чётко и кратко сформулирована по сравнению с лицензией BSD. Авторы и правообладатели не несут ответственности по каким-либо искам за причинение ущерба или по другим требованиям (деликатным и договорным), возникшим в результате использования ПО.
Можно заметить, что эти положения дублируют друг друга. Сделано это неспроста: любой иск, который может быть предъявлен в отношении правообладателей программы, покрывается перечисленными ограничениями.
Популярные продукты, в которых используется лицензия MIT:
Обе лицензии востребованны и позволяют избежать неудобных правил в авторском, торговом и договорном праве при использовании опенсорсного софта. Формулировки лицензии MIT юридически более удачны и лаконичны. Поэтому она уже более 20 лет остаётся одной из самых популярных лицензий.