Açık Kaynak Lisansları için Geliştirici Kılavuzu
Yayınlanan: 2022-03-11Tüm açık kaynak lisansları aynı değildir. Bazıları yazılım tedarikçisini, yazılımın kullanıcılarına ve geliştiricilerine patent lisansları vermekle yükümlü kılar. Diğer lisanslar, lisanslı ürünü veya kitaplığı kullanan geliştiriciyi, bu ürün veya kitaplığın kaynak kodunu aynı koşullar altında sunmakla yükümlü kılar. Diğerleri, herhangi bir garanti veya endişe olmaksızın kodu basitçe verir. Bu makalede, bir yazılım kullanıcısı ve bir yazılım geliştiricisi açısından en çok kullanılan açık kaynak lisansları arasındaki temel farkları vurgulamaya çalışacağım.
1984'te Richard Stallman, özgür bir işletim sistemi yaratmak için GNU projesine başladığında, yazılımın geliştiriciler, mühendisler ve kullanıcılar arasında paylaşılması gerektiği fikrini buldu; ve bilimin genellikle yapıldığı şekilde işbirlikçi bir şekilde geliştirebilmelidirler.
Bu seçenek, yazılım şirketlerinin ve geliştiricilerin çoğu tarafından programlarını dağıtmak ve satmak için seçilen olağan lisanslı yazılım konseptiyle çelişiyordu. Bugün, otuz yıldan fazla bir süre sonra, açık kaynaklı yazılımlar endüstrimizin geniş sektörlerini yavaş yavaş fethetmeye devam ediyor: Linux, Android, Apache ve Git, kategorilerinde önde gelen açık kaynaklı ürünlere örnektir.
Açık Kaynak mı, Özgür Yazılım mı?
Bu yazıda, yazılım veya lisanslardan bahsederken “açık kaynak” ve “ücretsiz” terimlerini eşanlamlı olarak kullanacağım. Bana göre her iki terim de aynı fikri ifade ediyor. “Açık kaynak” bunu pratik ve teknik bir şekilde ifade eder ve “Ücretsiz” kullanmak, kavramın felsefi ve politik anlamına odaklanır.
Ne yazık ki İngilizce'deki "free" kelimesi, "freedom" ile ilişkilendirilen sıfat olmanın yanı sıra "maliyetsiz" anlamına da gelmektedir. Bu yüzden genellikle “açık kaynak” demeyi tercih ediyorum.
Açık Kaynak Yazılımın Ortak Özellikleri
Açık kaynaklı yazılımın ne olduğu hakkında zaten yaklaşık bir fikriniz olduğunu varsayıyorum. Ancak farklı lisansların detaylarından bahsedeceğimiz için öncelikle açık kaynak yazılımları tanımlayan belirli özelliklerden bahsetmemiz gerekiyor.
Her şeyden önce: Ben bir avukat değilim ve bu yasal tavsiye değil. Şüpheniz olması durumunda, lütfen bahsettiğim lisansların asıl metnine ve hukuk danışmanınıza başvurun.
Açık Kaynak Girişimi'ne göre tüm açık kaynaklı yazılımlar, kullanıcılarına ve geliştiricilerine (lisans alanlar) bazı haklar veren bir lisans altında dağıtılır. Tam listeye Açık Kaynak Tanımından bakılabilir, ancak işte temel bir özet:
- Yazılımın ücretsiz yeniden dağıtımı: Yazılım, bir ürün olarak satılabilir veya başka birine verilebilir veya bir yazılım paketine dahil edilebilir. Bu, herhangi bir telif ücreti ödemeden yapılabilir.
- Lisanslı yazılımın kaynak kodu ya dağıtıma dahil edilmiştir ya da en azından kaynak kodunu elde etmenin iyi tanıtılmış yolları vardır. Bu kaynak kodu, yazılımın değiştirilmiş sürümlerini geliştirmek için kullanılabilir.
- Türetilmiş çalışmaların oluşturulmasına izin verilir ve lisans, bunların orijinal yazılımla aynı koşullar ve lisans altında dağıtılmasına izin verir. Orijinal yazılımın lisansına bağlı olarak, bazı durumlarda bu türetilmiş çalışmalar, adları veya sürüm numaraları değiştirilerek orijinal yazılımdan ayırt edilmelidir veya yalnızca kaynak kodu yamaları şeklinde dağıtılabilir.
- Yazılım herhangi bir kişi veya grup tarafından ve herhangi bir çalışma alanında herhangi bir sınırlama olmaksızın kullanılabilir.
Ancak yazılım lisanslarının yalnızca telif hakkı sahipleri tarafından verilen izinleri kullanmak veya dağıtmakla ilgili olduğunu unutmamalısınız. Açık kaynak lisansları, yazılımı veya türetilmiş çalışmaları özgürce yeniden dağıtmanıza izin verebilir, ancak bu izin, kriptografik yazılım ihracatının yasaklandığı bazı ülkelerde de kısıtlanabilir. Benzer şekilde, açık kaynak lisansları, yazılımı herhangi bir amaç için kullanmanıza izin verir, ancak bu, açık kaynaklı lisanslı yazılım kullanarak bir bankayı hacklemenize izin verdikleri anlamına gelmez. Yazılım patentleri bunun bir başka örneğidir: bazı açık kaynaklı lisanslar, patentleri özgürce kullanma izinlerini verir, ancak hepsini değil.
Peki bir ürün veya proje geliştirmede açık kaynak kodlu bir yazılım kullanabilir miyiz? Temel olarak, kullanılan yazılımın lisansına ve nihai ürün için amaçlanan lisansa bağlıdır. Farklı lisanslar, kendi kodunuzu açık kaynak olarak yayınlamak istediğinizde ve hangi lisansı kullanmanız gerektiğine karar verirken de önemlidir.
Copyleft
Açık kaynak lisanslarıyla ilgili oldukça ilginç bir kavram, genellikle telif hakkının tersi olan copyleft olarak adlandırılan şeydir. Telif hakkı, fikri mülkiyetin (yazılım dahil) kopyalanmasını veya dağıtılmasını önlemek için kullanıldığında, açık kaynaklı fikri mülkiyetin ve yazılımın açık kaynak olarak kopyalanabilmesini veya dağıtılabilmesini sağlamak için copyleft kullanılır.
Gücüne göre iki tür copyleft vardır:
- Güçlü copyleft: diğer güçlü copyleft lisanslı çalışmalardan türetilen veya bu eserlerle bağlantılı eserler, güçlü copyleft lisanslarına, hatta tam olarak aynı lisansa sahip olmaya devam etmelidir. Yani, bu açık kaynaklı işler gelecekte kapatılamaz.
- Zayıf copyleft: Zayıf copyleft lisanslı çalışmaları kullanan veya bunlarla bağlantılı çalışmalar, diğer lisanslar, hatta kapalı kaynak lisansları altında lisanslanabiliyorsa. Bu durumda, copyleft yalnızca orijinal zayıf copyleft lisanslı çalışmayı etkiler.
Copyleft içermeyen açık kaynaklı lisanslar da vardır: türetilmiş yazılımın gelecekteki açıklığı umurlarında değildir.
Serbestlik
İzin verilebilirliklerine göre, lisanslar ayrıca şu şekilde sınıflandırılabilir:
- Katı lisanslar: Güçlü lisanslı yazılımları kapalı kaynak kodlu veya hatta daha izin verilen lisanslı yazılımlarla karıştıramadığınız zaman.
- İzin verilen lisanslar: Ürünler genellikle kapalı kaynaklı yazılımlarla veya tamamen açık kaynaklı lisanslı yazılımlarla karıştırılabildiğinde.
Genellikle, güçlü copyleft lisansları da katıdır ve zayıf copyleft lisansları daha serbesttir, ancak böyle olması gerekmez.
Açık Kaynak Lisans Farkları
Birçok açık kaynak lisansı vardır. Açık Kaynak Girişimi, şimdiden 80'den fazlasını onayladı. Bazıları gereksizdir ve diğerlerine eşdeğer olarak kabul edilebilir. Diğerleri, yazılım yayıncısının ilgi alanlarına (NASA lisansı gibi) veya belirli bir ortam veya amaca (Eğitim Topluluğu Lisansı veya Açık Yazı Tipi Lisansı gibi) özeldir.
Lisansların bu şekilde yaygınlaşması, temel açık kaynak özelliklerine eklenen, diğer kullanımlara izin veren veya izin vermeyen lisanstaki belirli koşullara dayanmaktadır. Bu ek koşulların örnekleri şunları içerebilir:
- Copyleft türü: zayıf veya güçlü veya yok.
- Müsamaha türü: müsamahakar veya katı.
- Kaynak koduna veya kullanıcı arayüzüne bir telif hakkı bildirimi ekleme zorunluluğu.
- Lisans sahiplerine otomatik patent verilmesi.
- Yalnızca yazılımın dağıtıldığı taraflar değil, aynı zamanda yazılımın kullanıcıları da lisans sahibi olarak kabul edilir (böylece bu tür açık kaynaklı yazılımları kullanan bulutta bir hizmeti kullanan kişiler, kaynak kodunu indirme seçeneğine sahip olmalıdır). yazılım)
Farklı Lisanslarla Kodu Karıştırma Sorunu
Daha önce söylediğimize göre, bazı lisanslar izinlidir ve kullanıcıların kodu farklı lisanslı kaynak koduyla (belki de ek koşullarla) birleştirmesine izin verir. Bu durum, bu tür açık kaynaklı lisanslı yazılımların kapalı kaynaklı yazılımlarla karıştırılmasına izin verecektir. Bu tür bir lisansa örnek olarak MIT Lisansı verilebilir.
Diğerleri daha kısıtlayıcıdır, bu nedenle kaynak kodu yalnızca benzer şekilde lisanslanan kodla birleştirilebilir ve nihai sonucun aynı orijinal lisansla lisanslanması gerekir. Bu tür bir lisansa bir örnek Genel Kamu Lisansıdır (GPL).
Belki lisanslı kodu iki farklı kısıtlayıcı açık kaynak lisansıyla birleştirmek isteyebilirsiniz. Yazılımı istediğiniz gibi kullanmak için açık kaynak özgürlüğünü kullanarak bunu yapabilirsiniz. Ancak nihai program, birbiriyle uyumlu olmayan iki lisans altında dağıtılması gerektiğinden yeniden dağıtılamaz.
Bu duruma bir örnek ZFS idi. ZFS, 2005 yılında OpenSolaris'e dahil edilen çok gelişmiş ve yenilikçi bir dosya sistemidir. Ortak Geliştirme ve Dağıtım Lisansı (CDDL) koşulları altında lisanslanmış açık kaynaklı bir yazılımdır. Açık kaynak kodu olmasına rağmen, Linux'un kaynak kodu başka bir kısıtlayıcı açık kaynak lisansı olan Genel Kamu Lisansı koşulları altında dağıtıldığı için Linux çekirdeğine entegre edilemez. ZFS desteğiyle derlenen Linux çekirdeği ikili dosyaları, lisans çakışması nedeniyle dağıtılamaz.
Bu tür çatışmalar, yalnızca açık kaynaklı programlardan birinin tüm sahiplerinin lisansı değiştirme veya yazılım lisansına istisna koşulları ekleme konusunda anlaşmaları halinde çözülebilir. Örneğin: bir çok GPL lisanslı program OpenSSL kitaplığı ile bağlantılıdır. OpenSSL kitaplık dağıtımı, reklam materyallerinde ve herhangi bir yeniden dağıtımda bir ifadenin görünmesini gerektiren lisanslıdır. Bu ekstra koşullar GPL ile uyumlu değildir ve bu nedenle OpenSSL kullanan GPL ürünlerinin geliştiricileri, lisanslarına özellikle OpenSSL ile bağlantıya izin veren bir istisna eklemiştir.
Açık Kaynak Lisanslarının Farklı Özellikleri
Şimdi en popüler açık kaynak lisanslarını, ne zaman kullanılıp kullanılmayacaklarına dair küçük bir rehberle, farklı özelliklerine dikkat çekerek analiz etmeye çalışacağım. Kara Ördek Bilgi Bankası'na göre onları daha çok kullanılandan daha az kullanılana doğru sıraladım.
GNU Genel Kamu Lisansı (GPL)
GPL en popüler açık kaynaklı lisanstır. FSF tarafından GNU projesinin lisansı olarak oluşturulmuştur ve aynı zamanda Linux çekirdeğinin lisansıdır.
Diferansiyel özellikleri:
- Güçlü copyleft.
- Çok sıkı lisans.
- Genellikle 'viral' lisans olarak adlandırılır: kodunuzu GPL kapsamında lisanslanmış başka bir kod parçasına bağlarsanız ve sonuçları dağıtmak istiyorsanız, tüm ürünün GPL lisanslı olması gerekir.
- Bu aynı zamanda 'kapsayıcı' bir lisanstır: Bir yazılım geliştiriyorsanız ve onu GPL kapsamında lisanslamak istiyorsanız, bu yazılımın GPL ile uyumlu bir lisansı olduğu sürece, onu bağlayabilir veya başka açık kaynaklı yazılımları dahil edebilirsiniz. GPL'nin gerektirmediği herhangi bir yükümlülük gerektirmez.
Genellikle kullanılan lisans metni, yazılımın GPL sürüm N (veya daha sonraki herhangi bir sürüm) koşulları altında dağıtıldığını söyleyen metni içerir.
Şu anda kullanımda olan iki GPL lisansı sürümü bulunmaktadır: v2 ve v3. Sürüm 3, 1991'de sürüm 2'nin yayınlanmasından bu yana ortaya çıkan bazı sorunları gidermek için 2007'de yayınlandı.
GPL v3, diğer açık kaynak lisanslarıyla uyumluluk düzenlemelerini ele alan, patent lisanslamayı zorunlu kılan, GPL lisanslı yazılımları cihazlarda bellenim olarak kullanma koşullarını tanımlayan ve dijital haklar yönetimi gibi kavramları dikkate alan bazı ek maddeler ve koşullar içermektedir.
MIT Lisansı
Genellikle MIT Lisansı olarak bilinen açık kaynak lisansı, diğer adıyla X11 lisansı, telif hakkı mesajını koruduğunuz ve bildiğiniz sürece herkesin bu tür lisanslı kodu temelde istediğiniz her şey için kullanmasına izin veren, çok müsamahakar, copyleft olmayan bir lisanstır. yazılım herhangi bir garanti olmadan gelir.

