iToverDose/Yazılım· 11 HAZIRAN 2026 · 08:02

GPL bağımlılıklarınızı yerel olarak tespit eden ücretsiz araç: licsniff

Kapalı kaynak kodlu projelerinizdeki GPL ve diğer lisans risklerini yerel olarak tarayan licsniff aracıyla, bağımlılıklarınızın yasal uyumluluğunu anında kontrol edin. Net, hızlı ve kullanımı kolay çözüm.

DEV Community2 dk okuma0 Yorumlar

Birkaç ay önce hukuk ekibinden basit bir soru geldi: "Bu üründe hiç GPL lisanslı bir şey olmadığını kanıtlayabilir misiniz?" Binlerce geçişli bağımlılığın bulunduğu Node.js ve Python projelerinde doğru yanıtı veremiyorduk. "Ee, galiba hayır?" demek yerine, ihtiyacımız olan şey, yerel olarak, anında bağımlılıkların taşıdığı lisansları belirleyen bir araçtı. Mevcut çözümlerse ya bakımsız kalmıştı ya da bulut tabanlıydı. Bu yüzden licsniff’i geliştirdik: bağımlılıklarınızı tarayan, risk düzeylerini sınıflandıran ve tek bir satır komutla çalışan bir CLI aracı.

Yasal riskler yerelden çözülmeli

Bugün kapalı kaynak kodlu bir üründe çalışıyorsunuz. Projenizin altında yatan Node.js ya da Python bağımlılıklarından bazılarının GPL gibi zorunlu açık kaynak lisansları taşıdığını fark etmediğinizde neler olabileceğini düşünün. Hukuki inceleme sırasında, node_modules ya da site-packages klasörlerinde saklanan basit JSON ve METADATA dosyalarında gizlenen bu riskleri yerel olarak taramadan asla emin olamazsınız.

Mevcut araçlar genellikle ya bakımsız kalmıştı ya da kullanıcı kaydı, API token’ı ve ağ bağlantısı gerektiriyordu. Oysa bağımlılıklarınızın lisans bilgileri zaten sizin diskte duruyordu. Örneğin:

  • Node.js paketleri package.json dosyasında lisans alanını taşır.
  • Python tekerleri (wheels) ise METADATA dosyasında lisans bilgilerini içerir.
  • Modern Python tekerlerindeyse PEP 639 standardına göre License-Expression: alanı bulunur.

Bütün bu veriler zaten oradayken, neden üçüncü taraf servislere göndermek zorunda kalalım?

licsniff: Yerel, hızlı ve basit bir çözüm

licsniff, bağımlılıklarınızın lisanslarını yerel olarak tarayan, sıfır bağımlılıkla çalışan bir komut satırı aracıdır. Kurulum gerektirmez, ağ bağlantısına ihtiyaç duymaz ve sadece birkaç saniye içinde sonuç üretir.

Komut satırından kullanımı son derece basittir:

npx licsniff

veya Python projeleri için:

pipx run licsniff

Araç, bağımlılıklarınızı en riskli olandan en az riskliye doğru sıralayarak sunar. Örneğin:

PACKAGE               VERSION  LICENSE           RISK
some-gpl-lib         2.1.0    GPL-3.0           strong-copyleft
mystery-pkg          0.0.3    (none)            unknown
copyleft-utils       1.4.0    LGPL-2.1          weak-copyleft
left-pad             1.3.0    MIT               permissive
fast-json            3.1.4    (MIT OR Apache-2.0) permissive

Lisans risklerini beş kategoride sınıflandırıyor

Araç, her lisansı beş farklı risk kategorisine ayırır. Bu sayede sadece lisans adını değil, uygulama riskini de anında görürsünüz:

  • İzin verici (permissive) – MIT, ISC, BSD, Apache-2.0, 0BSD, Unlicense, CC0. Bu lisanslara sahip bağımlılıkları serbestçe kullanabilirsiniz.
  • Zayıf copyleft (weak-copyleft) – LGPL-, MPL-2.0, EPL-, CDDL-*. Sadece dosya ya da bağlantı zorunlulukları getirir.
  • Güçlü copyleft (strong-copyleft) – GPL-, AGPL-. Projenizin tamamını açık kaynaklığa zorlayabilir.
  • Ticari (proprietary)UNLICENSED, SEE LICENSE IN …. Açık kaynaklı olmayan lisanslardır.
  • Bilinmeyen (unknown) – Lisans bilgisi eksik ya da tanınmayan. Bu kategori en tehlikeli olanıdır; çünkü neyi dağıttığınızı bile bilmiyorsunuz.

Gerçek dünya lisans ifadelerini doğru şekilde değerlendiriyor

Bağımlılıklarınızın lisans alanları her zaman temiz değildir. Karmaşık ifadelerle karşılaşabilirsiniz:

  • (MIT OR Apache-2.0)
  • GPL-3.0 AND MIT
  • GPLv3
  • GPL-3.0+
  • GPL-3.0-only
  • Apache License 2.0

licsniff, bütün bu ifadeleri SPDX standardına uygun şekilde normalleştirir ve mantıksal operatörleri doğru şekilde değerlendirir:

  • OR operatörü – en az kısıtlayıcı seçeneği seçer. Örneğin, (MIT OR GPL-3.0) ifadesi izin verici olarak sınıflandırılır.
  • AND operatörü – en kısıtlayıcı seçeneği seçer. Örneğin, GPL-3.0 AND MIT ifadesi güçlü copyleft olarak sınıflandırılır.

Bu sayede CI sürecinde **yanlış bir şekilde

Yapay zeka özeti

Kapalı kaynak kodlu projelerinizdeki GPL ve diğer lisans risklerini yerel olarak tarayan licsniff aracıyla, bağımlılıklarınızın yasal uyumluluğunu anında kontrol edin. Net, hızlı ve kullanımı kolay çözüm.

Yorumlar

00
YORUM BIRAK
ID #O18LX2

0 / 1200 KARAKTER

İnsan doğrulaması

9 + 6 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.