kisayoldunyasi.club

Kısayol Dünyası

Teknoloji ipuçları ile zaman kazanın

Yazılım Lisansları: GPL, MIT, Ticari Lisans Arasındaki Fark

Kısayol Dünyası - güncel rehber

Bir yazılımı indirip kurarken karşıma çıkan o uzun metni yıllarca "Kabul ediyorum"a basıp geçtim. Ta ki küçük bir yan projede kullandığım bir kütüphanenin lisansı yüzünden, projeyi kapalı kaynak olarak dağıtamayacağımı fark ettiğim güne kadar. O gün oturup yazılım lisans türleri konusunu baştan öğrendim ve açıkçası çoğu insanın sandığından çok daha basit olduğunu gördüm. Karmaşık gelen şey hukuki dil; mantık aslında üç dört soruya indirgenebiliyor.

Asıl sorun ne?

Lisans, yazılımın size ne yapma izni verdiğini tarif eden sözleşmedir. Yazılımı satın almazsınız, kullanma hakkını edinirsiniz. Bu ayrım kulağa hukukçu inceliği gibi gelse de pratik sonuçları var: aynı programı kaç makineye kurabileceğiniz, ticari bir işte kullanıp kullanamayacağınız, kodunu değiştirip dağıtabilir misiniz, değiştirdiğinizde kendi kodunuzu da açmak zorunda mısınız — hepsi orada yazıyor.

İnsanların en sık takıldığı noktalar şunlar oluyor: "Ücretsiz indirdiysem serbesttir" varsayımı, "açık kaynak = kısıtsız" varsayımı ve "sadece kendi işimde kullanıyorum, kimse görmez" rahatlığı. Üçü de yanlış. Ücretsiz bir programın lisansı ticari kullanımı açıkça yasaklıyor olabilir; açık kaynak bir kütüphane sizi kendi kodunuzu paylaşmaya zorlayabilir; şirket denetimlerinde lisans uyumsuzluğu ciddi kalem olarak karşınıza çıkar.

Üç ana yaklaşım

GPL — "özgürlük bulaşıcıdır"

GPL (GNU General Public License) copyleft mantığıyla çalışır. Kodu alabilir, inceleyebilir, değiştirebilir ve dağıtabilirsiniz; ancak GPL kodu içeren bir yazılımı dağıttığınızda, o türev çalışmayı da GPL altında ve kaynak koduyla birlikte sunmanız gerekir. Linux çekirdeğinin, birçok masaüstü aracının arkasında bu lisans var. İşletim sistemi karşılaştırmalarında Linux'un neden bu kadar çok dağıtıma bölünebildiğini merak edenler için cevap büyük ölçüde burada.

Dikkat: GPL yazılımı kendi içinizde kullanmak, hatta değiştirmek serbesttir. Yükümlülük dağıtımla doğar. AGPL ise bu boşluğu kapatır; ağ üzerinden hizmet olarak sunmayı da dağıtım sayar.

MIT — "adımı yaz, gerisi senin"

MIT (ve akrabası BSD, Apache 2.0) izin verici lisanslardır. Telif bildirimini korumak dışında neredeyse hiçbir şart koymazlar. Kodu alıp kapalı kaynak ticari ürününüze gömebilir, satabilirsiniz. Garanti vermezler, sorumluluk kabul etmezler. Ekosistemdeki paket depolarının büyük kısmı bu lisansları tercih eder, çünkü benimsenmeyi kolaylaştırır. Apache 2.0'ın MIT'den farkı, patent hakları konusunda açık bir madde içermesidir; kurumsal tarafta bu detay önemsenir.

Ticari / tescilli lisans — "kuralları satıcı koyar"

