Co to jest SPDX?

SPDX (Software Package Data Exchange) to standardowy format do komunikowania informacji o licencjonowaniu oprogramowania. Definiuje listę oficjalnych identyfikatorów licencji — krótkie, unikalne kody takie jak MIT, GPL-3.0-only lub Apache-2.0 — które jednoznacznie identyfikują licencje open-source i proprietary.

Używanie identyfikatorów SPDX zamiast nazw licencji w postaci zwykłego tekstu eliminuje niejednoznaczność. Na przykład "GPL" może oznaczać wersję 2 lub 3, ale GPL-2.0-only i GPL-3.0-only są precyzyjne. SPDX jest szeroko przyjęty w menedżerach pakietów (npm, PyPI, Maven), narzędziach do zgodności prawnej i standardach software bill of materials (SBOM).

Opis narzędzia

To narzędzie waliduje i wyszukuje identyfikatory licencji SPDX. Wprowadź identyfikator licencji, aby sprawdzić, czy jest ważny, aktualny lub wycofany. Zapewnia również przeszukiwalną listę wszystkich znanych identyfikatorów SPDX wraz z ich statusem, ułatwiając znalezienie prawidłowego identyfikatora dla Twojego projektu.

Przykłady

Wejście: MIT

Wyjście:

  • Status: Ważny
  • Opis: MIT License — permisywna, krótka licencja umożliwiająca ponowne użycie z przypisaniem autorstwa

Wejście: GPL-2.0

Wyjście:

  • Status: Wycofany
  • Opis: Użyj GPL-2.0-only lub GPL-2.0-or-later

Wejście: Apache-2.0

Wyjście:

  • Status: Ważny
  • Opis: Apache License 2.0 — permisywna licencja z wyraźnym przyznaniem praw patentowych

Funkcje

  • Natychmiastowa walidacja dowolnego identyfikatora licencji SPDX
  • Rozróżnianie między identyfikatorami ważnymi, wycofanymi i nieznanymi
  • Przeszukiwalna lista wszystkich aktualnych i wycofanych identyfikatorów SPDX

Jak to działa

Narzędzie odwołuje się do oficjalnej listy identyfikatorów licencji SPDX (z pakietu spdx-license-ids). Po wprowadzeniu identyfikatora wykonuje wyszukiwanie bez rozróżniania wielkości liter na liście zarówno aktualnych, jak i wycofanych identyfikatorów. Jeśli identyfikator zostanie znaleziony na liście wycofanych, narzędzie go oznacza i sugeruje prawidłową zamianę.

Wskazówki

  • Użyj npm license lub license-checker do audytu zależności projektu względem identyfikatorów SPDX
  • Preferuj identyfikatory z sufiksem -only lub -or-later zamiast zwykłych numerów wersji
  • Sprawdź listę wycofanych identyfikatorów, jeśli migrujesz starszy projekt do nowoczesnej zgodności SPDX