Yazılım Lisansları: GPL, MIT, Ticari Lisans Arasındaki Fark
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.
| Kriter | GPL | MIT / Apache | Ticari |
|---|---|---|---|
| Kaynak koda erişim | Var, zorunlu | Var | Genelde yok |
| Ticari kullanım | Serbest | Serbest | Sözleşmeye bağlı |
| Değiştirip kapalı dağıtma | Hayır | Evet | Hayır |
| Türev kodu açma zorunluluğu | Evet (dağıtımda) | Hayır | Konu dışı |
| Maliyet | Ücretsiz | Ücretsiz | Ücretli |
| Teknik destek | Topluluk | Topluluk | Sözleşmeli |
| Sorumluluk / garanti | Yok | Yok | Genelde var |
| Tipik kullanım | Sistem yazılımları | Kütüphaneler, araçlar | Kurumsal ürünler |
Kendime sorduğum dört soru
- 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.
- Ürünüm kapalı kaynak mı olacak? Öyleyse bağımlılıklarımı MIT, BSD veya Apache 2.0 tarafından seçerim.
- Bir aksilikte kime döneceğim? Kritik iş süreçlerinde topluluk forumu yetmiyor; ticari lisansın parasını destek için ödersiniz.
- 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