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

Сигналы для наблюдения
- Именованный пакет и версия имеют точное выражение лицензии SPDX и путь зависимости.
- Команда продукта может отдельно описать модификацию, передачу произведения и удалённое взаимодействие по сети.
- Решение о выпуске, приобретении или проверке поставщика блокируется с указанием ответственного владельца и даты.
Сборка, проходящая с зависимостью Affero General Public License, устанавливает технический факт, а не объем проекта соответствия. Заключение AGPL становится готовым к проекту, когда названный пакет и версия, точное выражение лицензии и использование продукта привязаны к заблокированному выпуску, приобретению или решению поставщика с указанием владельца и даты. До этого полезной работой может быть исправление инвентаризации, а не юридическая интерпретация или замена кода.
Это различие важно руководителю по развитию бизнеса поставщика решений для анализа состава ПО, который просматривает разрешённые Telegram-группы разработчиков, специалистов по безопасности, закупкам и программам открытого ПО. «AGPL обнаружен при сканировании» стоит прочитать, но задержка на день становится существенной, только если уже идёт согласование исключения для выпуска, проверка приобретения или подготовка ответа поставщику. Оценка работ по одному сокращению может привести к продаже не той услуги и преувеличить требования текста лицензии.
Показательный фрагмент может звучать так:
«Сборка теперь проходит. Юристы отметили один пакет AGPL в серверном сервисе. Нужен ответ до проверки выпуска».
Это составной пример, а не сообщение клиента. Он не идентифицирует пакет, версию, путь зависимости, выражение лицензии, модификацию, развернутую функцию, модель распространения, пользователей, политику или проверяющего.
AGPL называет лицензию, а не отдельный архитектурный вердикт
Стандартная общественная лицензия Affero GNU версии 3, или AGPLv3, представляет собой лицензию на бесплатное программное обеспечение, основанную на GNU GPLv3. Самым известным ее дополнением является раздел 13. В официальный текст GNU говорится, что если лицензиат изменяет Программу, измененная версия должна явно предлагать пользователям, которые взаимодействуют с ней удаленно через компьютерную сеть, возможность получить Соответствующий Источник.
Это предложение содержит несколько объектов, которые не отображаются в результате сканирования: Программа, измененная версия, пользователи, взаимодействующие с ней, сетевое взаимодействие и соответствующий источник для этой измененной версии. Другие разделы регулируют копирование, изменение и передачу защищенных произведений. Является ли отдельный код приложения частью покрываемой работы, это вопрос архитектуры и юридического характера, а не вывод, который команда продаж должна сделать на основании «присутствия AGPL».
Поэтому первая дисциплина заключается в сохранении точных доказательств. Запись в списке лицензий обмена данными пакетов программного обеспечения (SPDX) идентифицирует AGPL-3.0-only. AGPL-3.0-or-later — это другой идентификатор. В Правила выражения лицензии SPDX 2.3 OR обозначает выбор лицензии, AND объединяет требования, а WITH добавляет именованное исключение. Замена записанного выражения пакета словом «AGPL» может стереть тот самый выбор или исключение, которое нужно рецензенту.
Зеленая сборка отвечает на неправильный вопрос
Анализ состава программного обеспечения (SCA) идентифицирует компоненты и связанные с ними данные при сканировании источника, сборки или артефактов. Успешная сборка показывает, что выбранный набор компонентов скомпилирован, связан или упакован достаточно хорошо для системы сборки. Это не доказывает пять других фактов:
- какая версия пакета находится в выпущенном артефакте;
- какие лицензионные файлы и уведомления относятся к этой версии;
- изменила ли организация действующую программу;
- как эта программа взаимодействует с пользователями или другими компонентами приложения; или
- какое юридическое и внутриполитическое заключение приняла организация.
Начните с пути зависимости. Прямая зависимость приложения, инструмент времени сборки, пакет только для тестирования и служба, доступная по протоколу, не занимают одну и ту же техническую позицию. Запишите диспетчер пакетов, манифест, файл блокировки, решенную версию, артефакт и доказательства сканирования. проверка доказательства файла блокировки зависимостей объясняет, почему дерево репозитория не является автоматическим подтверждением отправленного артефакта.
Затем отделите спецификацию программного обеспечения (SBOM), в которой описываются компоненты, от заявления об обмене уязвимостями (VEX), которое сообщает об оценке уязвимости. Не является и заключением лицензии. Сравнение SBOM и VEX помогает предотвратить ошибочное принятие результатов обеспечения безопасности за свидетельство лицензии.
Четыре разных проекта могут начинаться с одной строки результата сканирования
Коммерческий вклад – это не еще одна красная/желтая/зеленая оценка. Это решение о маршрутизации, основанное на отсутствующем результате.
| Объект неудачного решения | Чего на самом деле не хватает | Вероятный проект |
|---|---|---|
| Запись компонента | Пакет, версия, путь зависимости или файл лицензии не разрешены. | Опись и ремонт вещественных доказательств |
| Внутреннее правило выпуска | Организация знает компонент и его использование, но политика не имеет одобренного обращения. | Исключение из правил или проверка управления |
| Вывод по лицензии | Факты задокументированы, но последствия модификации, объединения, передачи или сетевого взаимодействия остаются спорными | Квалифицированное юридическое толкование |
| Архитектура выпуска | Пересмотренное обязательство или политическое решение не может быть выполнено в текущей конструкции. | Техническое восстановление, замена или изоляция |
| Ремонт инвентаря не должен продаваться как юридическая консультация. Юридический перевод не должен продаваться как функция автоматического сканирования. Техническое исправление не должно начинаться до тех пор, пока команда не узнает, какому проверенному требованию должна удовлетворять архитектура. |
Эта маршрутизация также определяет минимальный следующий вопрос. Для записи неразрешенного компонента запросите разрешенный пакет и артефакт. В случае исключения из политики спросите, какой пункт политики заблокировал выпуск. Для юридической интерпретации предоставьте адвокату стабильные технические факты, а не скриншот. Для исправления спросите, какой интерфейс или путь распространения необходимо изменить и какой приемочный тест решит проблему.
Вопрос об удаленной сети требует записи об архитектуре
Раздел 13 делает удалённое взаимодействие существенным, но фраза «оно работает в SaaS» всё ещё слишком широка. Полезная запись об архитектуре содержит название программы AGPL, сведения о её модификации и месте запуска, о том, кто взаимодействует с ней удалённо, как она связана с соседними компонентами, что передаётся клиентам и каким образом им предлагается соответствующий исходный код.
Рассмотрим два неполных утверждения:
«Это всего лишь утилита командной строки в образе».
«Клиенты никогда его не скачивают, они используют только наше веб-приложение».
Ни одно из утверждений не завершает обзор. В первом не говорится, модифицирована ли утилита или включена ли она в передаваемый артефакт. Во втором не говорится, взаимодействуют ли пользователи удаленно с модифицированной программой AGPL. Владелец архитектуры предоставляет факты; квалифицированный адвокат интерпретирует лицензию на основе реальных фактов; владелец релиза принимает решение.
Самый сильный контраргумент заключается в том, что этот процесс заставляет одну зависимость казаться больше, чем она есть на самом деле. Этот риск реален. Для пакета с надежными лицензионными свидетельствами и уже утвержденным шаблоном использования может потребоваться только стандартная документация. Порог проекта определяется не серьезностью лицензии, а отсутствующим результатом, который блокирует решение с установленным сроком.
Вернуться к сообщению об обзоре выпуска
Наглядное сообщение содержит два полезных факта: сборка прошла успешно и кто-то отметил зависимость для проверки. Оно становится квалифицированным проектом соответствия только после того, как запись сможет ответить:
- Что это за программное обеспечение? Сохраните пакет, версию, артефакт, путь зависимости и точное выражение SPDX.
- Как это используется? Раздельная модификация, удаленное взаимодействие, объединение и передача, а не сжатие их в «SaaS».
- Что заблокировано? Назовите выпуск, приобретение или ответ поставщика и дату решения.
- Какой результат закрывает блок? Инвентаризация, исключение из политики, юридическая консультация или техническое изменение — это разные формулировки работы.
Если групповой фрагмент включает только «AGPL», отслеживайте второе сообщение с именем пакета или решением о выпуске. TOP Prospect может объединять и ранжировать фрагменты из групп Telegram, которые пользователь намеренно подключает и имеет к ним доступ, сохраняя при этом источник, время и исходный текст для просмотра человеком. Он не может проверять частный репозиторий, решать лицензионные обязательства, давать юридические консультации, связываться с автором или утверждать выпуск. метод маршрутизации официального источника полезен, когда перенаправленное обнаружение сканера потеряло свой пакет или консультативный объект; страница цен описывает границы обнаружения продукта.
Обзор выпуска не требует общего предупреждения о том, что AGPL представляет собой «высокий риск». Для этого требуется одна точная запись о компоненте, одно задокументированное использование, одно заблокированное решение и один отсутствующий результат. Это тот момент, когда вопрос лицензии становится проектом обеспечения соответствия.
Часто задаваемые вопросы
Требует ли какая-либо зависимость от AGPL от компании публикации всего своего приложения?
Такой вывод нельзя сделать только по метке зависимости. Важны точное произведение, подпадающее под лицензию, выражение лицензии, модификации, объединение с другим кодом, передача и удалённое взаимодействие по сети. Раздел 13 касается пользователей, удалённо взаимодействующих с модифицированной версией Программы. Для конкретной архитектуры всё ещё может потребоваться квалифицированная юридическая оценка.
В чём разница между AGPL-3.0-only и AGPL-3.0-or-later?
Это разные идентификаторы SPDX. AGPL-3.0-only называет только версию 3; AGPL-3.0-or-later допускает версию 3 или более позднюю версию в соответствии с пунктом о версии лицензии. Сохраните идентификатор, подтвержденный свидетельством пакета.
Почему успешная сборка не является достаточным подтверждением лицензии?
Сборка доказывает, что выбранные компоненты скомпилированы или упакованы. Он не устанавливает их лицензионные выражения, поставляемый артефакт, историю модификаций, архитектуру продукта или принятые организацией юридические и политические заключения.
Что делает вывод готовым для предложения услуг по обеспечению соответствия?
Предложение готово, когда в нем указаны пакет и версия, доказательства выражения лицензии, соответствующее использование продукта, заблокированное в данный момент решение, недостающий результат и лицо, ответственное за его принятие.
Часто задаваемые вопросы
Требует ли любая зависимость AGPL от компании опубликовать всё приложение?
Такой вывод нельзя сделать только по метке зависимости. Важны точное произведение, подпадающее под лицензию, выражение лицензии, модификации, объединение с другим кодом, передача и удалённое взаимодействие по сети. Раздел 13 касается пользователей, удалённо взаимодействующих с модифицированной версией Программы. Для конкретной архитектуры всё ещё может потребоваться квалифицированная юридическая оценка.
В чём разница между AGPL-3.0-only и AGPL-3.0-or-later?
Это разные идентификаторы лицензий SPDX. AGPL-3.0-only означает только версию 3; AGPL-3.0-or-later разрешает лицензиату использовать версию 3 или более позднюю версию согласно условию лицензии о версиях. Сканер должен сохранять именно тот идентификатор, который подтверждается данными о пакете.
Почему успешная сборка не является достаточным подтверждением лицензии?
Сборка показывает, что выбранные программные компоненты были скомпилированы или упакованы вместе. Она не устанавливает выражения лицензий компонентов, состав поставляемого артефакта, историю изменений, архитектуру продукта или юридические и внутренние выводы организации.
Что делает вывод готовым для предложения услуг по обеспечению соответствия?
Предложение готово, когда в нем указаны пакет и версия, доказательства выражения лицензии, соответствующее использование продукта, заблокированное в данный момент решение, недостающий результат и лицо, ответственное за его принятие.
Источники и дополнительное чтение
Как обнаруживается Signal, заслуживающий внимания
Методика показывает, как Top Prospect находит и упорядочивает Signals, которые стоит проверить, сохраняет исходный контекст Telegram, удаляет дубли и помогает определить порядок просмотра. Решение о дальнейших действиях остаётся за вами.
