Açık kaynaklı yazılımlar her geçen gün daha da yaygınlaşıyor. Artık herkes açık kaynaklı yazılımlarla karşılaşıyor, en basit örnek Android işletim sistemi. Bugün sadece bireysel geliştiriciler değil, dev şirketler de (örneğin Google, Meta, Microsoft) açık kaynak projelerine büyük yatırımlar yapıyor.
Eğer siz de açık kaynaklı bir yazılım, kütüphane ya da iskelet (framework) geliştirmek istiyorsanız ya da açık kaynaklı bir yazılım kullanacaksanız lisanslama hakkında bir şeyler öğrenmelisiniz. Bu yazımda kısaca revaçta olan açık kaynak lisanslarından bahsedeceğim. Ayrıca, hangi lisansın hangi durumlarda daha uygun olabileceğine dair kısa ipuçları da ekledim.
Açık Kaynak Lisanslarının Faydaları
Konuya girmeden önce, açık kaynaklı lisansların faydalarına kısaca değineceğim. Açık kaynak lisansları, özel izin istemeksizin bir projeye katkıda bulunmayı kolaylaştıran yetkilerdir. Yazılan yazılımın kolayca paylaşılmasını ve ortadaki bürokratik engellerin kalkmasını sağlar.
Ayrıca paylaşılan yazılımın yazarını koruyarak yazarın yaptığı katkıların unutulmamasını sağlar. Bunun yanında, lisanslar hem projeye güven kazandırır hem de ekosistemde sürdürülebilir bir topluluk oluşmasına yardımcı olur.
GNU General Public License
GNU çokça kullanılan bir lisans olup aşağıdakileri sağlar.
- Kopyalayabilirsiniz.
- Dağıtabilirsiniz.
- İstediğiniz değişiklikleri yapabilirsiniz.
- Yazılımın her yeni versiyonu bu lisansı kullanmak zorundadır.
GPL lisansları “copyleft” yaklaşımını benimser; yani, değiştirilmiş sürümler de aynı lisansla paylaşılmalıdır. Bu, yazılım özgürlüğünü koruyan güçlü bir mekanizmadır.
BSD License
Genel itibariyle GNU lisansına benziyor ama yeni bir lisans ile ürünü tekrar dağıtabilirsiniz. BSD, geliştiricilere daha fazla esneklik sağlar; ticari kullanımda kısıtlamaları minimumdur. Bu nedenle özellikle startup ve ticari projelerde sıkça tercih edilir.
MIT License
En çok kullanılan lisanslardan biridir diye tahmin ediyorum. Aşağıdaki özelliklere sahiptir.
- Yazılımı dağıtabilirsiniz.
- Yazılımı satabilirsiniz ve kaynak kodunu sağlamak zorunda değilsiniz.
- Kaynak kodunu alan herkes değiştirebilir, yeni versiyonlarını yayınlayabilir.
- Ticari olarak kullanabilirsiniz.
MIT lisansı, “en basit ama en yaygın” lisans olarak bilinir. Yalnızca orijinal yazarın sorumluluk kabul etmediğini belirten kısa bir ibare içerir.
Apache License
Apache lisansı aşağıdakileri sağlar.
- Tüm kopyaları, değiştirilmiş veya değiştirilmemiş, lisansın bir kopyası eşliğinde dağıtılabilir yada kullanılabilir.
- Bütün değişiklikler, değiştirilmiş olarak işaretlenmelidir.
- Ticari olarak kullanabilirsiniz.
Ayrıca, Apache 2.0 lisansı patent koruması sağlar. Bu, yazılımınızın yasal açıdan daha güvenli olmasını sağlar.
Creative Commons
Bu lisans türleri çok gözde değildir. Bu lisans türleri 4 farklı şekilde karşımıza çıkabilir:
- (Attribution) BY
- Share-Alike (SA)
- Non-Commercial (NC)
- No-Derivative (ND)
Creative Commons genellikle yazılımlar için değil; dokümantasyon, blog yazıları, fotoğraflar veya videolar gibi içerikler için uygundur. Yazılım projelerinde bu lisanslar yerine genelde MIT veya Apache önerilir.
Aşağıda lisanslar için hazırladığım tabloyu veriyorum.
| Lisans | Yapabilecekleriniz | Yapamayacaklarınız | Zorunda Olduklarınız | En Uygun Senaryo | Notlar |
|---|---|---|---|---|---|
| GNU GPL | Dağıtım, değişiklik, ticari kullanım | Özel lisansla kapalı olarak yeniden dağıtamazsınız | Türevleri aynı lisansla paylaşma (copyleft) | Topluluk öncelikli özgür yazılımlar | Copyleft güçlüdür; lisans uyumluluğuna dikkat |
| MIT | Dağıtım, satış, değişiklik, ticari kullanım | Yazarı sorumlu tutamazsınız | Telif ve lisans metnini koruma | Basit kütüphaneler, JS/TS paketleri | Minimal şartlar; çok yaygın |
| Apache 2.0 | Dağıtım, değişiklik, ticari kullanım | Yazar/katkıcı isimlerini izinsiz pazarlama amacıyla kullanamazsınız | Telif, lisans metni, değişiklik bildirimi | Kurumsal projeler, patent riski olan alanlar | Patent koruması sağlar; güvenli kurumsal tercih |
| BSD (2/3-Clause) | Dağıtım, değişiklik, ticari kullanım | Orijinal telif bildirimlerini kaldıramazsınız | Telif bildirimi ve feragatnameyi koruma | Akademik veya kurumsal sistem araçları | MIT’e benzer; bazı varyantlarda ek madde bulunur |
| Creative Commons (BY/SA/NC/ND) | İçerik kopyalama/dağıtım; türev (BY/SA) | NC’de ticari kullanım yok; ND’de türev çalışma yok | Atıf (BY), aynı lisansla paylaş (SA) | Dokümantasyon, blog, medya içerikleri | Yazılım için değil, içerik için uygundur |
Lisanslama Nasıl Yapılır?
Lisanslamak için yapmanız gereken, lisansınızın tam kopyasını projenizin içine LICENSE adlı bir dosyaya koymaktır. Bunu haricinde yazılan her dosyanın başına lisans bilgisini koymak faydalıdır. Ayrıca GitHub veya GitLab gibi platformlarda lisans seçeneğini depo oluştururken eklemek, görünürlüğü ve güveni artırır.
Açık kaynak sadece bir yazılım modeli değil, aynı zamanda bilgi paylaşımı kültürüdür. Doğru lisansı seçmek, hem projenizin büyümesini hem de emeğinizin korunmasını sağlar. Daha fazla bilgi için:
