SPDX Nedir?

SPDX (Software Package Data Exchange), yazılım lisanslama bilgilerini iletmek için standartlaştırılmış bir formattır. MIT, GPL-3.0-only veya Apache-2.0 gibi kısa, benzersiz kodlar olan resmi lisans tanımlayıcılarının bir listesini tanımlar ve açık kaynak ile tescilli lisansları açık bir şekilde tanımlar.

Serbest metin lisans adları yerine SPDX tanımlayıcılarını kullanmak belirsizliği ortadan kaldırır. Örneğin, "GPL" sürüm 2 veya 3 anlamına gelebilir, ancak GPL-2.0-only ve GPL-3.0-only kesindir. SPDX, paket yöneticileri (npm, PyPI, Maven), yasal uyum araçları ve yazılım malzeme listesi (SBOM) standartlarında yaygın olarak benimsenmiştir.

Araç açıklaması

Bu araç SPDX lisans tanımlayıcılarını doğrular ve arar. Bir lisans kimliğinin geçerli, güncel veya kullanımdan kaldırılmış olup olmadığını kontrol etmek için bir lisans kimliği girin. Ayrıca, durumlarıyla birlikte bilinen tüm SPDX tanımlayıcılarının aranabilir bir listesini sağlayarak projeniz için doğru tanımlayıcıyı bulmayı kolaylaştırır.

Örnekler

Giriş: MIT

Çıkış:

  • Durum: Geçerli
  • Açıklama: MIT Lisansı — atıf ile yeniden kullanıma izin veren izin verici, kısa bir lisans

Giriş: GPL-2.0

Çıkış:

  • Durum: Kullanımdan Kaldırılmış
  • Açıklama: Bunun yerine GPL-2.0-only veya GPL-2.0-or-later kullanın

Giriş: Apache-2.0

Çıkış:

  • Durum: Geçerli
  • Açıklama: Apache Lisansı 2.0 — açık patent hakkı ile izin verici bir lisans

Özellikler

  • Herhangi bir SPDX lisans tanımlayıcısının anında doğrulanması
  • Geçerli, kullanımdan kaldırılmış ve bilinmeyen tanımlayıcılar arasında ayrım yapma
  • Tüm güncel ve kullanımdan kaldırılmış SPDX tanımlayıcılarının aranabilir listesi

Nasıl çalışır?

Araç, resmi SPDX lisans tanımlayıcı listesine (spdx-license-ids paketinden) başvurur. Bir tanımlayıcı girdiğinizde, hem güncel hem de kullanımdan kaldırılmış listelere karşı büyük/küçük harfe duyarsız bir arama gerçekleştirir. Kullanımdan kaldırılmış listede bulunursa, tanımlayıcıyı işaretler ve doğru değiştirmeyi önerir.

İpuçları

  • Projenizin bağımlılıklarını SPDX kimliklerine karşı denetlemek için npm license veya license-checker kullanın
  • Düz sürüm numaraları yerine -only veya -or-later sonekli tanımlayıcıları tercih edin
  • Eski bir projeyi modern SPDX uyumluluğuna taşıyorsanız kullanımdan kaldırılmış listeyi kontrol edin