Что такое SPDX?

SPDX (Software Package Data Exchange) — это стандартизированный формат для передачи информации о лицензировании программного обеспечения. Он определяет список официальных идентификаторов лицензий — короткие, уникальные коды, такие как MIT, GPL-3.0-only или Apache-2.0 — которые однозначно идентифицируют лицензии с открытым исходным кодом и проприетарные лицензии.

Использование идентификаторов SPDX вместо свободного текста названий лицензий устраняет неоднозначность. Например, "GPL" может означать версию 2 или 3, но GPL-2.0-only и GPL-3.0-only являются точными. SPDX широко используется в менеджерах пакетов (npm, PyPI, Maven), инструментах соответствия нормативным требованиям и стандартах программного реестра материалов (SBOM).

Описание инструмента

Этот инструмент проверяет и выполняет поиск идентификаторов лицензий SPDX. Введите идентификатор лицензии, чтобы проверить, является ли он действительным, текущим или устаревшим. Он также предоставляет доступный для поиска список всех известных идентификаторов SPDX с их статусом, что облегчает поиск правильного идентификатора для вашего проекта.

Примеры

Входные данные: MIT

Выходные данные:

  • Статус: Действительна
  • Описание: MIT License — разрешающая, короткая лицензия, которая позволяет повторное использование с указанием авторства

Входные данные: GPL-2.0

Выходные данные:

  • Статус: Устарела
  • Описание: Используйте GPL-2.0-only или GPL-2.0-or-later

Входные данные: Apache-2.0

Выходные данные:

  • Статус: Действительна
  • Описание: Apache License 2.0 — разрешающая лицензия с явным предоставлением прав на патенты

Возможности

  • Мгновенная проверка любого идентификатора лицензии SPDX
  • Различие между действительными, устаревшими и неизвестными идентификаторами
  • Доступный для поиска список всех текущих и устаревших идентификаторов SPDX

Как это работает

Инструмент ссылается на официальный список идентификаторов лицензий SPDX (из пакета spdx-license-ids). Когда вы вводите идентификатор, он выполняет поиск без учета регистра в списках текущих и устаревших лицензий. Если идентификатор найден в списке устаревших, инструмент его отмечает и предлагает правильную замену.

Советы

  • Используйте npm license или license-checker для проверки лицензий зависимостей вашего проекта в соответствии с идентификаторами SPDX
  • Предпочитайте идентификаторы с суффиксами -only или -or-later вместо простых номеров версий
  • Проверьте список устаревших лицензий, если вы переводите старый проект на современное соответствие SPDX