Compliance & Regulation serimizin bir parçası
Tam kılavuzu okuyunOrtalama bir ticari uygulama, 500'den fazla bağımlılığa yayılmış %77 oranında açık kaynak kodu içerir. Her bağımlılık, belirli yükümlülüklere sahip kendi lisansını taşır. Bu yükümlülüklerin ihlal edilmesi, şirketinizi davalara, zorunlu kod ifşasına ve itibarınızın zedelenmesine maruz bırakır. Ancak çoğu şirketin açık kaynak lisanslarını takip etme veya bunlara uyma süreci yok.
Bu kılavuz, lisans kategorizasyonundan otomatik tarama ve SBOM oluşturmaya kadar açık kaynak lisans uyumluluğu için pratik bir çerçeve sağlar.
Önemli Çıkarımlar
- Tüm açık kaynak lisansları aynı değildir: izin veren lisanslar neredeyse her şeye izin verir, copyleft lisansları ise değişiklikleri paylaşmanızı gerektirir
- Yazılım Malzeme Listesi (SBOM), devlet alımlarında yasal bir gereklilik haline geliyor (ABD Yönetici Emri 14028)
- CI/CD'de otomatik lisans taraması, uyumlu olmayan bağımlılıkların kod tabanınıza girmesini önler
- Copyleft "bulaşma" riski gerçektir: bir GPL bağımlılığı sizi tüm uygulamanızı açık kaynak yapmak zorunda bırakabilir
Lisans Kategorileri
İzin Verilen Lisanslar (Düşük Risk)
| Lisans | Yükümlülükler | Ticari Kullanım | Değişiklik | Dağıtım |
|---|---|---|---|---|
| MİT | Telif hakkı bildirimi + lisansı dahil edin | Evet | Evet | Evet |
| BSD 2-Madde | Telif hakkı bildirimi + lisansı dahil edin | Evet | Evet | Evet |
| BSD 3-Madde | Aynı + onay iddiası yok | Evet | Evet | Evet |
| Apache 2.0 | Bildirim + lisans + durum değişiklikleri + patent verilmesini dahil et | Evet | Evet | Evet |
| ISC | Telif hakkı bildirimi + lisansı dahil edin | Evet | Evet | Evet |
Ticari kullanım için güvenlidir. Lisans metnini ve telif hakkı bildirimini dağıtımınıza ekleyin. Apache 2.0 ayrıca orijinal koddaki herhangi bir değişikliğin dikkate alınmasını gerektirir ve bir patent lisansı içerir.
Zayıf Copyleft (Orta Risk)
| Lisans | Yükümlülükler | Anahtar Kısıtlaması |
|---|---|---|
| LGPL v2.1/v3 | LGPL kodundaki değişiklikleri paylaşın; kodunuz dinamik olarak bağlıysa özel olarak kalır | Statik bağlantı copyleft'i tetikleyebilir |
| MPL2.0 | MPL dosyalarındaki değişiklikleri paylaşın; yeni dosyalar özel olabilir | Dosya düzeyinde copyleft |
| EPL2.0 | Değişiklikleri paylaşın; ikincil lisans seçeneği mevcut | Modül düzeyinde copyleft |
Dikkatli kullanın. LGPL kitaplıklarını statik olarak bağlı değil, paylaşılan (dinamik) kitaplıklar olarak tutun. MPL lisanslı kodu, özel kodunuzdan ayrı dosyalarda saklayın.
Güçlü Copyleft (Yüksek Risk)
| Lisans | Yükümlülükler | Anahtar Kısıtlaması |
|---|---|---|
| GPL v2 | Türev çalışmalar GPL lisanslı olmalıdır | Bağlama türev çalışma yaratır |
| GPL v3 | v2 + anti-tivoizasyon + patent bağışı ile aynı | Daha geniş copyleft |
| AGPL v3 | GPL v3 + ağ kullanımının copyleft'i tetiklemesiyle aynı | Sunucu tarafı kullanım sayıları |
| SSPL | "Hizmet" yığınının tamamı açık kaynaklı olmalıdır | En geniş copyleft |
Ticari yazılımlar için en yüksek risk. Uygulamanızda GPL kodunu kullanmak, uygulamanızın tamamını GPL kapsamında yayınlamanızı gerektirebilir. AGPL, bunu sunucu tarafı yazılımlara kadar genişletir; ikili dosyaları hiçbir zaman dağıtmasanız bile, yazılımı bir web hizmeti olarak sağlamak, copyleft yükümlülüğünü tetikler.
Uyumluluk İş Akışı
Adım 1: Bir SBOM oluşturun
# For Node.js projects (using CycloneDX)
npx @cyclonedx/cyclonedx-npm --output-file sbom.json --spec-version 1.5
# For Python projects
pip install cyclonedx-bom
cyclonedx-py environment --output sbom.json
# For multi-language projects (using Syft)
syft . -o cyclonedx-json > sbom.json
2. Adım: Lisans Uyumluluğunu Tarayın
# Using license-checker for Node.js
npx license-checker --production --json --out licenses.json
# Using scancode-toolkit (comprehensive, all languages)
scancode --license --copyright --output-json scan-results.json .
3. Adım: Sınıflandırın ve Onaylayın
Onaylanmış bir lisans listesi oluşturun:
{
"approved": [
"MIT", "BSD-2-Clause", "BSD-3-Clause", "Apache-2.0",
"ISC", "0BSD", "Unlicense", "CC0-1.0"
],
"conditional": [
"LGPL-2.1", "LGPL-3.0", "MPL-2.0", "EPL-2.0"
],
"prohibited": [
"GPL-2.0", "GPL-3.0", "AGPL-3.0", "SSPL-1.0",
"EUPL-1.2", "OSL-3.0"
]
}
Adım 4: CI/CD Entegrasyonu
# .github/workflows/license-check.yml
name: License Compliance
on: [pull_request]
jobs:
check-licenses:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: pnpm install --frozen-lockfile
- name: Check licenses
run: |
npx license-checker --production --excludePackages "" \
--failOn "GPL-2.0;GPL-3.0;AGPL-3.0;SSPL-1.0" \
--summary
SBOM (Yazılım Malzeme Listesi)
SBOM'lar Neden Önemlidir
- ABD Yönetici Emri 14028, ABD hükümetine satılan yazılımlar için SBOM'ların kullanılmasını gerektirir
- AB Siber Dayanıklılık Yasası, AB'de satılan yazılımlar için SBOM'ları gerektirecektir
- Tedarik zinciri güvenliği: SBOM'lar güvenlik açıklarına hızlı yanıt verilmesini sağlar (log4j gerçekleştiğinde etkilenip etkilenmediğinizi bilirsiniz)
- Müşteri güveni: Kurumsal alıcılar, satın alma sırasında giderek daha fazla SBOM talep ediyor
SBOM Standartları
| Standart | Biçim | Bakımı Yapan | Evlat Edinme |
|---|---|---|---|
| CycloneDX | JSON, XML | OWASP | Büyüyor (npm için varsayılan) |
| SPDX | JSON, RDF, Etiket Değeri | Linux Vakfı | Kuruldu (ISO/IEC 5962:2021) |
| SWID | XML | NIST | Hükümet |
Öneri: Çoğu yazılım şirketi için CycloneDX. Daha basittir, daha iyi takım desteğine sahiptir ve endüstrinin varsayılanı haline gelmektedir.
Ortak Uyumluluk Senaryoları
Senaryo 1: Node.js Web Uygulaması
Tipik bir node_modules dizini 500-2.000 paket içerir. Büyük çoğunluk MIT veya ISC lisanslarını kullanıyor. Yaygın sorunlar:
- GPL kullanan geçişli bağımlılıklar (bunları doğrudan eklemediniz)
- Manuel inceleme gerektiren
UNKNOWNlisans alanları - Tek bir pakette birden fazla lisans (ör. "MIT OR Apache-2.0")
Eylem: npx license-checker --production haftalık olarak çalıştırın. İzin verilmeyen lisansları araştırın. GPL bağımlılıklarını izin veren alternatiflerle değiştirin.
Senaryo 2: Odoo Modülü Geliştirme
Odoo Topluluk Sürümü LGPL v3'tür. Odoo Enterprise tescillidir. Özel modülleriniz:
- Topluluk modülleri: LGPL v3 veya uyumlu olmalıdır (dağıtılmışsa)
- Özel dahili modüller: Dağıtılmadığından LGPL geçerli değildir
- Kurumsal eklentiler: Odoo Enterprise lisanslama şartlarına uygun olmalıdır
Senaryo 3: AGPL Bağımlılıklarıyla SaaS
SaaS uygulamanız AGPL lisanslı kod kullanıyorsa (örneğin, SSPL'ye geçmeden önce MongoDB), aşağıdakilerden birini yapmanız gerekir:
- Uygulama kaynak kodunuzun tamamını AGPL kapsamında yayınlayın
- AGPL bağımlılığını kaldırın ve bir alternatif kullanın
- AGPL projesinden ticari bir lisans alın (varsa)
AGPL kodunun sunucu tarafında kullanımı, ikili dosyaları hiçbir zaman "dağıtmasanız" bile copyleft yükümlülüğünü tetikler.
Sıkça Sorulan Sorular
API'mizde GPL kitaplığı kullanmak bizi API'mizi açık kaynak yapmaya zorluyor mu?
Bu onu nasıl kullandığınıza bağlıdır. GPL kitaplığı uygulamanıza (statik veya dinamik olarak) bağlıysa, FSF'nin görüşü, uygulamanızın "türetilmiş bir çalışma" olduğu ve GPL kapsamında lisanslanması gerektiği yönündedir. GPL yazılımıyla bir ağ API'si (örneğin, GPL lisanslı bir veritabanı sunucusu kullanarak) aracılığıyla iletişim kurarsanız, bu genellikle türev bir çalışma olarak kabul edilmez. Özel durumunuz için bir avukata danışın.
Bir bağımlılık lisansını değiştirirse ne olur?
Gelecekteki lisans değişikliklerine değil, kodu aldığınız lisansa tabi olursunuz. Ancak yeni bir lisansla yeni bir sürüme güncelleme yaparsanız yeni lisans o sürüm için geçerli olur. Bu nedenle sürüm sabitlemeli SBOM'lar önemlidir; tam olarak hangi sürümü (ve lisansı) kullandığınızı belgelerler.
"BİLİNMEYEN" lisanslarla bağımlılıkları nasıl ele alırız?
LİSANS dosyası için paketin deposunu kontrol edin. Herhangi bir lisans belirtilmemişse, kod teknik olarak tam telif hakkı koruması altındadır; onu kullanma, değiştirme veya dağıtma hakkınız yoktur. Lisansı bulun (standart dışı bir konumda olabilir), yazardan bir lisans eklemesini isteyin veya bağımlılığı açıkça lisanslanan bir alternatifle değiştirin.
MIT lisanslı paketler için ilişkilendirme yapmamız gerekiyor mu?
Evet. MIT ve çoğu izin veren lisans, yazılımı dağıtırken telif hakkı bildirimini ve lisans metnini eklemenizi gerektirir. Web uygulamaları için bu genellikle bir ÜÇÜNCÜ TARAF BİLDİRİMLERİ dosyasının veya tüm açık kaynak bileşenlerin ve bunların lisanslarının listelendiği bir sayfanın dahil edilmesi anlamına gelir.
Bir Uyumluluk Programı Oluşturmak
Üç Aylık Uyumluluk İncelemesi
- Tüm projeler için SBOM'u yeniden oluşturun
- Son incelemeden bu yana yeni bağımlılıkları tarayın eklendi
- Güncellenen paketlerdeki lisans değişikliklerini kontrol edin
- Görünen tüm "BİLİNMEYEN" lisansları inceleyin
- Yeni lisanslarla karşılaşılırsa onaylı lisans listesini güncelleyin
- Denetim takibi için SBOM anlık görüntülerini arşivleyin
Uyumluluk Rolleri
| Rol | Sorumluluk |
|---|---|
| Mühendislik lideri | Halkla İlişkiler'deki bağımlılık eklemelerini gözden geçirin |
| Yasal/uyumluluk | Onaylanmış lisans listesini tutar, uç durumları inceler |
| Güvenlik | Lisans taramasının yanı sıra savunmasız bağımlılıkları da tarar |
| Ürün sahibi | Ürün için koşullu lisansların kabul edilebilir olup olmadığına karar verir |
Hafif bir uyumluluk programı, küçük bir ekip için üç ayda bir 2-4 saat sürer ve ürün lansmanından sonra veya durum tespiti sırasında bir uyumluluk sorununu keşfetmenin çok daha büyük maliyetini önler.
Sırada Ne Var?
Lisans uyumluluğu yazılım yönetiminin bir yönüdür. Kendi kodunuz için bunu IP koruması, satıcı yazılımı için SaaS anlaşmasının temelleri ve güvenlik uyumluluğu için siber güvenlik düzenleme gereklilikleri ile birleştirin.
Açık kaynak uyumluluk denetimi ve SBOM oluşturma hizmetleri için ECOSIRE ile iletişime geçin.
ECOSIRE tarafından yayınlandı - işletmelerin açık kaynağı sorumlu bir şekilde kullanmasına yardımcı oluyor.
Yazan
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
ECOSIRE ile İşinizi Büyütün
ERP, e-Ticaret, yapay zeka, analitik ve otomasyon genelinde kurumsal çözümler.
İlgili Makaleler
BMF Programmablaufplan Lohnsteuer 2026: Almanya'nın Resmi Ücret-Vergi Hesaplamasının Uygulanması (XML, API, Odoo)
BMF Programmablaufplan Lohnsteuer 2026 için geliştirici kılavuzu: PAP nedir, XML sözde kod formatı, resmi test hizmeti ve Odoo maaş bordrosuna eşleme.
Giyim ve Moda Markaları için ERP: Beden-Renk Matrisi, Sezon Planlaması ve Uyumluluk (2026 Kılavuzu)
Moda ve giyim markaları 2026'da ERP'yi nasıl seçiyor: beden-renk matrisi çeşitleri, sezon planlaması, GoBD ve DATEV uyumluluğu, tedarikçi karşılaştırması ve maliyetler.
ERPNext İK ve 2026'da Bordro: Kurulum, Maaş Yapıları ve Çok Ülkeli Uyumluluk
2026 için adım adım ERPNext HR ve bordro kurulumu: HRMS uygulamasının kurulumu, maaş yapıları, bordro girişi işlemleri, gelir vergisi dilimleri, çok ülkeli uyumluluk.
Compliance & Regulation serisinden daha fazlası
BMF Programmablaufplan Lohnsteuer 2026: Almanya'nın Resmi Ücret-Vergi Hesaplamasının Uygulanması (XML, API, Odoo)
BMF Programmablaufplan Lohnsteuer 2026 için geliştirici kılavuzu: PAP nedir, XML sözde kod formatı, resmi test hizmeti ve Odoo maaş bordrosuna eşleme.
Giyim ve Moda Markaları için ERP: Beden-Renk Matrisi, Sezon Planlaması ve Uyumluluk (2026 Kılavuzu)
Moda ve giyim markaları 2026'da ERP'yi nasıl seçiyor: beden-renk matrisi çeşitleri, sezon planlaması, GoBD ve DATEV uyumluluğu, tedarikçi karşılaştırması ve maliyetler.
ERPNext İK ve 2026'da Bordro: Kurulum, Maaş Yapıları ve Çok Ülkeli Uyumluluk
2026 için adım adım ERPNext HR ve bordro kurulumu: HRMS uygulamasının kurulumu, maaş yapıları, bordro girişi işlemleri, gelir vergisi dilimleri, çok ülkeli uyumluluk.
2026'da GoHighLevel A2P 10DLC Uyumluluğu: Kayıt, Ücretler ve Engellenen SMS'leri Düzeltme
2026 için GoHighLevel A2P 10DLC kılavuzunu tamamlayın: marka ve kampanya kayıt adımları, operatör ücretleri, yaygın ret nedenleri ve filtrelenmiş SMS'lerin nasıl düzeltileceği.
ERP Sistemleri için GxP Doğrulaması: 2026 Doğrulama RFP'nizin Gerektirmesi Gerekenler (CSV, IQ/OQ/PQ, Denetim Yolları)
Bir GxP ERP doğrulama RFP'sinin 2026'da gerektirmesi gerekenler: CSV ve CSA kapsamı, 21 CFR Bölüm 11, AB Annex 11, IQ/OQ/PQ çıktıları, denetim izleri ve GAMP 5 riski.
OpenClaw Güvenlik Modeli, Veri Yerleşimi, SOC 2 ve ISO 27001
OpenClaw güvenlik mimarisi: kiracı izolasyonu, şifreleme, gizli yönetim, denetim günlükleri, veri yerleşimi, SOC 2, ISO 27001, GDPR, HIPAA uygunluğu.