Используем cookie — для входа в кабинет и обезличенной статистики. Подробнее
Выбор подрядчика

Открытые лицензии MIT, Apache и GPL в заказном проекте: что они значат для заказчика и что проверить при сдаче

31 октября 2026·12 мин чтения

Короткий ответ: в любом заказном сайте, сервисе или приложении есть чужой открытый код — фреймворки, библиотеки, шрифты. Лицензии MIT, BSD и Apache почти ничего не требуют: сохранить уведомление об авторстве. GPL и AGPL требуют открыть ваш код, если вы передаёте программу другим или (для AGPL) даёте ею пользоваться по сети. Проверяется это списком зависимостей при сдаче.

Почему в любом проекте есть чужой открытый код?

Потому что писать с нуля то, что давно написано и проверено тысячами проектов, — дорого и рискованно. Веб-фреймворк, работа с датами, загрузка файлов, шифрование, интерфейсные компоненты — всё это берут из открытых библиотек, а под заказ пишут бизнес-логику, экраны и интеграции.

Даже небольшое веб-приложение тянет за собой десятки, а то и сотни пакетов: вы подключаете десяток напрямую, а каждый из них — свои зависимости. Это нормальная практика, а не экономия на качестве. Вопрос не в том, есть ли в проекте открытый код, а в том, на каких условиях каждый кусок можно использовать.

С точки зрения российского права это открытая лицензия по ст. 1286.1 ГК РФ: договор присоединения, условия которого доступны каждому. По умолчанию она безвозмездна, действует по всему миру, а для программ без указанного срока — на весь срок действия исключительного права. Важная деталь из п. 4 той же статьи: если вы предоставляете другим права на такой код сверх условий открытой лицензии, правообладатель вправе отказаться от договора с вами.

Отсюда главное для заказчика: права на библиотеки не принадлежат ни студии, ни вам. Обе стороны пользуются ими на условиях авторов. В типовом договоре Roboweb.team это записано прямо: компоненты третьих лиц, в том числе распространяемые на условиях открытых лицензий, в предмет лицензии исполнителя не входят, права на них остаются у правообладателей (п. 5.3). Права на сам заказной код — отдельная тема, о ней в статье «Кому принадлежит код сайта после разработки».

Чем MIT, BSD, Apache отличаются от GPL и AGPL?

Первые три — разрешительные: берите, меняйте, встраивайте в закрытый продукт, только сохраните уведомление об авторстве. GPL и AGPL — с копилефтом: если вы передаёте программу с таким кодом другим, то передаёте и её исходники на тех же условиях. Разница не в цене — все бесплатны, — а в том, что вы обязаны отдать.

Разберём по группам, без юридического словаря.

  • MIT, BSD, ISC. Текст MIT занимает один абзац: делайте что угодно, но уведомление об авторстве и текст разрешения должны остаться во всех копиях или существенных частях программы. Плюс отказ от гарантий: программа поставляется «как есть». Под такими лицензиями выходят многие библиотеки JavaScript, Python и PHP.
  • Apache 2.0. По сути тоже разрешительная, но подробнее. Раздел 4 требует приложить копию лицензии, пометить изменённые файлы и сохранить файл NOTICE, если он есть. Раздел 3 даёт патентную лицензию от авторов — и прекращает её для того, кто сам подаст патентный иск по этой программе. Для бизнеса это плюс: меньше риска, что автор библиотеки потом придёт с патентом.
  • MPL 2.0. Компромисс: копилефт действует на уровне файла. Если вы поменяли файлы самой библиотеки, эти файлы должны оставаться открытыми; ваш собственный код рядом — нет.
  • LGPL. «Мягкий» вариант GPL для библиотек. Закрытая программа может её использовать, если пользователь в состоянии заменить библиотеку своей версией: раздел 4 LGPLv3 требует уведомить, что библиотека используется, приложить тексты лицензий и дать возможность пересобрать программу с изменённой библиотекой.
  • GPL. GPLv3 прямо разрешает запускать, менять и использовать программу без каких-либо условий, пока вы её никому не передаёте. Передаёте — тогда всё произведение целиком, со всеми частями, должно распространяться под GPL (разд. 5), а вместе с готовой сборкой — исходный код (разд. 6).
  • AGPL. GPL плюс одно правило: раздел 13 AGPLv3 обязывает того, кто изменил программу, предложить её исходный код всем, кто работает с ней удалённо по сети.

