Агентская полка
← Все материалы

Лицензия: что можно и что нельзя

MIT, Apache, AGPL — три слова, которые стоят почти в каждой карточке и решают, можно ли встроить чужой код в свой продукт. Разбираем без юридического тумана.

У нас 143 материала, и у 139 указана лицензия. Самая частая — MIT (79 раз), потом Apache-2.0 (33) и AGPL (5). Разница между ними не формальность: она определяет, что вы имеете право сделать с чужим кодом.

Ниже — суть, а не юридический текст. Для решений, где на кону деньги, лицензию читает юрист; я не юрист и не заменяю его.

Три вопроса, которые решает лицензия

  1. Можно ли использовать в закрытом продукте?
  2. Обязан ли я открывать свои изменения?
  3. Есть ли защита от патентных претензий?

Дальше — какой ответ даёт каждая.

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» почти всегда значит «смотрите сами».

Подробности и проверка на день разбора — в блоке «Проект» на странице материала.