Пиков / КАПО
Как читать авторский курс и нормативные материалы

Это учебные материалы, а не заключение о соответствии конкретного продукта. Организационные модели курса отделяйте от терминов стандарта: ППК в опубликованном проекте — машиночитаемый перечень, а живой реестр его версий является практикой сопровождения. Термин OSA в разных материалах имеет разный охват. Статус и обязательность нормативного документа проверяются отдельно; проект КАПО опубликован как проект первой редакции.

План занятия (90 минут)

Цели

Материалы

Тайминг

Мин Блок Что происходит
0–8 Вводный кейс Проприетарный продукт Организации с AGPL-зависимостью в транзитиве: почему это не чинится патчем и чем грозит при выводе в SaaS.
8–28 Лекция: SPDX и классы SPDX License List vs Expression; операторы OR/AND/WITH; *-only vs *-or-later; таблица четырёх классов и их триггеров.
28–43 Лекция: совместимость и риски Направленность совместимости (Apache-2.0 → GPL-3.0, но не наоборот); dual licensing; почему NOASSERTION блокирует вердикт.
43–58 Демо Разбор тестового SBOM: показать evidence.licenses (сырьё) рядом с нормализованным expression; провести 3–4 строки через «evidence → нормализация → вердикт».
58–83 Практика в парах Слушатели классифицируют выданный набор лицензий, заполняют таблицу обязательств и выносят вердикт по каждому компоненту (см. практическую работу).
83–90 Рефлексия Что закрепить в политике: список allow/deny-лицензий, правило по NOASSERTION, роль выносящего вердикт.

Ход занятия

Вводный кейс (0–8) Соисполнитель прислал SBOM библиотеки логирования. Прямые зависимости — все MIT/Apache-2.0, выглядит чисто. Но в транзитиве пятого уровня — компонент под AGPL-3.0. Продукт Организации сейчас распространяется как закрытый бинарник (AGPL «спит»), но через полгода планируется облачная версия. Вопрос аудитории: это нарушение сейчас? станет ли нарушением потом? кто должен это решать?

  1. Лекция (8–43). Сначала механика SPDX (идентификаторы и грамматика выражений), затем поведение классов и совместимость. Главный тезис: вердикт зависит от способа распространения, а не только от строки.
  2. Демо (43–58). На реальном фрагменте показать, как сервис аудита/вердиктов разделяет evidence (исходная строка из заголовка файла) и нормализованное выражение, и как одно вытекает из другого.
  3. Практика (58–83). Работа в парах с раздаткой; преподаватель ходит по группам, ловит типовую ошибку — трактовку OR как «обе лицензии действуют».
  4. Рефлексия (83–90). Свести выводы в три строки будущей политики Организации.

Контрольная точка

Слушатель умеет: (1) нормализовать произвольную строку лицензии в SPDX-выражение или честно отправить её в очередь unknown; (2) назвать класс и ключевое обязательство; (3) объяснить, кто выносит вердикт и каким артефактом он фиксируется. Связь с контрольными вопросами.