Как читать авторский курс и нормативные материалы
Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.
SPDX ISO IEC 5962
О документе
Что это ISO/IEC 5962:2021 — международный стандарт, придавший статус ISO формату SPDX (Software Package Data Exchange) версии 2.2.1. Формат развивает рабочая группа SPDX под эгидой Linux Foundation. Исторически SPDX вырос из задачи лицензионного учёта open source, поэтому его сильная сторона — точное и машиночитаемое описание лицензий, а не только перечень компонентов.
Ключевой вклад SPDX в индустрию — список SPDX License Identifiers (Apache-2.0, GPL-2.0-only, MIT…) и грамматика SPDX License Expressions (MIT OR Apache-2.0, GPL-2.0-or-later WITH Classpath-exception-2.0). Профиль SPDX 3.x расширяет модель на безопасность и происхождение, но ISO-редакция фиксирует именно 2.2.1.
Ключевые требования
- Обязательная секция документа.
SPDXVersion,DataLicense: CC0-1.0,SPDXID: SPDXRef-DOCUMENT,DocumentNameи уникальныйDocumentNamespace(URI) — паспорт самого SBOM. - Описание пакетов. Каждый
PackageNameнесётSPDXID,PackageVersion,PackageDownloadLocation; для целостности —PackageVerificationCodeилиPackageChecksum. - Двойной учёт лицензий. Различаются
PackageLicenseConcluded(вывод аналитика) иPackageLicenseDeclared(что заявил автор); расхождение между ними — сигнал для юридического разбора. - Канонические идентификаторы лицензий. Лицензии указываются через SPDX License List или License Expression; произвольный текст допускается только как
LicenseRef-с приложенным текстом. - Связи и происхождение.
Relationship(CONTAINS,DEPENDS_ON,GENERATED_FROM) выражают структуру поставки, а не плоский список.
Что считать evidence
Артефакты соответствия - Валидный SPDX-документ (
.spdxtag-value или.spdx.json) с заполненнымиDocumentNamespace,Creator,Created. - Заполненная параLicenseConcluded/LicenseDeclaredпо каждому пакету — основа реестра лицензий. - Отчёт инструмента (например, license scanner) с привязкой найденной лицензии к SPDX-идентификатору. - Журнал разбораLicenseRef-и нестандартных выражений — что и почему отнесено к нестандартному. - ПроверкаPackageVerificationCode/checksum как доказательство целостности описанного пакета.
Маппинг на практики и шаблоны
- Извлечение лицензий и их сопоставление с SPDX-идентификаторами: П11. ScanCode для лицензий.
- Политика на лицензионных выражениях: П12. ORT и license policy; классификация результата — П26. Лицензионная классификация.
- Контроль качества документа: Чек-лист качества SPDX; правила приемлемости — Политика лицензионной чистоты.
- Контекст модулей: М03. Форматы SBOM и М07. Лицензионная чистота.
Ограничение
Это учебная карточка Карточка описывает формат под задачи лицензионного учёта в курсе и не воспроизводит текст ISO/IEC 5962. Точные имена тегов, обязательность полей и состав License List для аудита сверять с официальной спецификацией SPDX соответствующей версии и регламентами Организации.