Bu lisans çok popülerdir ve X Window System, Ruby on Rails, jQuery veya Node.js gibi birçok proje tarafından kullanılmaktadır.
GPL ile uyumludur, böylece MIT lisanslı kodu GPL yazılımıyla karıştırabilirsiniz.
Apache Lisansı 2.0
Apache Lisansı, Apache HTTP Sunucusu için lisans olarak Apache Software Foundation (ASF) tarafından oluşturulmuştur.
MIT Lisansı gibi, yazılımın herhangi bir amaçla kullanılmasına, dağıtılmasına, değiştirilmesine ve türetilmiş eserlerinin telif ücreti endişesi olmaksızın dağıtılmasına izin veren, çok müsamahalı, copyleft olmayan bir lisanstır. MIT Lisansına kıyasla temel farkı:
- Apache Lisansını kullanarak, yazılımın yazarları, kodun herhangi bir kullanıcısına veya dağıtıcısına patent lisansları verir. Bu patent lisansları, herhangi bir yazılım yazarı tarafından lisanslanabilir olması nedeniyle, oluşturdukları kod parçası tarafından ihlal edilecek herhangi bir patent için geçerlidir.
- Apache Lisansı, türetilmiş eserlerdeki değiştirilmemiş parçaların Lisansı tutmasını gerektiriyordu.
- Her lisanslı dosyada, orijinal telif hakkı, patent, ticari marka veya atıf bildirimleri korunmalıdır.
- Her lisanslı dosya değişikliğinde, dosyada değişiklik yapıldığını belirten bir bildirim bulunmalıdır.
- Apache lisanslı yazılım bir NOTICE dosyası içeriyorsa, bu dosya ve içeriği tüm türetilmiş çalışmalarda korunmalıdır.
- Herhangi biri kasıtlı olarak Apache lisanslı bir yazılım için yazarlarına bir katkı gönderirse, bu katkı otomatik olarak Apache Lisansı altında kullanılabilir.
Bu lisans, otomatik patent lisansı ve katkı payı sunulması ile ilgili madde nedeniyle ilgi çekicidir.
GPL ile uyumludur, böylece Apache lisanslı kodunu GPL yazılımıyla karıştırabilirsiniz.
BSD Lisansı
3 farklı BSD lisansı vardır. Hepsi, copyleft içermeyen çok serbest lisanslardır.
2 maddeli BSD Lisansı (veya Basitleştirilmiş BSD Lisansı), daha önce açıklanan MIT Lisansı ile tamamen eşdeğerdir.
3 maddeli BSD Lisansı (veya Yeni BSD Lisansı), ne telif hakkı sahibinin adının ne de katkıda bulunanların adlarının önceden özel yazılı izin olmaksızın yazılımdan türetilen ürünleri desteklemek veya tanıtmak için kullanılamayacağını belirten bir madde ekler. Bu sürüm GPL ile uyumludur ve 3 maddeli BSD lisanslı kodu GPL yazılımıyla karıştırmanıza olanak tanır.
4 maddeli BSD Lisansı (veya Orijinal BSD Lisansı), özelliklerden veya yazılımın kullanımından bahseden tüm reklam malzemelerinin, ürünün telif hakkı sahibi tarafından geliştirilen yazılımı içerdiğini belirten bir bildirim göstermesi gerektiğini belirten başka bir madde ekler. Bu 4 maddeli BSD Lisansı, GPL ile uyumlu değildir. Dördüncü madde, GPL'de gerekli olmayan bir gereklilik eklediğinden, bu lisansa sahip kod, GPL koşullarına göre yeniden lisanslanamaz.
GNU Kısıtlı Genel Kamu Lisansı (LGPL)
LGPL, FSF tarafından GPL'nin daha zayıf bir copyleft ile bir modifikasyonu olarak oluşturuldu ve LGPL lisanslı yazılımın diğer herhangi bir yazılımla bağlanmasına izin verdi. Kökeninde LGPL “Kütüphane Genel Kamu Lisansı” anlamına geliyordu, ancak daha sonra FSF'nin tüm yazılımların ücretsiz olması gerektiğini ve bu nedenle LGPL'nin olmaması gerektiğini söyleyen FSF'nin görüşünü temsil eden “Küçük Genel Kamu Lisansı” adını aldı. genellikle kullanılır.
Kapalı kaynak kodunu bir LGPL kitaplığına veya yazılımına bağlayabilir ve aşağıdaki sürece nihai sonuçları dağıtabilirsiniz:
- LGPLed parçasının kaynak kodunu, üzerinde yaptığınız tüm değişikliklerle birlikte sağlarsınız.
- Yeterli bilgiye sahip herhangi bir kullanıcı, programın LGPLed bölümünü değiştirilmiş bir sürümle değiştirebilir. Bu, programın LGPL'li bölümünü dinamik bir kitaplık olarak dağıtarak (Windows'ta DLL, Linux/Unix'te .so) veya programın LGPL'lenmemiş bölümünün nesne kodunu sağlayarak yapılabilir.
LGPL v3, GPLv3 ile uyumludur, böylece LGPLv3 kodunu GPL yazılımına girebilirsiniz.
Sanatsal Lisans
Sanatsal Lisans, şu anki 2.0 sürümünde, MIT lisansına benzer hiçbir copyleft içermeyen izin verilen bir açık kaynaklı lisanstır.
MIT lisansı ile Sanatsal Lisans arasındaki temel fark, ikincisinin kodda yapılan herhangi bir değişikliğin açıkça belirtilmesini gerektirmesidir.
Bu lisans neredeyse sadece Perl topluluğunda kullanılmaktadır.
Mevcut Sanatsal Lisans 2.0, GPL ile uyumludur: Sanatsal Lisanslı kodu GPL yazılımıyla karıştırabilirsiniz.
Microsoft Kamu Lisansı (MS-PL)
Microsoft Kamu Lisansı, 2008 yılında bu şirket tarafından Shared Source Initiative tarafından oluşturulan açık kaynak lisanslarından biri olarak oluşturulmuştur.
Bu katı, zayıf bir copyleft lisansıdır: MS-PLed kodlu kapalı kaynaklı programların oluşturulmasına ve dağıtılmasına izin verir, ancak kaynak kodunda dağıtılıyorsa türetilmiş çalışmaların lisansı olarak MS-PL'yi kullanmak zorundadır.
Şahsen bu lisansın biraz sapık ve açık kaynak ruhuna aykırı olduğunu, kodun kapatılmasına izin verdiğini ve böylece telif hakkı sahibinin yazılımla ne yapabileceğinizi umursamadığını düşünüyorum, ancak yapamazsınız. diğer copyleft kaynak koduyla karıştırılmak üzere kodu paylaşın. Yani başka bir şekilde, telif hakkı sahibi gerçekten ne yapabileceğinizi umursuyor ve Linux'u geliştirmek gibi nedenlerle kodu kullanmanızı istemiyor.
MS-PL, GPL ile uyumlu değildir.
Eclipse Kamu Lisansı (EPL)
Eclipse Kamu Lisansı, Eclipse Foundation tarafından Entegre Geliştirme Ortamı için oluşturulan lisanstır. Bu, birçok yönden LGPL'ye benzeyen, kısıtlayıcı ve zayıf bir copyleft lisansıdır. Ayrıca otomatik patent lisansı verilmesine ilişkin hükümler içerir.
EPL, GPL ile uyumlu değildir.
Mozilla Kamu Lisansı (MPL)
Mozilla Kamu Lisansı sürüm 2.0, Mozilla Vakfı tarafından ürünleri için oluşturulmuş zayıf copyleft, izin veren bir lisanstır.
Bu lisansı LGPL'ye benzer olarak düşünebiliriz, ancak ana farkla MPL'nin MPLed kod parçalarının kapalı kaynaklı yazılıma statik olarak bağlanmasına da izin vermesidir.
MPL, mevcut sürüm 2.0'da GPL ile uyumludur. Bu, MPL'nin önceki sürümleri için doğru değildir.
Ortak Geliştirme ve Dağıtım Lisansı (CDDL)
CDDL, Sun (şimdi Oracle) tarafından MPL sürüm 1.1'e dayalı olarak oluşturulan zayıf bir copyleft, izin veren bir lisanstır. Temel olarak, MPL ile aynı özelliklere sahiptir. Şartları netleştirildi, ancak önemli ölçüde değiştirilmedi.
CDDL, diğerlerinin yanı sıra OpenSolaris veya NetBeans gibi birçok ürünü için Sun (şimdi Oracle) tarafından seçilen açık kaynaklı lisanstır.
Bu lisans MPLv1.1'e dayalı olduğundan, bu lisans GPL ile uyumlu değildir, bu nedenle CDDL lisanslı kaynağı GPL lisanslı bir yazılımla karıştıramazsınız. Birçok kişi bunun kasıtlı olduğunu söylüyor, bu nedenle OpenSolaris kaynak kodu Linux çekirdeğine eklenemez.
GNU Affero Genel Kamu Lisansı (AGPL)
AGPL, GPL'nin daha da güçlü ve daha kısıtlayıcı copyleft'e sahip bir versiyonudur. Uygulamanın kaynak kodunu sadece yazılımın bir kopyasını alan kişilere değil, aynı zamanda bu yazılımı bir bilgisayar ağı üzerinden kullanan kişilere de vermekle yükümlüdür.
Bu lisans, geliştiricilere, ağ sunucularında veya bulutta yürütüldüğünde açık kaynaklı yazılımın pratik olarak kapanmasını önlemek için araçlar sağlamak için FSF tarafından oluşturulmuştur, çünkü GPL hizmet sağlayıcıları kullanıcılara kaynak kodu vermeye zorlayamaz. . Bu durumda yazılım dağıtılmaz.
AGPLv3, GPL3 ile uyumludur. Nihai sonuç AGPLv3 kapsamında lisanslandığı sürece AGPLv3 kodunu GPLv3 koduna koyabilirsiniz.
ISC Lisansı
ISC Lisansı, İnternet Yazılım Konsorsiyumu (ISC) tarafından yazılan izin verilen bir özgür yazılım lisansıdır. Gereksiz görülen bazı dilleri kaldırdıktan sonra, işlevsel olarak 2 maddeli BSD ve MIT lisanslarına eşdeğerdir.
Başlangıçta ISC'nin kendi yazılım sürümleri için kullanıldı, o zamandan beri diğer projelerin yanı sıra OpenBSD'nin (Haziran 2003'ten itibaren) tercih edilen lisansı haline geldi.
GPL ile uyumludur: ISC lisanslı kodu GPL yazılımıyla karıştırabilirsiniz.
Microsoft Karşılıklı Lisansı (MS-RL)
Microsoft Karşılıklı Lisansı, 2008 yılında bu şirket tarafından Shared Source Initiative tarafından oluşturulan açık kaynaklı lisanslardan biri olarak oluşturulmuştur.
Daha önce açıklanan MS-PL'ye benzer, ancak biraz daha güçlü copyleft'e sahip, LGPL, CDDL ve EPL'nin koşullarına benziyor. Kodunuzu MS-RL lisanslı kaynak koduyla karıştırırsanız ve nihai sonuçları dağıtmak istiyorsanız, en azından orijinal MS-RL lisanslı parçanın bu lisansla lisanslanmaya devam etmesi gerekir.
GPL ile uyumlu değil.
Kamu Alanı (CC0)
Wikipedia'ya göre, "kamu malı olan eserler, fikri mülkiyet hakları sona ermiş, kaybedilen veya uygulanamayan eserlerdir". Bir eseri kamu malı olarak tahsis eden yazar, telif hakkı kanunu uyarınca eser üzerindeki tüm haklarından feragat eder.
Public Domain altında birkaç yazılım projesi vardır, örneğin Mozilla projeleri, Android vb. gibi diğer birçok projede yer alan, gömülebilir ve basit bir SQL veritabanı motorunu uygulayan kitaplık SQLite.
Bir yazılım parçasını kamuya tahsis etmenin birçok yolu vardır. Creative Commons, bir çalışmayı kamu malı haline getirmenin evrensel bir yolu olan CC0 Public Domain Dedication'ı yarattı. FSF, yazılımı kamuya tahsis etmek için bu metnin kullanılmasını önerir.
Kamu malı kapsamındaki çalışmalar, herhangi bir açık veya kapalı kaynak lisansıyla uyumludur ve herhangi bir başka yazılımla karıştırılabilir.
Çoklu Lisanslama
Çift hatta üçlü lisanslı bazı açık kaynaklı yazılımlar var. Bu, bu çok lisanslı yazılımı alan bir kişinin, hangi lisans altında dağıtmak istediğini seçebileceği anlamına gelir. Her lisans farklı izinler verdiği ve farklı yükümlülükler getirdiği için ihtiyaca en uygun lisans seçimi yapılmalıdır.
Bu, bazı kütüphaneler için olağan bir durumdur. Örneğin, NSS, güvenlikle ilgili diğer özelliklerin yanı sıra SSL/TLS desteği uygulayan Mozilla tarafından yapılmış bir kitaplıktır. MPL, GPL ve LGPL lisansları kapsamında üç kez lisanslanmıştır.
Lütfen, Bir Lisans Seçin
Pek çok kişi herhangi bir yazılı lisansa sahip olmadan GitHub olarak platformlarda kod yayınlıyor. Kimse o kodu kullanmamalı. Kullanmak için hangi izinlere sahip olduğumuz hakkında hiçbir fikrimiz yok. Eğer kullanırsanız, bunun için dava açabilirsiniz. Sanki bu insanlar "Hey, bakın ne yaptım! Harika, değil mi? Ama kullanamazsın, sadece sana göstermek istedim!”.
Lütfen onlardan biri olma. Kodunuzu GitHub veya benzeri genel sitelere yüklerseniz, başkalarının kodu kullanmasına ve geliştirmesine izin verin. Çok düşünmek istemiyorsanız, önerilerim şunlar:
- Basit ve müsamahakar tutmak, size atıfta bulunmaları ve sizi sorumlu tutmamaları koşuluyla herkesin kodunuzla istediğini yapmasına izin vermek istiyorsanız, MIT Lisansını kullanın.
- Herkesin kodunuzla istediğini yapmasına izin vererek, ancak telif hakkı yasası kapsamındaki hakları akıllıca sıralayarak ve bu hakları vererek, katkıda bulunanlardan kullanıcılara açık bir patent hakkı verilmesini sağlayarak, izin verilmesini istiyorsanız, Apache 2.0 Lisansını kullanın. .
Değişiklikleri paylaşmayı önemsiyorsanız ve kodunuzun kapalı geliştirmelerde (ne kapalı yazılım ürünlerinde ne de kapalı donanım araçlarında) kullanılmasını istemiyorsanız GPL v3 kullanın.
- Yazılımınızın kapalı bir cihazda kullanılma olasılığını umursamıyorsanız, GPL v2 kullanın. Ama lütfen "veya herhangi bir sonraki sürüm" cümlesini kullanın, böylece kodunuz GPLv3 projelerinde de kullanılabilir.
- Yazılımınız veya onu kullanan kısım aynı şartlar altında açık kaynak olarak kaldığı sürece, yazılımınızın kapalı yazılımlarda kullanılma olasılığını umursamıyorsanız, LGPL v3 kullanın.
- Yazılımınızı bir ağ üzerinden kullanan herkesin kaynak kodunu alma hakkına sahip olmasını istiyorsanız, AGPL v3 kullanın.
Bütün bunlardan sonra, tüm bu neredeyse saçma sapan yarı yasal anlamsız kelimelerden bıkmış olabilirsiniz. Ama ne biliyor musun? Bu gerekli. Çünkü bir lisans olmadan, herhangi bir kodu kullanma veya dağıtma hakkına sahip değilsiniz.