Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
Что проверять на проекте
Чек-лист аудитора по лицензионной чистоте. Проверяется не «есть ли антивирус лицензий», а замкнутость цепочки «evidence → нормализация → вердикт → запись».
Нормализация и evidence
- [ ] У каждого компонента лицензия хранится как нормализованное SPDX-выражение (сверено со SPDX License List) и рядом — evidence (исходная строка/путь к файлу), чтобы по спорному вердикту было видно, откуда он взялся.
- [ ] Различаются
*-onlyи*-or-later, устаревшие идентификаторы (GPL-2.0) не используются, а выраженияOR/AND/WITHинтерпретированы корректно (особенноOR— как выбор одной лицензии).
Классификация и вердикты
- [ ] Каждый компонент отнесён к классу (permissive / weak / strong / network copyleft / проприетарная / unknown), и по каждому есть вердикт (разрешено / условно / блокер / требуется заключение) с автором, датой и обоснованием.
- [ ] Вердикт по copyleft вынесен с учётом способа распространения и линковки (бинарник / дистрибутив с исходниками / SaaS), а не по одной строке; AGPL и иные network-copyleft компоненты отдельно проверены на сетевой сценарий.
Неизвестное и проприетарное (зона максимального риска)
- [ ] Есть реестр
unknown/NOASSERTIONс ответственным и сроком доразметки; такие компоненты не считаются «зелёными» по умолчанию. - [ ]
LicenseRef-*и кастомные тексты доведены до ручного юридического заключения; проприетарные/неизвестные лицензии в проприетарном продукте помечены как блокер готовности до решения.
Полнота и трассируемость
- [ ] Лицензии проверены не только у прямых, но и у транзитивных зависимостей, и применён посборочный детектор на уровне файлов (лицензия проекта могла разойтись с лицензией файла), а не только метаданные пакета.
- [ ] Для поставок соисполнителей зафиксированы источник SBOM, дата анализа и версия детектора лицензий.
Процесс и закрепление
- [ ] Есть утверждённая политика лицензионной чистоты со списком allow/deny-лицензий и правилом по
NOASSERTION, и определены роли: кто нормализует, кто выносит вердикт (юрист), кто принимает риск — Политика лицензионной чистоты. - [ ] Исключения и принятый риск оформлены в реестре с датой пересмотра — Реестр исключений, Порядок принятия риска.
- [ ] Юридические заключения по copyleft- и unknown-кейсам оформлены по шаблону и привязаны к версии компонента — Шаблон юридического заключения по лицензии.
Стоп-сигнал Если вердикт о готовности продукта выдан, а в составе остаются
NOASSERTION/LicenseRef-*без заключения или AGPL без проверки сетевого сценария — лицензионная чистота не подтверждена, независимо от того, сколько лицензий распознано автоматически.
Связи
Нормативка: SPDX ISO/IEC 5962 · OpenChain ISO/IEC 5230 · ISO/IEC 27001 A.5/A.8. Практики: П26. Лицензионная классификация · П27. Юридическое заключение и реестр лицензий · П30. Исключения и принятие риска.