Лицензия: что можно и что нельзя
MIT, Apache, AGPL — три слова, которые стоят почти в каждой карточке и решают, можно ли встроить чужой код в свой продукт. Разбираем без юридического тумана.
У нас 143 материала, и у 139 указана лицензия. Самая частая — MIT (79 раз), потом Apache-2.0 (33) и AGPL (5). Разница между ними не формальность: она определяет, что вы имеете право сделать с чужим кодом.
Ниже — суть, а не юридический текст. Для решений, где на кону деньги, лицензию читает юрист; я не юрист и не заменяю его.
Три вопроса, которые решает лицензия
- Можно ли использовать в закрытом продукте?
- Обязан ли я открывать свои изменения?
- Есть ли защита от патентных претензий?
Дальше — какой ответ даёт каждая.
MIT — делай что хочешь, оставь подпись
Самая короткая и самая распространённая (79 карточек из 143).
Можно: брать в закрытый продукт, менять, продавать, не открывать исходники. Нельзя: убирать текст лицензии и копирайт. Про патенты: ничего не сказано, защиты нет.
Если вам нужно простое правило: MIT — это «бери и пользуйся, только не приписывай себе авторство».
Apache-2.0 — то же плюс патенты
Похожа на MIT, но добавлены две вещи.
Первая: явная патентная лицензия. Автор не может потом заявить, что вы нарушили его патент, используя его же код. Для компаний это важно: MIT такой защиты не даёт.
Вторая: пометка об изменениях. Если правили файлы — это отмечается.
Если в проекте лежит файл NOTICE, его текст нужно сохранить.
Правило: Apache-2.0 — это MIT с патентной страховкой и небольшим бюрократическим плюсом.
AGPL — открывай всё, что работает по сети
Самая строгая из встречающихся у нас (5 карточек).
Основа — GPL: если вы распространяете программу с таким кодом, весь продукт должен быть под той же лицензией, то есть открыт.
AGPL добавляет: достаточно дать пользователям доступ по сети, чтобы правило сработало. Не нужно ничего «распространять» — достаточно поставить сервис, куда люди заходят.
Для внутреннего инструмента, который никому не отдаётся, это обычно не мешает. Для публичного сервиса — означает обязанность выложить исходники.
Правило: AGPL — не берите в закрытый продукт, если не готовы открывать код.
LGPL — компромисс для библиотек
2 карточки. Слабая копилефт-лицензия: если используете как отдельную библиотеку и не меняете её — свой код можно держать закрытым. Если изменили саму библиотеку — изменения открываются.
BSD — почти MIT
1 карточка. Похожа на MIT, без запрета использовать имена авторов в рекламе своего продукта.
Что значит «Other»
В 10 карточках стоит «Other» — это не особая лицензия, а признак того, что автоматика GitHub не смогла опознать текст в файле. Значит, смотреть надо глазами: в репозитории есть файл LICENSE, и только он решает.
Где чаще всего ошибаются
Берут AGPL-проект в сервис и узнают об этом через год. Проверять надо до того, как код врос.
Думают, что «open source» = «можно всё». Открытый исходник — это не то же самое, что разрешение делать что угодно.
Забывают про зависимости. Если вы взяли MIT-библиотеку, а она тянет AGPL-пакет, правила применяются и к нему.
Не сохраняют текст лицензии. Самая частая формальная ошибка, и самая легко исправимая: положить рядом файл.
Как это читать в карточках
Мы указываем короткий код лицензии, например MIT или Apache-2.0. Это снимок на момент разбора: лицензия может измениться, а «Other» почти всегда значит «смотрите сами».
Подробности и проверка на день разбора — в блоке «Проект» на странице материала.
Все материалы · Метки · Объяснялки · RSS · JSON для агента