Сводка — в таблице. Это ориентир для разговора с разработчиком, а не юридическое заключение: детали зависят от версии лицензии и того, как именно компонент подключён.

Главные открытые лицензии глазами заказчика
ЛицензияМожно ли держать свой код закрытымЧто обязано остатьсяSaaS и мобильное приложение
MIT, BSD, ISCДаУведомление об авторстве и текст лицензии в копиях библиотекиОграничений по сути нет; в приложении нужен экран или файл с лицензиями
Apache 2.0ДаТекст лицензии, файл NOTICE, пометки в изменённых файлахОграничений нет; плюс патентная лицензия от авторов
MPL 2.0Да, кроме изменённых файлов самой библиотекиИсходники изменённых файлов библиотеки открыты на её условияхПодходит, если не править чужие файлы без нужды
LGPLДа, если библиотека подключена отдельно и её можно заменитьУведомление, тексты лицензий, возможность пересобрать с другой версией библиотекиСервер — без проблем; в мобильном приложении выполнить условия сложно
GPLНет, если программа передаётся другимПри распространении — исходный код всего произведения под GPLСервер без передачи копий — можно; приложение в магазине — весь код под GPL
AGPLНет, если люди работают с изменённой версией по сетиИсходный код изменённой версии — всем её сетевым пользователямГлавный риск для SaaS

Что GPL меняет для сайта, программы и приложения?

Всё решает, передаёте ли вы копию программы. Сайт и сервис на сервере пользователи открывают по сети — по GPLv3 это не распространение, открывать серверный код не нужно. Программа, которую вы продаёте или раздаёте клиентам, и мобильное приложение в магазине — это передача копий, и GPL-код в них требует открыть исходники всего продукта.

Три типичных сценария.

  • Сайт или веб-сервис. Серверная часть живёт у вас, посетители получают только результат её работы — страницы и данные. Здесь GPL-библиотека на сервере обычно ничего не требует. Но есть нюанс с кодом, который выполняется в браузере: скрипты сайта скачиваются на компьютер каждого посетителя, то есть копия передаётся. Поэтому GPL-библиотеку во фронтенде стоит заменить или проверить отдельно.
  • Программа, которую вы отдаёте клиентам. Коробочная версия, программа для установки на сервер клиента, приложение для компьютера. Если внутри GPL-код, клиент вправе потребовать исходники всей программы — и дальше распоряжаться ими по GPL, в том числе выложить их в открытый доступ.
  • Мобильное приложение. Сборка попадает на телефон каждого пользователя — это распространение в чистом виде. GPL-библиотека внутри означает, что весь код приложения придётся раскрыть на условиях GPL. LGPL в мобильном приложении тоже неудобна: условие «пользователь может заменить библиотеку» в сборке для магазина выполнить трудно. Поэтому в мобильной разработке такие зависимости обычно стараются не брать.

Отдельно о внутреннем использовании. Если программа нужна только вашей компании, GPL разрешает менять её и запускать без раскрытия кода. И даже передача копий подрядчику, который дорабатывает программу исключительно для вас и под вашим контролем, раздел 2 GPLv3 разрешает без условий о раскрытии кода.

Какие лицензии опасны для SaaS?

Для облачного сервиса главный риск — AGPL: если вы изменили AGPL-программу и пользователи работают с ней через интернет, исходный код изменённой версии нужно им предложить. Второй риск — лицензии с ограничениями для облака вроде SSPL и BUSL: они не входят в список одобренных OSI и ограничивают предоставление программы как облачной услуги.

Как это выглядит в жизни. Сервис собран на базе AGPL-системы, разработчик доработал её ядро под вашу задачу. Формально каждый клиент сервиса вправе получить исходники этой доработанной части — а вместе с ней и вашу бизнес-логику, если она встроена в то же произведение. Для продукта, который вы продаёте по подписке, это означает раскрыть его конкурентам.

Что делают на практике:

  • не берут AGPL-компоненты в основу продукта, который будет продаваться по подписке, — или берут осознанно, понимая, что раскроется;
  • если нужен AGPL-сервис (например, отдельная система рядом), запускают его без изменений, отдельно от своего кода, и общаются с ним через API;
  • проверяют базы данных, очереди и поисковые движки: часть из них сменила лицензию на ограниченную для облачных провайдеров, и условия новой версии отличаются от старой;
  • для каждой такой зависимости записывают, какая версия и на каких условиях используется, — лицензия может поменяться в следующем выпуске.