Kaynak kod kapalıdır, kullanım koşullarını üretici belirler. Karşılığında destek, güncelleme garantisi, sorumluluk üstlenimi ve genelde daha oturmuş bir kullanıcı deneyimi alırsınız. Abonelik (SaaS), kalıcı lisans, cihaz başı veya kullanıcı başı lisans gibi alt modelleri var. Antivirüs yazılımlarında ücretsiz ve ücretli sürüm ayrımı ya da bulut depolama planları tam olarak bu kategoriye girer.

KriterGPLMIT / ApacheTicari
Kaynak koda erişimVar, zorunluVarGenelde yok
Ticari kullanımSerbestSerbestSözleşmeye bağlı
Değiştirip kapalı dağıtmaHayırEvetHayır
Türev kodu açma zorunluluğuEvet (dağıtımda)HayırKonu dışı
MaliyetÜcretsizÜcretsizÜcretli
Teknik destekToplulukToplulukSözleşmeli
Sorumluluk / garantiYokYokGenelde var
Tipik kullanımSistem yazılımlarıKütüphaneler, araçlarKurumsal ürünler

Kendime sorduğum dört soru

  1. Bu yazılımı dağıtacak mıyım? Hayırsa GPL endişesi büyük ölçüde ortadan kalkar. Evetse lisans zincirini baştan sona kontrol ederim.
  2. Ürünüm kapalı kaynak mı olacak? Öyleyse bağımlılıklarımı MIT, BSD veya Apache 2.0 tarafından seçerim.
  3. Bir aksilikte kime döneceğim? Kritik iş süreçlerinde topluluk forumu yetmiyor; ticari lisansın parasını destek için ödersiniz.
  4. Kaç kişi, kaç cihaz? Ticari lisanslarda en sık yaşanan uyumsuzluk, tek kullanıcı lisansının ekipçe paylaşılması.

Önerim

Bireysel kullanıcıysanız ve iş için kullanmıyorsanız: açık kaynak tarafından ilerleyin, GPL ya da MIT olması sizin için pratikte fark etmez. Freemium programlarda "kişisel kullanım için ücretsiz" ibaresini mutlaka okuyun — serbest meslek erbabı için burası gri alan değil, doğrudan ihlaldir.

Kendi ürününüzü geliştiriyorsanız: kapalı kaynak satacaksanız MIT/Apache bağımlılıkları, topluluk katkısı isteyip kodunuzun kapalı bir ürüne gömülmesini istemiyorsanız GPL'i seçin. Kararınızı projeye başlarken verin; sonradan lisans değiştirmek, katkı veren herkesin onayını gerektirdiği için çoğu zaman imkânsıza yakındır.

Şirket tarafındaysanız: kullanılan tüm bileşenlerin lisanslarını listeleyen basit bir envanter tutun. Yeni bir laptop al

GPU vs CPU: Oyun Oynamak İçin Hangisine Yatırım Yapmalı?Oyun performansı için grafik kartı ve işlemci arasındaki rol farkını ve bütçeye göre yatırım stratejisini öğrenin.
Thunderbolt ve USB-C Kablolar: Hız ve Uyumluluk FarklarıHızlı veri transferi için Thunderbolt ve USB-C arasındaki teknik farklılıkları ve uyumluluk sorunlarını keşfedin.
DDR4 vs DDR5 RAM: 2024'te Hangi Seçim Daha Mantıklı?Farklı DDR teknolojilerinin fiyat-performans oranını karşılaştırarak bütçenize uygun seçimi yapın.
1440p, 1080p ve 4K: Oyun İçin Doğru Çözünürlük Hangisi?Farklı monitör çözünürlüklerinin oyun deneyimi, performans ve fiyat açısından karşılaştırmasını yapın.
Qi, MagSafe ve Diğer Kablosuz Şarj StandartlarıKablosuz şarj teknolojilerinin hız, güvenilirlik ve cihaz uyumluluğunu karşılaştırın.
NVMe, M.2 ve SATA SSD: Hangisini Seçmeliyim?Farklı SSD türlerinin bağlantı şekillerini ve hız özelliklerini karşılaştırarak en iyi seçimi yapın.