Актуальный список одобренных лицензий ведёт Open Source Initiative: если лицензии компонента там нет, это сигнал прочитать её текст целиком, прежде чем строить на ней продукт.

Как получить список лицензий у разработчика?

Попросите выгрузку всех зависимостей проекта с версиями и лицензиями — прямых и вложенных. Для этого не нужен юрист: в каждой экосистеме есть стандартные утилиты, а полный перечень оформляют как SBOM в формате SPDX или CycloneDX. Разработчик должен суметь объяснить каждую спорную строку.

Где это лежит в проекте:

Точки проверкиКак получить список лицензий у разработчика?
  • JavaScript и TypeScript — файлы package.json и package-lock.json (или аналог для другого менеджера пакетов); утилиты собирают из них лицензии каждого пакета;
  • PHP — composer.json и composer.lock, команда composer licenses выводит лицензии всех установленных пакетов;
  • Python — файл зависимостей проекта, лицензии выгружаются отдельной утилитой;
  • мобильные приложения — зависимости сборки iOS и Android; там же обычно готовят экран «Лицензии открытого ПО» в настройках приложения;
  • шрифты, иконки, изображения — отдельно: у них свои лицензии, и в менеджере пакетов их часто нет.

Что делать с выгрузкой. Вам не нужно читать все строки — достаточно отфильтровать то, что не входит в разрешительные лицензии: GPL, AGPL, LGPL, MPL, SSPL, BUSL, «UNKNOWN» и «UNLICENSED». По каждой такой строке спросите разработчика: где используется, передаётся ли эта часть пользователям, чем её можно заменить. Строка «лицензия не указана» — отдельный повод для вопроса: без лицензии код по умолчанию использовать нельзя.

Список удобно держать в самом репозитории — рядом с кодом, который у вас должен быть в собственном аккаунте. Зачем заказчику свой репозиторий и что там проверить, разобрали в статье «Репозиторий кода простыми словами».

Что проверить при сдаче проекта

Перед подписанием акта убедитесь, что список зависимостей с лицензиями передан, в нём нет GPL и AGPL там, где вы будете распространять продукт, а условия открытых лицензий выполнены — тексты лицензий и уведомления об авторстве лежат там, где их требуют.

  1. В репозитории есть файл со списком сторонних компонентов: название, версия, лицензия.
  2. Для веб-сервиса нет AGPL-компонентов, изменённых под проект, — или их использование согласовано с вами письменно.
  3. Для мобильного приложения и программы «в коробке» нет GPL и неудобной LGPL; в приложении есть экран или раздел с лицензиями открытого ПО.
  4. Платные компоненты (темы, плагины, шрифты, библиотеки с коммерческой лицензией) куплены на вас или на ваш аккаунт, а не на студию, и ключи переданы.
  5. В коде нет фрагментов без указания источника, скопированных из чужих закрытых проектов.
  6. Если вы собираетесь регистрировать программу или включать её в реестр, открытые компоненты описаны отдельно от собственного кода: об этом — в статьях о регистрации программы в Роспатенте и о реестре российского ПО.

Что прописать в договоре

Достаточно трёх вещей: что открытые компоненты остаются на условиях их правообладателей, что исполнитель передаёт их перечень вместе с результатом и что компоненты с копилефтом в продукте, который вы будете распространять, используются только с вашего согласия. Права на заказной код — отдельный раздел договора.

Как это устроено в договорах студии. Права на программный код остаются у исполнителя, а заказчик с даты полной оплаты получает простую лицензию на весь срок действия исключительного права (п. 5.2): исходники в его репозитории, размещение на любом сервере, доработка любыми подрядчиками. Логотип, тексты и фирменный стиль, созданные для заказчика, переходят к нему (п. 5.6). Компоненты третьих лиц, включая открытые, в эту схему не входят — их условия задают авторы (п. 5.3). Исполнитель гарантирует, что ему не известно о правах третьих лиц, мешающих использовать результат (п. 5.8), — тоже за исключением этих компонентов. Типовые договоры открыты на странице «Документы».

Что можно добавить в техническое задание или приложение к договору, если продукт чувствителен к лицензиям:

  • «Перечень сторонних компонентов с указанием лицензий передаётся вместе с результатом работ»;
  • «Компоненты под лицензиями GPL, AGPL, SSPL и аналогичными в составе продукта, который будет распространяться или предоставляться пользователям по сети, используются только с письменного согласия заказчика»;
  • «Платные компоненты оформляются на заказчика».

Чего не стоит требовать: «весь код только собственной разработки, без открытых библиотек». Это невыполнимо и сделает проект дороже и слабее — проверенные библиотеки обычно надёжнее самописных.

Когда об этом можно не думать?

Если у вас сайт компании или интернет-магазин, который работает на сервере и не передаётся клиентам как программа, разрешительные лицензии и GPL на сервере ничего от вас не потребуют. Внимание нужно там, где продукт попадает к пользователям копией или продаётся как сервис.

Можно спокойно выдохнуть, если:

  • у вас лендинг, корпоративный сайт или магазин на популярной системе управления — даже если сама система под GPL, посетители получают страницы, а не её код;
  • это внутренняя система для сотрудников: CRM, кабинет, учёт — GPL разрешает изменять и использовать её внутри компании;
  • Telegram-бот работает на вашем сервере, а пользователи только переписываются с ним.

Стоит разобраться заранее, если вы делаете:

  • SaaS по подписке — веб-приложение от 160 000 ₽ по прайсу: здесь AGPL и облачные ограничения бьют прямо по модели заработка;
  • мобильное приложение — от 200 000 ₽: сборка у каждого пользователя, GPL недопустима, нужен экран лицензий;
  • программу для установки у клиентов или продукт, который планируете продать вместе с бизнесом: при проверке сделки покупатель обычно просит перечень лицензий.

Ошибки, которые встречаются чаще всего:

  • считать, что «бесплатно и в открытом доступе» значит «без условий», — условия есть всегда, просто у MIT они короткие;
  • проверять только прямые зависимости: GPL-пакет может прийти вложенным, через безобидную библиотеку;
  • не следить за обновлениями: компонент мог сменить лицензию в новой версии. Обновления входят в поддержку — от 7 900 ₽/мес, и при каждом крупном обновлении перечень лицензий стоит выгружать заново;
  • убирать уведомления об авторстве и тексты лицензий из сборки «для чистоты» — это прямое нарушение даже самой мягкой лицензии.

Короткие ответы на частые вопросы

Можно ли использовать библиотеку под MIT в коммерческом проекте?

Да. MIT разрешает использовать, менять и продавать программу с библиотекой, в том числе в закрытом продукте. Условие одно: сохранить в копиях библиотеки уведомление об авторстве и текст лицензии.

Что такое лицензия GPL коротко?

Это открытая лицензия с условием «копилефт»: программу можно запускать и менять как угодно, но если вы передаёте её другим, то обязаны передать и исходный код всего произведения на тех же условиях.

Нужно ли открывать код сайта, если в нём есть GPL-компонент на сервере?

Обычно нет. Работа пользователей с сайтом по сети не считается распространением по GPL, а серверный код посетителям не передаётся. Исключение — AGPL: там исходники изменённой версии придётся предложить пользователям.

Как узнать, какие лицензии в моём проекте?

Попросите разработчика выгрузить список зависимостей с лицензиями: для JavaScript, PHP и Python для этого есть стандартные утилиты, а полный перечень можно оформить как SBOM в формате SPDX или CycloneDX.

Кому принадлежат права на открытые библиотеки в заказном проекте?

Их правообладателям — авторам библиотек. Ни студия, ни заказчик их не получают: обе стороны пользуются ими на условиях открытой лицензии, и договор на разработку это прямо оговаривает.

Пришлите ссылку на репозиторий или список зависимостей — посмотрим, какие лицензии в проекте, и скажем, где есть условия, которые стоит обсудить.

Рассчитать проект →

Оценку срока и цены по брифу делаем бесплатно, обычно отвечаем в течение часа в рабочее время. Типовой договор — посмотреть до оплаты.

Канал Roboweb в Telegram
Разборы цен, сроков и условий договора. Без спама и продаж в личку.
Подписаться →
Обсудим вашу задачу?

Опишите, что нужно — вернёмся с оценкой срока и цены. Обычно отвечаем в течение часа в рабочее время.

Заявка отправлена

Получили — обычно отвечаем в течение часа в рабочее время. Хотите быстрее, продублируйте в WhatsApp.

Продублировать в WhatsApp или позвонить +7 933 177-00-86
Или сразу: +7 933 177-00-86 · Telegram · WhatsApp