“GPL”, “Genel Kamu Lisansı” anlamına gelir. Bunun gibi en yaygın lisans, GNU Genel Kamu Lisansı veya kısaca GNU GPL'dir. GNU GPL'nin kastedilen olduğu anlaşıldığında bu “GPL” şeklinde daha da kısaltılabilir.
Hiç de değil, başka birçok özgür yazılım lisansı da var. Eksik bir listemiz var. Kullanıcıya belirli özgül özgürlükleri sağlayan herhangi bir lisans özgür bir yazılım lisansıdır.
GNU GPL'yi kullanmak, yayımlanan tüm iyileştirilmiş sürümlerin özgür yazılım olmasını gerektirecektir. Bu; kendi çalışmanızın özel mülk, değiştirilmiş bir sürümüyle rekabet etme tehlikesinden kaçınabileceğiniz anlamına gelir. Ancak bazı özel durumlarda daha hoşgörülü bir lisans kullanmak daha iyi olabilir.
Çoğu GNU yazılım paketi, GNU GPL'yi kullanır ancak Kısıtlı GPL gibi daha esnek lisanslar kullanan birkaç GNU programı (ve programların parçaları) vardır. Bunu yaptığımızda bu bir strateji meselesidir.
Herhangi birisi GNU GPL altında bir program yayımlayabilir ancak bu onu GNU paketi yapmaz.
Programı bir GNU yazılım paketi yapmak, GNU Projesi'ne açıkça katkıda bulunmak anlamına gelir. Bu; programın geliştiricileri ve GNU Projesi bunu yapmayı kabul ettiğinde olur. GNU Projesi'ne bir program katkısında bulunmak istiyorsanız lütfen <maintainers@gnu.org> adresine yazın.
Bunu bildirmelisin. İlk olarak gerçekleri olabildiğince iyi kontrol edin. Ardından özgül GPL kapsamındaki programın yayıncısına veya telif hakkı sahibine söyleyin. Bu, Özgür Yazılım Vakfı ise <license-violation@gnu.org> adresine yazın. Aksi takdirde programın bakımcısı telif hakkı sahibi olabilir, değilse telif hakkı sahibiyle nasıl iletişim kurabileceğinizi size söyleyebilir, bu yüzden bunu bakımcıya bildirin.
Özgür yazılımın çok önemli bir yönü, kullanıcıların iş birliği yapmakta özgür olmalarıdır. Birbirlerine yardım etmek isteyen kullanıcıların hata düzeltmelerini veya iyileştirmelerini diğer kullanıcılarla paylaşmasına izin vermek kesinlikle gereklidir.
Bazıları, GPL'ye özgün yazarın onaylaması için değiştirilmiş sürümler talep eden alternatifler önerdi. Özgün yazar bakım gereksinimini karşıladığı sürece, bu pratikte iyi işleyebilir, ancak yazar başka bir şey yapmak için (az veya çok) durursa veya tüm kullanıcıların gereksinimlerini sağlamazsa bu plan başarısız olur. Pratik sorunların yanı sıra bu plan, kullanıcıların birbirlerine yardım etmesine izin vermez.
Bazen değiştirilmiş sürümler üzerinde denetim, kullanıcılar tarafından yapılan çeşitli sürümler arasındaki karışıklığı önlemenin bir yolu olarak önerilmektedir. Deneyimlerimize göre bu karışıklık büyük bir sorun değildir. Emacs'ın birçok sürümü, GNU Projesi dışında yapılmıştır ancak kullanıcılar, bunları birbirinden ayırabilir. GPL; bir sürümün yapıcısının ona adını koymasını, diğer sürümlerden onu ayırmasını ve diğer bakımcıların itibarını korumasını gerektirir.
GPL, değiştirilmiş sürümünüzü veya onun herhangi bir bölümünü yayımlamanızı gerektirmez. Onları hiç yayımlamadan, özel olarak değişiklik yapmakta ve kullanmakta özgürsünüz. Bu, şirketler de dâhil olmak üzere kuruluşlar için de geçerlidir; bir kuruluş değiştirilmiş bir sürüm yapabilir ve kuruluş içinde kalacak şekilde onu kullanabilir.
Ancak eğer değiştirilmiş sürümü bir şekilde kamuya yayımlarsanız, GPL, değiştirilmiş kaynak kodunu programın kullanıcılarına GPL altında erişilir kılmanızı gerektirir.
Böylece GPL değiştirilmiş programı başka durumlarda değil, belli durumlarda yayımlama izni verir; ancak yayımlayıp yayımlamama kararı size kalmıştır.
Evet.
Hayır. GPL; bir kişiye programın kopyalarını yapma ve yeniden dağıtma izni verir ancak ve eğer bu kişi öyle yapmayı seçtiğinde. Bu kişi programı yeniden dağıtmamayı seçme hakkına da sahiptir.
Yazılı bir teklif yoluyla kaynak sağlamayı seçerseniz sizden kaynağı isteyen herkese bunu alma hakkını verirsiniz.
Kaynak kodla birlikte olmayan ikilileri ticari olarak dağıtırsanız GPL, kaynak kodunu daha sonra dağıtmak için yazılı bir teklif sağlamanız gerektiğini söylüyor. Kullanıcılar sizden aldıkları ikilileri ticari olmadan yeniden dağıttıklarında bu yazılı teklifin bir kopyasını aktarmalıdır. Bu; ikilileri sizden edinmeyen kişilerin, yazılı teklifle birlikte kaynak kodun kopyalarını hâlâ alabileceği anlamına gelir.
Teklifin herhangi bir üçüncü taraf için geçerli olmasını gerektirmemizin nedeni, ikilileri dolaylı olarak bu şekilde alan kişilerin kaynak kodunu sizden talep edebilmesidir.
Bölüm 2, dağıttığınız değiştirilmiş sürümlerin GPL altında tüm üçüncü lisanslanması gerektiğini söylüyor. “Tüm üçüncü taraflar” kesinlikle herkes anlamına gelir, ancak bu, onlar için fiziksel olarak herhangi bir şey yapmanızı gerektirmez. Bu yalnızca sizin sürümünüz için GPL altında sizden bir lisansa sahip oldukları anlamına gelir.
Değişiklikleriniz için bir telif hakkı talep etmeniz gerekmez. Bununla birlikte çoğu ülkede bu varsayılan olarak, otomatik olarak gerçekleşir, bu nedenle onların telif hakkını elde etmelerini istemiyorsanız değişikliklerinizi açıkça kamuya açık bir şekilde yerleştirmeniz gerekir.
Değişiklikleriniz üzerinde bir telif hakkı talep etseniz de etmeseniz de her iki şekilde de değiştirilmiş sürümü, bir bütün olarak, GPL altında yayımlamanız gerekir (eğer değiştirilmiş sürümünüzü herhangi bir şekilde yayımlarsanız).
Telif hakkı yasası gereğince bir eserin çevirisi, bir tür değişiklik olarak düşünülür. Bu nedenle GPL'nin değiştirilmiş sürümler hakkında söyledikleri, çevrilmiş sürümler için de geçerlidir. Çeviri, özgün programın telif hakkı kapsamındadır.
Özgün program özgür bir lisans taşıyorsa bu lisans onun çevrilmesi için izin verir. Çevrilen programı nasıl kullanabileceğiniz ve lisanslayabileceğiniz bu lisans tarafından belirlenir. Özgün program GNU GPL'nin belli sürümleri altında lisanslanmışsa çevrilen program GNU GPL'nin aynı sürümleri tarafından kapsanmalıdır.
Hangi bölümün kamu malı olduğunu anlayabilir ve geri kalanından onu ayırabilirseniz bunu yapabilirsiniz. Kod, geliştirici tarafından kamu malı şeklinde konduysa onun nerede olduğu önemli değildir.
Evet, GPL herkesin bunu yapmasına izin veriyor. Kopyaları satma hakkı, özgür yazılım tanımının bir parçasıdır. Özel bir durum dışında hangi fiyattan ücretlendirebileceğiniz konusunda bir sınır yoktur. (Bunun tek istisnası, yalnızca ikili sürümle birlikte gelmesi gereken kaynak kodu sağlamak için gerekli yazılı tekliftir.)
Evet. Programın bir kopyasını dağıtmak için istediğiniz herhangi bir ücreti talep edebilirsiniz. GPLv2 altında ikilileri indirerek dağıtırsanız kaynağın indirilebilmesi için “eşit erişim” sunmanız gerekir—bu nedenle kaynağı indirme ücreti, ikiliyi indirme ücretinden fazla olamaz. Dağıtılan ikililer, GPLv3 altında lisanslandıysa kaynak koduna aynı yer üzerinden aynı şekilde başka ek ücret ödemeden eşit erişim sunmanız gerekir.
Hayır. Doğrusu böyle bir zorunluluk programı özgür olmayan bir program yapacaktır. İnsanlar, bir programın bir kopyasını edinirken ödeme yapmak zorunda kalıyorlarsa veya özellikle herhangi birisine bildirmeleri gerekiyorsa o zaman program özgür değildir. Özgür yazılım tanımına bakabilirsiniz.
GPL özgür bir yazılım lisansıdır ve bu nedenle insanların bunu yapması için herhangi bir kimseye bir ücret ödemesine gerek kalmadan yazılımı kullanmasına ve hatta yeniden dağıtmasına izin verir.
Sizden bir kopya edinmeleri için insanlardan bir ücret talep edebilirsiniz. Başka birisinden bir kopya edindiklerinde insanlardan sana ödeme yapmasını talep edemezsiniz.
Hayır. Ancak birisi ücretinizi öder ve bir kopya edinirse GPL ona, ister ücretli isterse ücretsiz olarak, kamuya yayımlama özgürlüğünü verir. Örneğin; birisi ücretinizi ödeyebilir ve daha sonra kopyasını kamu için bir web sitesine koyabilir.
Hayır. GPL, sizden bir kopya alan herhangi birisinin değiştirilmiş veya değiştirilmemiş kopyaları yeniden dağıtma hakkına sahip olduğunu söylüyor. Çalışmayı herhangi bir daha kısıtlayıcı durumda dağıtmanıza izin verilmez.
Birisi sizden FSF tarafından telifli, GPL kapsamındaki yazılımı alabilmeniz için bir NDA imzalamanızı isterse lütfen license-violation@fsf.org adresine yazarak hemen bizi bilgilendirin.
İhlal, başka bir telif hakkı sahibi olan GPL kapsamındaki kodu içeriyorsa lütfen GPL'nin başka herhangi bir ihlal türü için yaptığınız gibi telif hakkı sahibini bilgilendirin.
Hayır. GPL, değiştirilmiş sürümlerinizin GPL'de belirtilmiş tüm özgürlükleri taşıması gerektiğini söylüyor. Böylece sizden sürümünüzün bir kopyasını alan herhangi birisi, bu sürümün (değiştirilmiş veya değiştirilmemiş) kopyalarını yeniden dağıtma hakkına sahiptir. Çalışmanın herhangi bir sürümünü daha kısıtlayıcı bir durumda dağıtamazsınız.
Evet. Örneğin; değişiklikleri geliştirmek için bir sözleşmeyi kabul edebilir ve müşteri onayladığını söyleyene kadar değişikliklerinizi yayımlamamayı kabul edebilirsiniz. Buna izin verilir çünkü bu durumda bir NDA altında GPL kapsamındaki kod dağıtılmaz.
Ayrıca GPL altında yaptığınız değişiklikleri müşteriye yayımlayabilirsiniz ancak müşteri onayladığını söylemedikçe onları başka herhangi bir kimseye yayımlamamayı kabul edersiniz. Bu durumda da bir NDA altında veya herhangi bir ek kısıtlama altında GPL kapsamındaki kod dağıtılmaz.
GPL, müşteriye sürümünüzü yeniden dağıtma hakkını verir. Bu senaryoda müşteri muhtemelen bu hakkı kullanmamayı seçecektir ancak hakka sahiptir.
Kesinlikle çalışma için beğeni toplayabilirsiniz. GPL altında bir program yayımlamanın bir kısmı, (telif hakkı sahibi olduğunuzu varsayarak) kendi adınıza bir telif hakkı bildirimi yazmaktır. GPL, tüm kopyaların uygun bir telif hakkı bildirimi taşımasını gerektirir.
Hayır, GPL'nin koşulları gereğince buna izin verilmez. Uygun atıfın akademik yayınların önemli bir parçası olduğunu kabul etsek de atıf, GPL'ye ek bir zorunluluk olarak eklenemez. GPL'li yazılımı kullanan araştırma makalelerinde atıfta bulunulmasının talep edilmesi, GPLv3'ün 7(b) bölümü gereğince kabul edilebilir bir ek zorunluluğun ötesine geçmektedir ve bu nedenle GPL'nin 7. Bölümü gereğince ek bir kısıtlama olarak kabul edilecektir. Ve telif hakkı yasası, GPL veya başka bir lisans koşulları altında lisanslı olup olmadığına bakılmaksızın yazılım çıktısı üzerinde böyle bir zorunluluk koymanıza izin vermez.
Programın bir kopyasını edinen herkesin haklarının ne olduğunu bilebilmesi için lisansın bir kopyasını çalışmayla bünyesinde bulundurmak, çok önemlidir.
Lisansın kendisi yerine lisanstan söz eden bir URL eklemek cazip görünebilir. Ancak URL'nin bundan beş yıl veya on yıl sonra hâlâ sağlam olacağından emin olamazsınız. Bundan yirmi yıl sonra bugün bildiğimiz URL'ler artık mevcut olmayabilir.
Programın kopyalarına sahip olan kişilerin ağda gerçekleşecek tüm değişikliklere karşın lisansı görebilmeye devam edeceklerinden emin olmanın tek yolu, lisansın bir kopyasını programa dâhil etmektir.
Yalnızca deponuzdaki bir dosyaya GNU GPL'nin bir kopyasını koymak, aynı depodaki kodun GPL altında kullanılabileceğini açıkça belirtmez. Böyle bir beyan olmadan lisanstaki izinlerin herhangi bir belirli dosya için gerçekten önemli olduğu tamamen net değildir. Tüm kuşkuları ortadan kaldırdığını söyleyen belirgin bir beyan.
Yalnızca bir lisans içeren bir dosya, diğer belli dosyaların bu lisans tarafından kapsandığına dair bir beyan olmaksızın, yalnızca hiçbir zaman başka bir yerden çağrılmayan bir alt yordam içeren bir dosyayı andırır. Benzerlik mükemmel değil: Hukukçular ve mahkemeler sağduyulu olabilir ve kodu bu şekilde lisanslamak istediğiniz için GNU GPL'nin kopyasını oraya koymuş olmanız gerektiği sonucuna varabilirler. Ya da varmayabilirler. Neden bir belirsizlik bırakalım?
Bu beyan, her kaynak dosyada olmalıdır. Programın README dosyasındaki net bir beyan, kodun beraberinde geldiği sürece hukuken yeterlidir ancak onların ayrılmaları kolaydır. Neden kodunuzun lisansı konusunda belirsizlik riski alıyorsunuz?
Bunun, GNU GPL'nin ayrıntılarıyla hiçbir ilgisi yoktur. Bu, herhangi bir özgür lisans için geçerlidir.
Kodun lisansından ayrılma riskini önlemek için her kaynak dosyanın başına hangi lisansı taşıdığını belirten bir bildirim koymalısınız. Deponuzun README'si kaynak dosyanın GNU GPL altında olduğunu söylüyorsa birisi bu dosyayı başka bir programa kopyalarsa ne olur? Bu diğer bağlam, dosyanın lisansının ne olduğunu göstermeyebilir. Başka bir lisansı varmış veya herhangi bir şekilde lisansı yokmuş (bu da kodu özgür olmayan yapar) gibi gözükebilir.
Her kaynak dosyanın başına bir telif hakkı bildirimi ve bir lisans bildirimi eklemek kolaydır ve bu gibi karışıklığı olası kılmaz.
Bunun, GNU GPL'nin ayrıntılarıyla hiçbir ilgisi yoktur. Bu, herhangi bir özgür lisans için geçerlidir.
Bütün bir yazılım paketi çok az kod içeriyorsa (kullandığımız ölçüt, 300 satırdan az olmasıdır) GNU GPL gibi copyleft bir lisans yerine bunun için esnek, hoşgörülü bir lisans kullanabilirsiniz. (Yani kod özellikle önemli değilse.) Bu gibi durumlar için Apache Lisansı 2.0'ı öneriyoruz.
Önsöz ve talimatlar; GNU GPL'nin önemli kısımlarıdır ve atlanamaz. Doğrusu GPL'nin telif hakkı vardır ve lisansı, yalnızca birebir kopyalanmasına izin verir. (Yasal koşulları başka bir lisans yapmak için kullanabilirsiniz ancak bu GNU GPL olmayacaktır.)
Önsöz ve talimatlar, GPL'nin toplam boyutunun 1/5'inden daha az olan aşağı yukarı 1.000 sözcüğe tekabül eder. Paketin kendisi epey küçük olmadıkça bir yazılım paketinin boyutunda büyük bir oransal değişiklik oluşturmayacaklardır. Bu durumda GNU GPL yerine yalın, tam hoşgörülü bir lisans da kullanabilirsiniz.
İki programı (veya onların büyük bölümlerini) daha büyük bir çalışmaya birleştirmek için her iki programı da bu şekilde kullanma izninizin olması gerekir. İki programın lisansı buna izin veriyorsa onlar uyumludur. Her iki lisansı aynı anda yerine getirmenin yöntemi yoksa onlar uyumsuzdur.
Bazı lisanslar için birleştirmenin yapıldığı yöntem, uyumlu olup olmadıklarını etkileyebilir: örneğin; iki modülün birbirine bağlanmasına izin verebilirler ancak kodlarının bir modüle birleştirilmesine izin vermeyebilirler.
Aynı sisteme yalnızca iki ayrı program kurmak istiyorsanız onların lisanslarının uyumlu olması gerekmez çünkü bu onları daha büyük bir çalışmada birleştirmez.
Bu; diğer lisansın ve GNU GPL'nin uyumlu olduğu anlamına gelir; GNU GPL altında yayımlanmış kodla diğer lisans altında yayımlanmış kodu daha büyük bir programda birleştirebilirsiniz.
Tüm GNU GPL sürümleri, bu tür birleştirmelere özel olarak izin verir; aynı GNU GPL sürümü altında yayımlanması koşuluyla bu gibi bileşimlerin dağıtımına da izin verirler. Diğer lisans da buna izin veriyorsa diğer lisans, GPL ile uyumludur.
GPLv3, GPLv2'den daha fazla lisansla uyumludur. GPLv3 kendisinde olmayan özgül ek gereksinim türlerine sahip olan kodla birleştirmeler yapmanıza izin verir. Bölüm 7'de buna izin verilen ek gereksinimlerin listesi de dâhil olmak üzere daha fazla bilgi bulunmaktadır.
Bunu yaparsanız programınız özgür bir ortamda tamamen kullanılabilir olmayacaktır. Programınız belli bir işi yapmak için özgür olmayan bir kütüphaneye bağımlıysa bu işi Özgür Dünya'da yapamaz. Özgür olmayan bir kütüphanenin çalışmasına zerre kadar bağımlıysa GNU gibi özgür bir işletim sisteminin parçası olamaz; tamamen Özgür Dünya'nın sınırları dışındadır.
Lütfen düşünün: Bu kütüphaneyi kullanmadan işi halletmenin bir yolunu bulabilir misin? Bu kütüphanenin yerine geçecek özgür bir alternatif yazabilir misin?
Program zaten özgür olmayan kütüphane kullanılarak yazılmışsa belki kararı değiştirmek için çok geç. Programı yayımlamamak yerine olduğu gibi yayımlayabilirsiniz. Ancak lütfen README'de özgür olmayan kütüphaneye olan gereksinimin bir dezavantaj olduğunu belirtin ve özgür olmayan kütüphane olmadan aynı işi yapması için değiştirme görevini önerin. Lütfen program üzerinde ek bir çalışma yapmayı düşünen herhangi bir kimseye öncelikle programı özgür olmayan kütüphaneye bağımlılıktan kurtarmasını önerin.
Bazı özgür olmayan kütüphanelerin GPL kapsamındaki özgür yazılımlarla birleştirilmesiyle ilgili hukuki sorunlar da olabileceğini unutmayın. Daha fazla bilgi için lütfen GPL uyumlu olmayan kütüphanelerle GPL yazılımı ile ilgili soruya bakın.
GPL'nin her iki sürümü de genellikle sistem kütüphanesi istisnası olarak adlandırılan onların copyleft'lerinin bir istisnasına sahiptir. Kullanmak istediğiniz GPL uyumlu olmayan kütüphaneler, bir sistem kütüphanesi olarak ölçütü karşılıyorsa bu durumda onları kullanmanız için özel herhangi bir şey yapmanız gerekmez; bütün program için kaynak kodunu dağıtma zorunluluğu, onları içeren bağlanmış bir yürütülebilir dosyayı dağıtsanız bile, bu kütüphaneleri içermez.
“Sistem kütüphanesi” olarak sayılan ölçütler, GPL'nin farklı sürümleri arasında değişiklik gösterir. GPLv3, “İlgili Kaynak” tanımından hariç tutmak için 1. bölümdeki “Sistem Kütüphaneleri”ni açıkça tanımlar. GPLv2, bu konuyu 3. bölümün sonuna doğru biraz farklı bir şekilde ele almaktadır.
Bu lisansların her biri kodu başka lisanslarla bağlamaya izin veriyor. GPLv3 kapsamındaki modülleri her zaman AGPLv3 kapsamındaki modüllerle bağlayabilirsiniz, tersi de doğrudur. Bu durum modüllerin kütüphane olup olmamasından bağımsızdır.
Programınızın sistem kütüphanesi istisnası kapsamında olmayan bir kütüphaneye bağlanmasını bağlanmasını istiyorsanız bunu yapmanız için izin sağlamanız gerekir. Aşağıda bunu yapmak için kullanabileceğiniz iki örnek lisans bildirimi vardır; biri GPLv3 için, diğeri GPLv2 için. Her iki durumda da bu metni bu izni verdiğiniz her dosyaya koymalısınız.
Yalnızca programın telif hakkı sahipleri yazılımlarını bu koşullar altında yasal olarak yayımlayabilir. Tüm programı kendiniz yazdıysanız, ayrıca işvereninizin veya okulunuzun telif hakkı talebinde bulunmadığını varsayarsak telif hakkı sahibisiniz, bu nedenle istisnayı yetkili kılabilirsiniz. Ancak kodunuzdaki diğer yazarlar tarafından GPL kapsamındaki programların parçalarını kullanmak istiyorsanız onlar için istisnayı yetkili kılamazsınız. Bu programların telif hakkı sahiplerinin onayını almak zorundasınız.
Diğer insanlar programı değiştirdiğinde kodları için aynı istisnayı yapmak zorunda kalmazlar, öyle yapıp yapmamak onların seçimidir.
Bağlamak niyetinde olduğunuz kütüphaneler özgür değilse lütfen özgür olmayan kütüphaneler kullanan Özgür Yazılım yazma ile ilgili bölüme de bakın.
GPLv3 kullanıyorsanız 7. bölüm gereğince ek bir izin vererek bu hedefi gerçekleştirebilirsiniz. Aşağıdaki lisans bildirimi bunu yapacaktır. Köşeli ayraçlardaki tüm metni, programınız için uygun olan metinle değiştirmeniz gerekir. Herkes bağlama niyetinde olduğunuz kütüphaneler için kaynak dağıtamazsa süslü ayraçlardaki metni çıkarmalısınız; aksi takdirde süslü ayraçları yalnızca kendileri çıkarsın.
Copyright (C) [yıllar] [telif hakkı sahibinin adı]
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see <https://www.gnu.org/licenses>.
Additional permission under GNU GPL version 3 section 7
If you modify this Program, or any covered work, by linking or combining it with [kütüphanenin adı] (or a modified version of that library), containing parts covered by the terms of [kütüphanenin lisansının adı], the licensors of this Program grant you additional permission to convey the resulting work. {Corresponding Source for a non-source form of such a combination shall include the source code for the parts of [kütüphanenin adı] used as well as that of the covered work.}
GPLv2 kullanıyorsanız lisansın koşullarına kendi istisnanızı sağlayabilirsiniz. Aşağıdaki lisans bildirimi bunu yapacaktır. Yine köşeli ayraçlardaki tüm metni programınız için uygun olan metinle değiştirmeniz gerekir. Herkes bağlama niyetinde olduğunuz kütüphaneler için kaynak dağıtamazsa süslü ayraçlardaki metni çıkarmalısınız; aksi takdirde süslü ayraçları yalnızca kendileri çıkarsın.
Copyright (C) [yıllar] [telif hakkı sahibinin adı]
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see <https://www.gnu.org/licenses>.
Linking [programınızın adı] statically or dynamically with other modules is making a combined work based on [programınızın adı]. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
In addition, as a special exception, the copyright holders of [programınızın adı] give you permission to combine [programınızın adı] with free software programs or libraries that are released under the GNU LGPL and with code included in the standard release of [kütüphanenin adı] under the [kütüphanenin lisansının adı] (or modified versions of such code, with unchanged license). You may copy and distribute such a system following the terms of the GNU GPL for [programınızın adı] and the licenses of the other code concerned{, provided that you include the source code of that other code when and as the GNU GPL requires distribution of source code}.
Note that people who make modified versions of [programınızın adı] are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The GNU General Public License gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which carries forward this exception.
Bern Sözleşmesi gereğince sabit bir biçime sokulduğunda yazılan her şey otomatik olarak telif hakkı kazanır. Dolayısıyla, başka hiç kimse sizin kendi çalışmanıza sahip olduğunu iddia edemediği sürece, yazdıklarınızın telif hakkını “edinmeniz” için hiçbir şey yapmak zorunda değilsiniz.
Ancak telif hakkını Birleşik Devletler'de kaydetmek çok iyi bir fikirdir. Bu, Birleşik Devletler'deki bir ihlalciyle sorun çözmenizde size daha fazla yetki verecektir.
Başka birinin muhtemelen telif hakkı talebinde bulunabileceği durumda bir çalışan veya öğrenciyseniz; işveren veya okul işi onlar için yaptığınızı ve telif hakkının onlara ait olduğunu iddia edebilir. Geçerli bir yasal talepte bulunup bulunmayacakları; yaşadığınız yerin yasaları ve iş sözleşmeniz ve ne tür çalışma yaptığınız gibi koşullara bağlı olacaktır. Olası herhangi bir kuşku varsa bir avukata danışmak en iyisidir.
İşverenin veya okulun yasal bir iddiası olabileceğini düşünüyorsanız şirketin veya okulun uygun bir şekilde yetkili bir görevlisi tarafından imzalanmış bir telif hakkı feragatı alarak sorunu kuşkusuz çözebilirsiniz. (birincil patronunuz veya bir profesör genellikle bu gibi bir feragatı imzalamaya yetkili DEĞİLDİR.)
Günümüzde birçok üniversite, geliştirdikleri bilgilerin ve gerçeklerin kullanımını kısıtlayarak gerçekte ticari işletmelerden biraz farklı davranarak fon toplamaya çalışmaktadır. (Bu sorun ve etkileri hakkında genel bir tartışma için bkz. “The Kept University”, Atlantic Monthly, Mart 2000.)
Okulunuzun, programınızın özgür yazılım olarak yayımlanmasına izin vermeyi reddetme olasılığını görürseniz sorunu mümkün olan en erken aşamada gündeme getirmek en iyisidir. Program yararlı bir şekilde çalışmaya ne kadar yakınsa yönetimin sizden alması ve siz olmadan onu tamamlaması o kadar cazip gelebilir. Daha erken bir aşamada daha fazla var.
Bu yüzden program yalnızca yarı tamamlanmışken onlara “Bunu özgür yazılım olarak yayımlamamı kabul ederseniz tamamlayacağım.” diyerek konuyu açmanızı öneririz. Bunu bir blöf gibi düşünmeyin. Üstün gelmek için “Programım özgür olacak veya asla doğmayacak” demeye cesaretiniz olmalı.
GPL talimatları sayfasına bakın.
GNU GPL, programa başka lisanslar ekleme izni vermez. Ancak bir programın telif hakkı sahibi, birkaç farklı lisans altında onu yayımlayabilir. Bunlardan biri, GNU GPL olabilir.
Kopyanızda gelen lisans, telif hakkı sahibi tarafından sunulduğu ve kopyayı yasal bir şekilde aldığınızı varsayarak, kopyanız için uygulanan lisanstır.
Özgür olmayan bir program yayımlamak her zaman etik olarak sorunludur ancak yasal olarak bunu yapmanıza engel yoktur. Kodun telif hakkı sahibiyseniz çeşitli zamanlarda çeşitli, farklı, münhasır olmayan lisanslar altında onu yayımlayabilirsiniz.
Doğrusu GPL, başkalarının programı kullanması, dağıtması ve değiştirmesi için geliştiriciden alınan bir lisanstır. Geliştiricinin kendisi buna bağlı değildir, bu yüzden geliştirici ne yaparsa yapsın bu; GPL'nin bir “ihlal”i değildir.
Ancak başka bir geliştirici tarafından GPL'yi ihlal edecek bir şey yapılırsa geliştirici kesinlikle topluluktaki ahlaki duruşunu kaybedecektir.
Hayır çünkü kamunun zaten GPL altında programı kullanma hakkı vardır ve bu hak geri alınamaz.
Evet çünkü düzenleyiciler ve araçlarla ilgili telif hakkı, yazdığınız kodu kapsamaz. Onları kullanmanız, yasal olarak, kodunuz için kullandığınız lisansla ilgili herhangi bir kısıtlama getirmez.
Bazı programlar teknik nedenlerden ötürü kendi parçalarını çıktıya kopyalar (örneğin; Bison, standart bir ayrıştırıcı programını çıktı dosyasına kopyalar). Bu gibi durumlarda çıktıdaki kopyalanan metin, onu kaynak kodunda kapsayan aynı lisans tarafından kapsanır. Bu arada programın girdisinden türetilen çıktı parçası, girdinin telif hakkı durumunu devralır.
Gerçekte Bison, özgür olmayan programlar geliştirmek için de kullanılabilir. Bunun nedeni, Bison çıktı dosyalarında Bison standart ayrıştırıcı programının kısıtlama olmaksızın kullanımına açıkça izin vermeye karar vermiş olmamızdır. Kararı verdik çünkü özgür olmayan programlar için kullanıma önceden izin veren Bison ile karşılaştırılabilir başka araçlar vardı.
Evet, var. “Adil kullanım”, herhangi bir özel izin olmadan izin verilen kullanımdır. Bu gibi kullanım için geliştiricilerin iznine gereksiniminiz olmadığından geliştiricilerin bu konuda ne söylediğine bakmaksızın (isansta veya başka bir yerde bu lisans ister GNU GPL ister başka herhangi bir özgür yazılım lisansı olsun) bunu yapabilirsiniz.
Ancak dünya çapında bir adil kullanım ilkesinin olmadığının farkına varın; ne tür kullanımların “adil” olduğu düşünüldüğü ülkeden ülkeye değişir.
Program, Birleşik Devletler federal hükûmeti tarafından yazıldıysa kamu malıdır yani telif hakkı edinilmemiştir. GNU GPL telif hakkına dayalı olduğundan bu gibi bir program GNU GPL altında yayımlanamaz. (Yine de özgür yazılım olabilir, çünkü kamu malı bir program özgürdür.)
Ancak bir Birleşik Devletler federal hükûmet kurumu, yazılım geliştirmek için üstlenicileri kullandığında bu farklı bir durumdur. Sözleşme, üstlenicinin GNU GPL altında yayımlamasını talep edebilir. (GNU Ada bu şekilde geliştirildi.) Veya sözleşme; telif hakkını daha sonra yazılımı GNU GPL altında yayımlayabilecek hükûmet kurumuna verebilir.
Evet. İyileştirmeler Birleşik Devletler hükûmeti çalışanları tarafından yazılırsa bu durumda iyileştirmeler kamu alanındadır. Bununla birlikte iyileştirilmiş sürüm, bir bütün olarak, hâlâ GNU GPL tarafından kapsanmaktadır. Bu durumda hiçbir sorun yoktur.
Birleşik Devletler hükûmeti işi yapmak için üstlenicileri kullanırsa o zaman iyileştirmelerin kendisi GPL kapsamında olabilir.
Hayır. GPL kapsamındaki bir çalışmayı bağlamak statik veya dinamik olarak diğer modüllerle bağlamak, GPL kapsamındaki çalışmayı temel alan birleşik bir çalışma yapmaktır. Böylece GNU Genel Kamu Lisansı'nın hükümleri ve koşulları tüm bileşimi kapsar. Ayrıca bkz. GPL yazılımı ile GPL uyumlu olmayan kütüphaneler kullanırsam hangi yasal sorunlar ortaya çıkar?
LGPL'e (geçerliliğini kaybetmemiş herhangi bir sürüm: v2, v2.1 veya v3) uymak amacıyla:
(1) Bir LGPL'li kütüphaneye statik olarak bağlarsanız uygulamanızı bir nesne (muhakkak kaynak değil) biçiminde de sağlamanız gerekir, böylece bir kullanıcı; kütüphaneyi değiştirme ve uygulamayı yeniden bağlama olanağına sahip olur.
(2) Kullanıcının bilgisayarında zaten mevcut olan bir LGPL'li kütüphaneye dinamik olarak bağlarsanız kütüphanenin kaynağını taşımanız gerekmez. Öte yandan yürütülebilir LGPL'li kütüphaneyi uygulamanızla birlikte kendiniz taşırsanız, ister statik ister dinamik olarak bağlanmış olsun, LGPL'nin sağladığı yollardan biriyle kütüphanenin kaynaklarını da taşımanız gerekir.
Genel olarak bu hukuken olanaksızdır; telif hakkı yasası, insanların programınızı kullanarak verilerinden yaptıkları çıktıların kullanımında size herhangi bir görüş hakkı vermez. Kullanıcı kendi verilerini girmek ve dönüştürmek için programınızı kullanıyorsa çıktıdaki telif hakkı size değil, ona aittir. Daha genel olarak bir program, girdisini başka bir biçime çevirdiğinde çıktının telif hakkı durumu; oluşturulduğu girdininkini devralır.
Bu nedenle çıktıyı kullanırken söz sahibi olmanın tek yolu, çıktıların önemli kısımlarının programınızdaki metinden daha fazla veya daha az kopyalanmasıdır. Mesela, bu özgül durumda bir istisna yapmamış olsaydık, Bison'un çıktısının parçası (yukarıya bakınız) GNU GPL tarafından kapsanacaktı.
Öyle yapmak için teknik bir neden olmasa bile bir programın, belli bir metni çıktısına kopyalamasını yapay olarak yapabilirsiniz. Ancak kopyalanan metin pratik bir amaca hizmet etmezse kullanıcı; bu metni çıktıdan kolaylıkla silebilir ve yalnızca geri kalanını kullanabilir. Daha sonra kopyalanan metnin yeniden dağıtılmasıyla ilgili koşullara uymak zorunda kalmazdı.
Bir programın çıktısı, genelde, programın kodundaki telif hakkı tarafından kapsanmamaktadır. Bu nedenle, ister bir dosyaya aktarın ister bir ekran görüntüsü veya video yapın, programın kodunun lisansı çıktıya uygulanmaz.
İstisna programın programdan gelen metnin ve/veya sanat eserinin tam bir verisini göstermesi olabilir. O takdirde bu metindeki ve/veya sanat eserindeki telif hakkı çıktıyı kapsar. Video oyunları gibi ses çıkaran programlar da bu istisnaya girecektir.
Sanat eseri/müzik GPL altındaysa o zaman onu kopyaladığınızda nasıl kopyalarsanız kopyalayın GPL ona uygulanır. Ancak adil kullanım yine de geçerli olabilir.
Bazı programların, özellikle video oyunlarının, temeldeki GPL'li oyundan ayrı olarak lisanslanmış sanat eserine/sese sahip olabileceğini aklınızda tutun. Bu gibi durumlarda sanat eserindeki/sesteki lisans, video/akışın bulunabileceği koşulları belirleyecektir. Ayrıca bkz: GPL'yi yazılımdan başka bir şey için kullanabilir miyim?
GPL, tam birleşik programın GPL altında yayımlanması gerektiğini söylüyor. Bu yüzden modülünüz GPL altında kullanım için erişilir kılınmalıdır.
Ancak kodunuzun kullanımı için ek izin verebilirsiniz. İsterseniz modülünüzü GPL'den daha esnek ancak GPL ile uyumlu bir lisans altında yayımlayabilirsiniz. Lisans listesi sayfası, GPL uyumlu lisansların kısmi bir listesini verir.
Evet, çünkü program gerçekte kütüphaneye bağlanıyor. Aslında GPL'nin koşulları tüm bileşim için geçerlidir. Kütüphaneyle bağlanan yazılım modülleri çeşitli GPL uyumlu lisanslar altında olabilir ancak bir bütün olarak çalışma GPL altında lisanslı olmalıdır. Ayrıca bkz: Bir lisansın “GPL ile uyumlu” olduğunu söylemek ne anlama geliyor?
Yorumlayıcı bir dili yalnızca yorumladığında yanıt hayırdır. Yorumlanan program, yorumlayıcıya göre, yalnızca veridir; telif hakkı yasasına dayanan GPL gibi bir özgür yazılım lisansı, yorumlayıcıda hangi veriyi kullandığınızı kısıtlayamaz. Onu, herhangi bir veri (yorumlanan program) üzerinde, istediğiniz gibi çalıştırabilirsiniz ve bu verileri herhangi bir kimseye lisanslama konusunda bir gereksinim yoktur.
Ancak yorumlayıcı, diğer parçalara (genellikle, ancak muhakkak değil, kütüphanelere) “bağlamalar” sağlamak üzere genişletildiğinde yorumlanan program, bu bağlamalar aracılığıyla onu kullandığı parçalarla etkili bir şekilde bağlanmıştır. Dolayısıyla bu parçalar GPL altında yayımlanırsa bunları kullanan yorumlanmış program GPL uyumlu bir şekilde yayımlanmalıdır. JNI veya Java Native Interface bu gibi bir bağlama düzeneğine bir örnektir; bu şekilde erişilen kütüphaneler, onları çağıran Java programlarıyla dinamik dinamik olarak bağlanır. Bu kütüphaneler hem de yorumlayıcıyla bağlanmıştır. Yorumlayıcı bu kütüphanelerle statik olarak bağlanmışsa veya dinamik olarak bu özgül kütüphanelere bağlanacak şekilde tasarlanmışsa o zaman GPL uyumlu bir şekilde yayımlanması da gerekir.
Bir başka benzer ve çok yaygın durum, kütüphanelere kendileri yorumlanan yorumlayıcıyı sağlamaktır. Örneğin; Perl, birçok Perl modülü ile birlikte gelir ve bir Java uygulaması, birçok Java sınıfıyla birlikte gelir. Bu kütüphaneler ve onları çağıran programlar her zaman dinamik olarak birbirine bağlanır.
Bunun bir sonucu olarak programınızda GPL'li Perl modülleri veya Java sınıfları kullanmayı seçerseniz, birleşik Perl veya Java programıyla çalışacağı Perl veya Java yorumlayıcısında kullanılan lisansa bakılmaksızın, programı GPL uyumlu bir şekilde yayımlamanız gerekir.
Programınızı kütüphanelere bağlayabilir ve derlenen programı başkalarına dağıtabilirsiniz. Bunu yaptığınızda GPLv3, onları tanımladığı için çalışma zamanı kütüphaneleri, “Sistem Kütüphaneleri”dir. Bu, onların kaynak kodlarını programın İlgili Kaynak'ında dâhil etme konusunda kaygılanmanıza gerek olmadığı anlamına gelir. GPLv2, 3. bölümde benzer bir istisna sağlar.
Bu kütüphaneleri derlenmiş DLL biçiminde programla dağıtamazsınız. İnsafsız dağıtıcıların Sistem Kütüphanesi istisnasını bir yasal boşluk olarak kullanmaya çalışmasını önlemek için GPL, kütüphanelerin yalnızca programın kendisiyle dağıtmadıkları sürece Sistem Kütüphaneleri olarak nitelendirilebileceğini söylüyor. DLL'leri programla dağıtırsanız artık bu istisna için uygun olmayacaktır; o zaman GPL'ye uymanın tek yolu, yapamayacağınız bir şey olan onların kaynak kodlarını sunmak olacaktır.
Yalnızca Windows'ta çalışan özgür programlar yazmak mümkündür ancak bu iyi bir fikir değildir. Bu programlar; Windows tarafından “tuzağa düşürülür” ve bu nedenle Özgür Dünya'ya sıfır katkıda bulunur.
Çünkü GPL'de olmayan özgül bir zorunluluk yüklüyor; yani programın tanıtımıyla ilgili zorunluluğu. GPLv2'nin 6. bölümü beyan ediyor:
Burada verilen hakların kullanılmasıyla ilgili kullanıcılara kısıtlamalar dayatamazsınız a.
GPLv3, 3. bölümde benzer bir şey söylüyor. Tanıtım şartı bu gibi bir ekstra kısıtlamayı tam olarak sağlar ve böylece GPL ile uyumsuzdur.
Değiştirilmiş BSD lisansı, sorunu çıkaran tanıtım şartına sahip değildir.
Ana programın, eklentilerini nasıl çağırdığına bağlıdır. Ana program eklentileri çağırmak için fork ve exec kullanıyorsa ve karmaşık veri yapılarını paylaşarak yoğun iletişim kuruyorsa veya karmaşık veri yapılarını ileri geri gönderiyorsa bu onları tek bir birleşik program hâline getirebilir. Eklentileri çağırmak için yalın fork ve exec kullanan ve aralarında yoğun iletişim kurmayan bir ana program, eklentilerin ayrı bir program olmasına neden olur.
Ana program, eklentileri dinamik olarak bağlarsa ve onlar birbirlerine işlev çağrıları yapar ve veri yapılarını paylaşırlarsa hem ana programın hem de eklentilerin bir uzantısı olarak davranılması gereken tek bir birleşik program oluşturduklarına inanıyoruz. Ana program, eklentileri dinamik olarak bağlarsa ancak onların aralarındaki iletişim ‘main’ işlevini bazı seçeneklerle çağırmakla ve onun geri dönmesini beklemekle sınırlıysa bu sınırda bir durumdur.
Karmaşık veri yapılarıyla iletişim kurmak için paylaşılan belleği kullanmak, dinamik bağlamaya bir hayli eş değerdir.
Lütfen eklentilerin ve bir ana programın ne zaman tek bir birleşik program olarak düşünüldüğünü ve ne zaman ayrı çalışmalar olarak düşünüldüğünü saptama sorusuna bakın.
Ana program ve eklentiler tek bir birleşik programsa bu; eklentiyi GPL veya GPL uyumlu bir özgür yazılım lisansı lisanslamanız ve onu kaynak koduyla GPL'ye uyan bir şekilde dağıtmanız gerektiği anlamına gelir. Eklentilerinden ayrı olan bir ana program, eklentiler için herhangi bir gereksinime yol açmaz.
Lütfen Eklentilerin ve bir ana programın ne zaman tek bir birleşik program olarak düşünüldüğünü ve ne zaman ayrı programlar olarak düşünüldüğünü saptama sorusuna bakın.
Tek bir birleşik program oluştururlarsa bu, GPL kapsamındaki eklentinin özgür olmayan ana programla bileşiminin GPL'yi ihlal edeceği anlamına gelir. Ancak bu hukuki sorunu eklentinizin lisansına bir istisna ekleyerek, özgür olmayan ana programla bağlama izni vererek, çözebilirsiniz.
Ayrıca Özgür olmayan bir kütüphane kullanan özgür yazılım yazıyorum sorusuna da bakabilirsiniz.
Lütfen Eklentilerin ve bir ana programın ne zaman tek bir birleşik program olarak düşünüldüğünü ve ne zaman ayrı programlar olarak düşünüldüğünü saptama sorusuna bakın.
Tek bir birleşik program oluştururlarsa ana program GPL veya GPL uyumlu bir özgür yazılım lisansı altında yayımlanmalı ve ana program bu eklentilerle kullanılmak için dağıtıldığında GPL'nin koşullarına uymalıdır.
Ancak onlar ayrı çalışmalar ise o zaman eklentinin lisansı, ana program hakkında bir gereklilik doğurmaz.
Ayrıca Özgür olmayan bir kütüphane kullanan özgür yazılım yazıyorum sorusuna da bakabilirsiniz.
Tam olarak değil. Bu, programınızı GPL ile uyumlu bir lisans (daha net olarak bağladığınız bileşimdeki kodun geri kalanının tümü tarafından kabul edilen bir veya daha fazla GPL sürümüyle uyumlu) altında yayımlamanız gerektiği anlamına gelir. Bileşimin kendisi böylece bu GPL sürümleri altında uygundur.
Sorabilirsiniz ancak çoğu yazar taviz vermeyecek ve hayır diyecektir. GPL'nin görüşü, kodumuzu programınıza dâhil etmek istiyorsanız programınızın da özgür yazılım olması gerektiğidir. Programınızı topluluğumuzun bir parçası yapacak şekilde yayımlamanız için sizde baskı oluşturması gerekiyor.
Kodumuzu kullanmamanın yasal alternatifine her zaman sahipsiniz.
Linux (GNU/Linux işletim sistemindeki çekirdek), GNU GPL'nin 2. sürümü altında dağıtılmaktadır. Linux ile bağlamaya niyetlenilerek özgür olmayan bir sürücünün dağıtılması, GPL'yi ihlal ediyor mu?
Evet, bu bir ihlaldir çünkü etkili bir şekilde bu, daha büyük bir birleşik çalışma yapar. Kullanıcıların parçaları bir araya getirmesinin bekleniyor olması gerçeği gerçekten hiçbir şeyi değiştirmiyor.
Kodun büyük bir parçasında telif hakkına sahip olan her Linux katkıcısı, GPL'yi uygulayabilir ve onların her birini özgür olmayan Linux sürücüleri dağıtanlara karşı harekete geçmeye teşvik ederiz.
Bu metni, dosyanın GNU GPL altında dağıtıldığını söyleyen metnin sonunda, paketteki her dosyanın lisans bildirimine ekleyin:
Linking ABC statically or dynamically with other modules is making a combined work based on ABC. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of ABC give you permission to combine ABC program with free software programs or libraries that are released under the GNU LGPL and with independent modules that communicate with ABC solely through the ABCDEF interface. You may copy and distribute such a system following the terms of the GNU GPL for ABC and the licenses of the other code concerned, provided that you include the source code of that other code when and as the GNU GPL requires distribution of source code and provided that you do not modify the ABCDEF interface.
Note that people who make modified versions of ABC are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The GNU General Public License gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which carries forward this exception. If you modify the ABCDEF interface, this exception does not apply to your modified version of ABC, and you must remove this exception when you distribute your modified version.
This exception is an additional permission under section 7 of the GNU General Public License, version 3 (“GPLv3”)
Bu istisna, belirtilen arayüz (“ABCDEF”) üzerinden farklı lisanslı modüllerle bağlanılmasına olanak sağlarken kullanıcıların normalde GPL altında olduğu gibi kaynak kodunu hâlâ almasını sağlar.
Yalnızca programın telif hakkı sahipleri, bu istisnayı yasal olarak yetkili kılabilir. Tüm programı kendiniz yazdıysanız, ayrıca işvereninizin veya okulunuzun telif hakkı iddia etmediğini varsayarsak, telif hakkı sahibisiniz—yani istisnayı yetkili kılabilirsiniz. Ancak kodunuzdaki diğer yaratımcılar tarafından diğer GPL kapsamındaki programların parçalarını kullanmak istiyorsanız onlar için istisnayı yetkili kılamazsınız. Bu programların telif hakkı sahiplerinin onayını almak zorundasınız.
Bu soruyu yanıtlamak için programınızın kullandığı her bileşenin bir listesini, bu bileşenin lisansını ve kütüphanenizin bu bileşeni nasıl kullandığını betimleyen bir özet (her biri için birkaç tümce yeterli olmalıdır) görmemiz gerekir. İki örnek şu şekildedir:
Bir “birleştirme”, aynı CD-ROM veya diğer ortamlarda birlikte dağıtılan, birtakım ayrı programdan oluşur. GPL, diğer yazılımların lisansları özgür olmasa ve GPL uyumlu değilse bile bir katışmaç oluşturmanıza ve dağıtmanıza izin verir. Tek koşul, kullanıcıların her programın kendine ait lisansının kendilerine vereceği hakları kullanmalarını yasaklayan bir lisans altında birleştirme yayımlayamamanızdır.
İki ayrı program ile iki parçalı bir program arasındaki çizgi nerede? Bu sonuç olarak yargıçların karar vereceği hukuki bir sorundur. Doğru bir ölçütün hem iletişimin düzeneğine (exec, borular, rpc, paylaşılan adres alanı içindeki işlev çağrıları vb.) hem de iletişimin anlam bilimselliğine (ne tür bilgilerin takas edildiğine) bağlı olduğuna inanıyoruz.
Modüller aynı yürütülebilir dosyaya dâhil edilmişse kesinlikle bir programda birleştirilmişlerdir. Modüller, paylaşılan bir adres alanında birbirine bağlı çalışacak şekilde tasarlanmışsa bu hemen hemen kesinlikle onları bir programda birleştirmek anlamına gelir.
Buna karşın borular, soketler ve komut satırı argümanları normalde iki ayrı program arasında kullanılan iletişim düzenekleridir. Bu yüzden iletişim için kullanıldıklarında modüller normalde ayrı programlardır. Ancak iletişimin anlam bilimselliği yeterince yoğunsa, karmaşık iç veri yapılarını takas ediyorsa bu da iki parçayı daha büyük bir programda birleşik olması için bir dayanak olabilir.
Hayır, onların tek bir çalışma mı yoksa bir birleştirme mi olduklarına ilişkin analiz konteynerlerin katılımı ile değişmez.
Avukatlarımız bize GPL'yi ihlal edenlere karşı mahkemede en iyi savunmayı uygulayabilmemiz için programın telif hakkı durumunu olabildiğince basit tutmamız gerektiğini söyledi. Bunu her katkıcıdan FSF'ye katkılar için telif hakkını devretmesini veya katkılarla ilgili telif hakkını reddetmesini isteyerek yaparız.
Ayrıca bireysel katkıcılardan, işverenlerinden (eğer varsa) telif hakkı feragatı edinmesini isteriz, böylece bu işverenlerin katkılara sahip olduklarını iddia etmeyeceğinden emin olabiliriz.
Tabii ki tüm katkıcılar kodlarını kamu malı şeklinde koyduysa GPL'yi uygulamak için telif hakkı yoktur. Bu yüzden büyük kod katkılarıyla ilgili telif hakkını devretmeleri ve kamu malı şekilde küçük değişiklikler yapmaları için insanları teşvik ediyoruz.
Programınızdaki GPL'yi uygulamak için çaba göstermek istiyorsanız benzer bir politikayı izlemeniz muhtemelen iyi bir fikirdir. Daha fazla bilgi için lütfen <licensing@gnu.org> ile iletişime geçin.
GPL'nin değiştirilmiş sürümlerini yapmak mümkündür ancak pratik sonuçlara yol açma eğilimindedir.
Lisansınıza başka bir ad vermeniz ve GPL önsözünü dâhil etmemeniz ve sonundaki kullanım talimatlarını onu anlatımda açıkça farklı hâle getirecek şekilde yeterince değiştirmeniz ve GNU'yu belirtmemeniz koşuluyla (ancak tanımladığınız gerçek prosedür benzer olabilir) GPL'nin (muhtemelen değiştirilmiş) koşullarını yasal olarak kullanabilirsiniz.
Önsözümüzü değiştirilmiş bir lisansta kullanmak istiyorsanız lütfen izin için <licensing@gnu.org> adresine yazın. Bu amaçla onaylayıp onaylamayacağımızı görmek için gerçek lisans zorunluluklarını kontrol etmek isteriz.
Bu şekilde değiştirilmiş bir lisans yapmanıza hukuki itiraz ileri sürmeyeceğimize karşın iki kez düşüneceğinizi ve bunu yapmayacağınızı umuyoruz. Bu gibi değiştirilmiş bir lisans; GNU GPL ile hemen hemen kesinlikle uyumsuzdur ve bu uyumsuzluk yararlı modül bileşimlerini engeller. Farklı özgür yazılım lisanslarının hızlı çoğalması bile kendi başına bir yüktür.
GPL'yi değiştirmek yerine lütfen GPL'nin 3. sürümü tarafından sunulan istisna düzeneğini kullanın.
Değiştirilmiş programın kopyalarınızı ticari olarak satmanıza izin verilir ancak yalnızca GNU GPL'nin koşulları altında. Bu nedenle, örneğin, kaynak kodunu GPL'de tanımlandığı gibi programın kullanıcıları için erişilir kılmalısınız ve GPL'de tanımlandığı gibi onların onu yeniden dağıtmasına ve değiştirmesine izin vermelisiniz.
Bu gereksinimler, aldığınız GPL kapsamındaki kodu kendi bir programınıza dâhil etmenin koşuludur.
Çalışmanın “kaynak kodu”nun ne olduğu net olduğu sürece GPL'yi her türlü çalışmaya uygulayabilirsiniz. GPL bunu, onda değişiklik yapmak için çalışmanın tercih edilen biçimi olarak tanımlar.
Ancak el kitapları ve ders kitapları veya daha genel olarak bir konuyu öğretmek için tasarlanmış her türlü çalışma için GPL yerine GFDL'yi kullanmanızı öneririz.
Ayrıntılar için bu yazıya bakın. Tasarlandığı, niyet edildiği ve beklendiği gibi işler.
Evet. Y'nin, X'in V1 sürümünü temel almasının sonucu olarak GNU GPL altındaki onun sürümünü yayımlaması gerekiyordu. Hiçbir şey Y'nin kodu için başka herhangi bir lisansı kabul etmesini gerektirmez. Bu nedenle X, bu kodu başka bir lisans altında yayımlamadan önce Y'nin iznini almalıdır.
GPL kapsamındaki yazılımı özel mülk bir sisteme dâhil edemezsiniz. GPL'nin hedefi herkese bir programı kopyalama, yeniden dağıtma, anlama ve değiştirme özgürlüğü vermektir. GPL kapsamındaki yazılımı özgür olmayan bir sisteme dâhil edebilseydiniz bunun GPL kapsamındaki yazılımı da özgür olmayan hâle getirme etkisi olacaktı.
GPL kapsamındaki bir programı içeren bir sistem, bu programın genişletilmiş bir sürümüdür. O herhangi bir şekilde yayımlanmışsa, GPL, programın herhangi bir genişletilmiş sürümünün GPL altında yayımlanması gerektiği söylüyor. Bunun iki nedeni vardır: Yazılımı edinen kullanıcıların sahip olmaları gereken özgürlüğü edindiklerinden emin olmak ve insanları yaptıkları iyileştirmeleri geri vermeye teşvik etmek.
Ancak birçok durumda GPL kapsamındaki yazılımı özel mülk sisteminizin yanında dağıtabilirsiniz. Bunu yasal olarak yapmak için özgür ve özgür olmayan programların seyrek olarak iletişim kurduğundan, onların etkili olarak tek bir program yapacak şekilde birleştirilmediğinden emin olmalısınız.
Bu ve GPL kapsamındaki yazılımı “dâhil etme” arasındaki arasındaki fark; kısmen esas ve kısmen de biçim konusudur. Esas kısım şudur: İki program bir programın iki parçası olacak şekilde birleştirilirse o zaman onlara iki ayrı program olarak davranamazsınız. Yani GPL, her şeyi kapsamalıdır.
İki program; derleyici ve çekirdek gibi veya bir düzenleyici ve bir kabuk gibi iyi ayrılmış durumda kalırsa onlara iki ayrı program olarak davranabilirsiniz, ancak bunu uygun bir şekilde yapmanız gerekir. Sorun basitçe biçimlerden biridir: Ne yaptığınızı nasıl betimlediğiniz. Bunu neden önemsiyoruz? Çünkü kullanıcıların derlemedeki GPL kapsamındaki yazılımın özgürlük durumunu açıkça anladığından emin olmak istiyoruz.
İnsanlar GPL kapsamındaki yazılımı, kullanıcıların kısmen özel mülk olduğunu bildiği bir sistemin “parçası” olarak adlandırırsa kullanıcılar GPL kapsamındaki yazılımla ilgili haklarından emin olmayabilirler. Ancak aldıkları şeyin özgür bir program artı başka bir program olduğunu bilirlerse onların hakları açık olacaktır.
Özür dileriz, bu gibi istisnalar yapmıyoruz. Doğru olmaz.
Kullanıcı sayısını en üst düzeye çıkarmak hedefimiz değil. Aslında mümkün olduğunca çok kullanıcıya çok önemli özgürlükler vermeye çalışıyoruz. Genel olarak özel mülk yazılım projeleri, özgürlük mücadelesine yardım etmek yerine engel olur.
GPL dışındaki bir lisans altında özgür yazılım üreten bir projeye yardımcı olmak için ara sıra lisans istisnaları yaparız. Ancak bunun özgür yazılım mücadelesini ilerletmesi için iyi bir neden görmeliyiz.
Ayrıca özgür yazılım mücadelesine hizmet etmek için doğru bir yol olduğu açıkça görüldüğünde ara sıra bir paketin dağıtım koşullarını değiştiririz; ancak bu konuda çok dikkatliyiz, bu yüzden bize çok ikna edici nedenler göstermeniz gerekecektir.
Hayır. X11 lisansı GPL ile uyumludur, böylece GPL kapsamındaki programa bir modül ekleyebilir ve onu X11 lisansı altında koyabilirsiniz. Ancak onların ikisini de daha büyük bir programa katarsanız bu bütün GPL kapsamındaki parçayı içerecektir, bu yüzden GNU GPL altında bir bütün olarak lisanslanmalıdır.
Özel mülk modül A'nın GPL kapsamındaki C ile yalnızca X11 lisanslı modül B aracılığyla iletişim kurması hukuken önemsizdir; önemli olan modül C'nin bütüne katıldığı gerçeğidir.
GCC Çalışma Kütüphanesi İstisnası; libgcc, libstdc++, libfortran, libgomp, libdecnumber ve GCC ile dağıtılan diğer kütüphaneleri kapsar. İstisna; bu kütüphanelerin parçaları, derleme işleminin parçası olarak yürütülebilir dosyaya dâhil edildiğinde bile insanların GCC ile derlenen programları kendi seçtikleri koşullar altında dağıtmalarına izin vermeye tasarlanmıştır. Daha fazlasını öğrenmek için lütfen GCC Çalışma Zamanı Kütüphanesi İstisnası hakkındaki SSS'a bakın.
Bunun iki nedeni var. İlk olarak genel bir tane. A şirketinin özel mülk bir dosya yapmasına ve B şirketinin bu dosyayla bağlı GPL kapsamındaki yazılımı dağıtmasına izin verseydik etki, GPL'de bir kamyonun içinden geçebileceği kadar büyük bir delik açmak olacaktı. Bu; GPL kapsamındaki yazılıma her türlü değişiklik ve eklenti için kaynak kodunu saklama üzerine tam bir yetki olacaktı.
Tüm kullanıcıların kaynak koduna erişmesini sağlamak ana hedeflerimizden biridir, bu nedenle bu sonuç kesinlikle kaçınmak istediğimiz bir şeydir.
Daha aşikâr bir şekilde Money Guzzler kütüphaneleriyle bağlı programların sürümleri, koşulu anladığımız gibi gerçekten özgür yazılım olmayacaktı, kullanıcıların programı değiştirmelerine ve yeniden derlemelerine olanak sağlayan bütün kaynak kodu ile birlikte gelmeyeceklerdi.
Bir P programı, GPL altında yayımlanırsa bu; *onun her bir parçasının* GPL altında kullanılabileceği anlamına gelir. Eğer Q modülünü bütünleştirirseniz ve GPL altında P + Q birleşik programını yayımlarsanız bu, P + Q'nin her bir parçasının GPL altında kullanılabileceği anlamına gelir. Q, P + Q'nin bir parçasıdır. Yani P + Q'nin GPL altında yayımlanması, Q'nin herhangi bir parçasının GPL altında kullanılabileceğini söylüyor. Başka bir deyişle GPL altında P + Q elde eden bir kullanıcı P'yi silebilir, böylece hâlâ yalnızca GPL altındaki Q kalır.
Q modülü lisansı bunun için izin vermenize olanak tanıyorsa o zaman GPL ile uyumludur. Aksi takdirde GPL ile uyumlu değildir.
Q'nin lisansı, Q'yi kendi başına yeniden dağıtırken (GPL ile uyumlu olmayan) şeyleri yapmanız gerektiğini hiçbir belirsizliğe yer bırakmaksızın söylüyorsa Q'yi GPL altında dağıtmanıza izin vermez. Bundan şu sonuç çıkar ki P + Q'yi de GPL altında yayımlayamazsınız. Yani P'yi Q ile bağlayamaz veya birleştiremezsiniz.
Hayır. GPL'nin tüm amacı, tüm değiştirilmiş sürümlerin özgür yazılım olması gerektiğidir, bu, özellikle değiştirilmiş sürümün kaynak kodunun kullanıcılar tarafından kullanılabilir olduğu anlamına gelir.
Evet. Genel kural, ikilileri dağıtırsanız bütün ilgili kaynak kodunun tamamını da dağıtmanız gerekir. Kaynak kod için yazılı bir teklif aldığınız durumun istisnası oldukça sınırlıdır.
GPL'nin 3. sürümü buna izin vermektedir; tüm ayrıntılar için seçenek 6(b)'ye bakınız. 2. sürüm altında FTP aracılığıyla kaynak sunmakta kesinlikle özgürsünüz ve çoğu kullanıcı onu oradan edinecektir. Ancak onlardan herhangi biri kaynağı fiziksel medyada posta yoluyla edinmeyi yeğlerse bunu sağlamanız gerekir.
İkilileri FTP aracılığıyla dağıtırsanız kaynağı FTP aracılığıyla dağıtmalısınız.
Evet, yapabilirsiniz. Teklif, eşlik ettiği ikilinin bir kopyasına sahip olan herkese açık olmalıdır. Bu yüzden GPL, arkadaşınızın size teklifin bir kopyasını ikilinin bir kopyasıyla birlikte vermesi gerektiğini söylüyor, böylece bundan yararlanabilirsiniz.
Evet. Bölüm 6(d), buna izin vermektedir. Ancak kaynağı edinmesi için insanların izleyebileceği net talimatlar sağlamalısınız ve nesne kodunu dağıttığınız sürece kaynağın erişilir kaldığından emin olmalısınız.
Hayır, ikiliye uygun olan kaynak kodunu sağlamalısınız. İlgili kaynak, kullanıcıların aynı ikiliyi yeniden oluşturabileceği kaynak anlamına gelir.
Özgür yazılım fikrinin bir kısmı, kullanıcıların kullandıkları programlar için kaynak koduna erişmeleri gerektiğidir. Sürümünüzü kullananların sürümünüz için kaynak koduna erişimi olmalıdır.
GPL'nin ana hedefi, özgür bir programın iyileştirilmesinin kendisinin de özgür olmasını sağlayarak Özgür Dünya'yı geliştirmektir. GPL kapsamındaki bir programın iyileştirilmiş bir sürümünü yayımlarsanız iyileştirilmiş kaynak kodunu GPL altında yayımlamanız gerekir.
Bu iyi niyetli bir istek ancak bu kaynağı sunma yöntemi gerçekten işe yaramaz.
Kaynağı bir yıl sonra isteyen bir kullanıcı, o zaman başka bir siteden uygun kaynağı edinemeyebilir. Standart dağıtım sitesi daha yeni bir sürüme sahip olabilir ancak aynı ayrımlar büyük olasılıkla bu sürümle çalışmaz.
Bu nedenle ikililerle, yalnızca ayrımları değil, eksiksiz kaynakları sunmanız gerekir.
Nesne kodunu bir ağ sunucusunda erişilir kılarsanız bir ağ sunucusunda İlgili Kaynak'ı da sunmanız gerekir. Bunu yapmanın en kolay yolu, onları aynı sunucuda yayımlamak olacaktır ancak isterseniz kaynağı başka bir sunucudan veya hatta bir sürüm kontrol sisteminden edinebilmeleri için alternatif olarak talimatlar sağlayabilirsiniz. Ne yaparsanız yapın kaynağa erişmek tam anlamıyla nesne kodu kadar kolay olmalıdır. Bütün bunlar, GPLv3'ün bölüm 6(d)'sinde belirtilmiştir.
Sunduğunuz kaynaklar tam olarak ikililere uygun olmalıdır. Özellikle programın aynı sürümü (ne daha eski bir sürüm ne de daha yeni bir sürüm) için olduklarından emin olmalısınız.
Bundan emin olmak zorunda değilsiniz. Kullanıcıların neyin erişilir olduğunu görebilmeleri ve istediklerini alabilmeleri için kaynak ve ikilileri erişilir hâle getirdiğiniz sürece siz kendiniz için zorunlu olanı yapmışsınızdır. Kaynağın indirilip indirilmeyeceği kullanıcıya kalmıştır.
Yeniden dağıtıcılar için zorunluluklarımız; kullanıcıların kaynak kodunu istememelerine karşın indirmelerine zorlamak için değil, kaynak kodunu edinebilmelerinden emin olmak için tasarlanmıştır.
Tam ilgili kaynak, ikililerin yapıldığı kaynak anlamına gelir ancak bu, araçlarınızın dağıttığınız ikilinin tam bir sağlaması olan bir ikili yapabilmesi gerektiğini anlamına gelmez. Bazı durumlarda dağıtılan ikilinin tam bir sağlamasıyla kaynaktan bir ikili oluşturmak (neredeyse) olanaksız olabilir. Aşağıdaki örnekleri düşünün: Bir sistem zaman damgalarını ikililere koyabilir; veya program farklı (hatta yayımlanmamış) bir derleyici sürümüyle oluşturulmuş olabilir.
GPL; herhangi bir kimsenin değiştirilmiş bir sürüm yapmasına ve onu başkalarına hiç dağıtmadan kullanmasına izin verir. Bu şirketin yaptığı özel bir durum. Bu nedenle şirket, değiştirilmiş kaynakları yayımlamak zorunda değildir. Değiştirilen program, GNU Affero GPL'nin koşulları altında lisanslanmışsa durum farklıdır.
Bunu web sitesini (genellikle JavaScript ile yazılır ancak diğer diller de kullanılır) ziyaret ettiklerinde web sitesinin kullanıcıya dağıtılan ayrı GPL'li programları içerdiği veya bunlarla bağlı olduğu bir durumla karşılaştırın. Bu durumda dağıtılan programların kaynak kodunun GPL'nin koşulları altında kullanıcıya yayımlanması gerekir.
GNU Affero GPL, yazılımın değiştirilmiş sürümlerinin bir bilgisayar ağı üzerinden onunla etkileşime giren tüm kullanıcılara kaynağı alma fırsatı sunmasını gerektirir. Şirketin yaptığı şey, bu kasıt gereğince etkilenir yani şirket değiştirilmiş kaynak kodunu yayımlamak zorundadır.
Hayır, bu durumda kuruluş kopyaları yalnızca kendisi için yapıyor. Sonuç olarak bir şirket veya başka bir kuruluş; değiştirilmiş bir sürüm geliştirebilir ve personele bu değiştirilmiş sürümü dıştakilere yayımlama izni vermeden bu sürümü kendi becerileri aracılığıyla kurabilir.
Ancak kuruluş, kopyaları başka kuruluşlara veya kişilere aktardığında bu dağıtımdır. Özellikle kuruluş dışı kullanım için üstlenicilere kopyalar sunmak, dağıtımdır.
Sürüm başka bir yerde yayımlandıysa hırsız büyük olasılıkla kopyalar yapma ve yeniden dağıtma hakkına sahiptir ancak hırsızlar CD'yi çaldığı için hapsedilirse öyle yapmadan önce onların yayımına dek beklemek zorunda kalabilirler.
Söz konusu sürüm yayımlanmış değilse ve bir şirket tarafından o, ticari sır olarak değerlendirilmişse o zaman onun yayımlanması; diğer durumlara bağlı olarak ticari sır yasasının ihlali olabilir. GPL, bunu değiştirmez. Şirket; sürümünü yayımlamaya ve hâlâ bir ticari sır olarak söz etmeye çalıştıysa bu GPL'yi ihlal eder ancak şirket bu sürümü yayımlamadıysa bu gibi bir ihlal olmamıştır.
Şirket GPL'yi ihlal etmiştir ve bu programın dağıtımını durdurmak zorunda kalacaktır. Bunun yukarıdaki hırsızlık durumundan nasıl farklı olduğunun farkına varın; bir kopya çalındığında şirket isteyerek bir kopya dağıtmaz, bu durumda şirket GPL'yi ihlal etmemiştir.
Dağıtılan program başka herhangi bir kimsenin GPL kapsamındaki çalışmasını içermiyorsa o zaman şirket GPL'yi ihlal etmiyordur (daha fazla bilgi için bkz. “Is the developer of a GPL-covered program bound by the GPL?”). Ancak bu, programla neler yapabileceğiniz konusunda iki çelişkili anlama geliyor: Onu yeniden dağıtabileceğiniz ve dağıtamayacağınız. Bir kopya kabul etmeden önce bu programın kullanım koşullarının açıklığa kavuşturulmasını talep etmek mantıklı olacaktır.
Herhangi bir belirli kütüphane için Kısıtlı GPL kullanmak, özgür yazılım için bir geri çekilme anlamına geliyor. Bu; kullanıcıların özgürlüğünü savunma girişiminden ve GPL kapsamındaki yazılımın üzerine eklenilen şeyleri paylaşma zorunluluklarının bir kısmından kısmen vazgeçiyoruz demektir. Kendi başlarına bunlar, daha kötüsü için değişikliklerdir.
Ara sıra sınırlandırılmış bir geri çekilme, iyi bir stratejidir. Kimi zaman bir kütüphane için LGPL'yi kullanmak; bu kütüphanenin daha geniş kullanımına ve böylece onun daha fazla iyileştirmeye, özgür yazılım için daha geniş desteğe vb. yol açabilir. Bu büyük ölçüde olursa özgür yazılım için iyi olabilir. Ama bunun ne kadarı gerçekleşecek? Yalnızca tahminde bulunabiliriz.
Her kütüphanede LGPL'yi bir süre denemek, yardımcı olup olmadığını görmek ve LGPL yardımcı olmadıysa eski hâline getirmek hoş olurdu. Ancak bu mümkün değildir. LGPL'yi belirli bir kütüphane için kullandığımızda eski hâline getirmek zor olacaktır.
Bu nedenle her kütüphane için hangi lisansın kullanılacağına her bir duruma bakarak karar veriyoruz. Sorunu nasıl yargıladığımıza ilişkin uzun bir açıklama var.
Arada bir, yıllık aralıklarla GPL'yi (bazen açıklığa kavuşturmak, bazen de daha önce izin verilmeyen belli kullanım türlerine izin vermek ve bazen de bir zorunluluğu katılaştırmak için) değiştiririz. (Son iki değişiklik 2007 ve 1991'deydi.) Bu “dolaylı ibareyi” her programda kullanmak, GPL'yi güncellediğimizde GNU yazılımı koleksiyonunun tamamındaki dağıtım koşullarını değiştirmemize olanak sağlar.
Her program dolaylı ibareden yoksun olsaydı değişikliği uzun uzadıya pek çok telif hakkı sahibiyle tartışmak zorunda kalırdık, bu da neredeyse bir olanaksızlık olurdu. Gerçekte GNU yazılımı için tekdüze dağıtım koşullarına sahip olma şansı sıfır olurdu.
Bir programın “Version 3 of the GPL or any later version” (GPL'nin 3. veya daha sonraki bir sürümü) dediğini ve GPL'nin yeni bir sürümünün yayımlandığını varsayalım. Yeni GPL sürümü ek izin verirse bu izin programın tüm kullanıcıları için hemen uygun olacaktır. Ancak yeni GPL sürümünün daha katı bir zorunluluğu varsa programın şu anki sürümünün kullanımını kısıtlamayacaktır çünkü hâlâ GPL'nin 3. sürümü kapsamında kullanılabilir. Bir program “Version 3 of the GPL or any later version” (GPL'nin 3. veya daha sonraki bir sürümü) dediğinde kullanıcıların her zaman onu GPL'nin 3. sürümünün koşullarına göre kullanmasına ve hatta değiştirmesine izin verilir, hatta GPL'nin sonraki sürümleri mevcut olduktan sonra bile.
GPL'nin yeni bir sürümdeki daha katı bir gereksinime mevcut yazılımlar için uyulması gerekmiyorsa bu nasıl yararlıdır? GPL'nin 4. sürümü mevcut olur olmaz çoğu GPL kapsamındaki programın geliştiricileri, “Version 4 of the GPL or any later version” (GPL'nin 4. sürümü veya daha sonraki bir sürümü) belirten kendi programlarının müteakip sürümlerini yayımlayacak.
Ancak geliştiriciler bunu yapmak zorunda değildir; geliştiriciler tercih ettikleri takdirde GPL'nin önceki sürümünün izin verilen kullanımına devam edebilirler.
Bunu yapmamanız gerektiğinin nedeni, bunun kullanıcıların sahip olduğu bazı izinlerin gelecekte otomatik olarak geri çekilmesine neden olabilmesidir.
Bir programın 2000'de “the latest GPL version” (en son GPL sürümü) altında yayımlandığını varsayalım. O zaman insanlar GPLv2 altında onu kullanabilirdi. GPLv3'ü 2007'de yayımladığımız gün, herkes aniden onu GPLv3 altında kullanmak zorunda kalacaktı.
Bazı kullanıcılar GPL'nin 3. sürümü hakkında bilgi sahibi bile olmayabilirler, ancak onu kullanmak zorunda kalacaklardı. Yalnızca haber almadıkları için programın lisansını istemeyerek ihlal edebilirlerdi. Bu, insanlara davranmanın kötü bir yoludur.
Bir ihlal nedeni dışında önceden verilen izinleri geri almanın yanlış olduğunu düşünüyoruz. Eğer özgürlüğünüz geri alınabiliyorsa o zaman o gerçek bir özgürlük değildir. Bu nedenle bir program sürümünün bir kopyasını bir lisansın bir sürümü altında edinirseniz her zaman lisansın bu sürümü tarafından verilen haklara sahip olmanız gerekir. “GPL version N or any later version” (GPL'nin N. veya daha sonraki bir sürümü) altında yayımlamak, bu ilkeyi destekler.
GPL'yi bir kılavuz için kullanmak mümkündür ancak GNU Özgür Belgelendirme Lisansı (GFDL) kılavuzlar için çok daha uygundur.
GPL programlar için tasarlanmıştır; o, programlar için çok önemli olan birçok karmaşık koşul içerir ancak bu bir kitap veya kılavuz için elverişsiz ve gereksiz olacaktır. Örneğin; kitabı kâğıt üzerinde yayımlayan herhangi bir kimse basılı her kopyayla birlikte kitabın makine tarafından okunabilir “kaynak kodu”nu dâhil etmeli veya daha sonra “kaynak kodu”nu göndereceğine ilişkin yazılı bir teklif sunmalıdır.
Bu arada GFDL özgür kılavuzların yayıncılarının kopyaları satarak kazanç elde etmelerine yardımcı olan koşullara da sahiptir, mesela metinleri kapsar. Onaylar [Endorsements] bölümleri için özel kurallar, GFDL'yi resmî bir standart için kullanmaya olanak sağlar. Bu, değiştirilmiş sürümlere izin verir ancak “standartlar” olarak etiketlenemezler.
GFDL'yi kullanarak teknik konusunu kapsayan bir kılavuzun metninde değişikliklere izin veriyoruz. Teknik parçaları değiştirebilmek önemlidir çünkü bir programı değiştiren kişiler belgelemeyi birbirine uyması için değiştirmelidir. Bunu yapmaya ilişkin özgürlük, etik bir zorunluluktur.
Kılavuzlarımız, özgür yazılım hakkındaki politik konumumuzu belirten bölümleri de içermektedir. Bunları “değişmez” [invariant] olarak işaretliyoruz, böylece değiştirilemezler veya kaldırılamazlar. GFDL, bu “değişmez bölümler” için de önlem içerir.
Yazı tipi lisanslama, ciddi değerlendirme gerektiren karmaşık bir konudur. Aşağıdaki lisans istisnası deneyseldir ancak genel kullanım için onaylanmıştır. Bu konuyla ilgili öneriler bekliyoruz. Lütfen bu açıklayıcı denemeye bakın ve licensing@gnu.org adresine yazın.
Bu istisnayı kullanmak için bu metni paketteki her dosyanın lisans bildirimine, dosyanın GNU GPL altında yayımlandığını söyleyen metnin sonuna (mümkün olduğu ölçüde) ekleyin:
As a special exception, if you create a document which uses this font, and embed this font or unaltered portions of this font into the document, this font does not by itself cause the resulting document to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the document might be covered by the GNU General Public License. If you modify this font, you may extend this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
Şablonlar, onları korumak için copyleft kullanmaya değmeyecek kadar küçüktür. Küçük çalışmalarda copyleft kullanmak zararsızdır ancak şablonlar özel bir durumdur çünkü onlar uygulamanın kullanıcıları tarafından sağlanan verilerle birleştirilir ve birleşik dağıtılır. Bu nedenle şablonlarınızı basit izin koşulları altında dağıtmanızı öneririz.
Bazı şablonlar, JavaScript işlevlerini kullanır. JavaScript genellikle önemsiz olmadığından copyleft yapılmaya değer. Şablonlar kullanıcı verisiyle birleştirileceğinden şablon + kullanıcı verisi + JavaScript'in telif hakkı yasası gereğince bir çalışma olarak düşünülmesi mümkündür. JavaScript (copyleft'li) ve kullanıcı kodu (genellikle uyumsuz koşullar altında) arasında bir çizgi çizilmelidir.
Bunu yapan JavaScript kodu için bir istisna aşağıdadır:
As a special exception to the GPL, any HTML file which merely makes function calls to this code, and for that purpose includes it by reference shall be deemed a separate work for copyright law purposes. In addition, the copyright holders of this code give you permission to combine this code with free software libraries that are released under the GNU LGPL. You may copy and distribute such a system following the terms of the GNU GPL for this code and the LGPL for the libraries. If you modify this code, you may extend this exception to your version of the code, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
Kaynak kodunu düzenlemek, derlemek, incelemek veya kaydetmek için kullandığınız programlar genellikle bu kaynak kodunun lisanslanmasına ilişkin sorunlar için fark yaratmaz.
Ancak özgür olmayan kütüphaneleri kaynak koduyla bağlarsanız bu başa çıkmanız gereken bir sorun olacaktır. Kaynak kodunu GPL altında yayımlamayı engellemez ancak kütüphaneler “sistem kütüphanesi” istisnasına uymuyorsa programınızı onlarla bağlamaya izin veren belirgin bir bildirim eklemelisiniz. GPL uyumlu olmayan kütüphaneleri kullanmaya dair SSS bilgisi bunun nasıl yapılabileceği hakkında daha fazla bilgi sağlar.
İngilizce dışındaki dillere GPL'nin çevirileri olması yararlı olacaktır. İnsanlar çevirilerini yazdılar ve bize gönderdiler bile. Ancak çevirileri resmen geçerli olarak onaylamaya cesaret edemedik. Bu çok büyük bir risk taşır ki bunu kabul etmeye cesaret edemiyoruz.
Hukuki bir belge bazı yönlerden bir program gibidir. Çeviri; bir programı bir dilden ve işletim sisteminden diğerine çevirmek gibidir. Yalnızca her iki dilde yetenekli bir avukat bunu yapabilir, ve bu durumda bile bir hatanın ortaya çıkma tehlikesi vardır.
Resmî olarak GPL'nin bir çevirisi onaylasaydık herkesin çevirinin yapabileceklerini söylediği her şeyi yapmasına izin verirdik. Tamamen doğru bir çeviriyse bu iyi. Ancak çeviride bir hata varsa sonuçlar düzeltemediğimiz bir felaket olabilir.
Bir programın bir hatası varsa yeni bir sürüm yayımlayabiliriz ve sonunda eski sürüm az ya da çok kaybolur. Ancak herkese belirli bir çeviriye göre hareket etme izni verir vermez, daha sonra, bir hata olduğunu bulursak bu izni geri almanın hiçbir yolu yoktur.
Yardımsever insanlar bazen bizim için çeviri işini yapmayı teklif ediyorlar. Sorun, işi yapacak birisini bulma meselesi olsaydı bu onu çözerdi. Ancak asıl sorun hata tehlikesidir ve işi yapmayı teklif etmek tehlikeden kaçınmayı sağlamaz. Avukat olmayan birisi tarafından yazılmış bir çeviriyi büyük olasılıkla yetkili kılamazdık.
Bu nedenle şimdilik GPL'nin çevirilerini küresel olarak geçerli ve bağlayıcı olarak onaylamıyoruz. Bunun yerine iki şey yapıyoruz:
İnsanları resmi olmayan çevirilere yönlendirmek. Bu; insanların, GPL'nin çevirilerini yazmasına izin verdiğimiz anlamına gelir ancak onları hukuki olarak geçerli ve bağlayıcı olarak onaylamıyoruz.
Onaylanmamış bir çevirinin hukuki gücü yoktur ve bu açıkça söylemelidir. Aşağıdaki gibi işaretlenmelidir:
This translation of the GPL is informal, and not officially approved by the Free Software Foundation as valid. To be completely sure of what is permitted, refer to the original GPL (in English).
Ancak onaylanmamış çeviri, İngilizce GPL'nin nasıl anlaşılacağına ilişkin bir ipucu olarak hizmet edebilir. Birçok kullanıcı için bu yeterlidir.
Ancak ticari faaliyette GNU yazılımı kullanan işletmelerin ve umumi FTP dağıtımı yapan kişilerin onun neye izin verdiğinden emin olması için gerçek İngilizce GPL'yi kontrol etmeleri gerekir.
Yalnızca tek bir ülke için geçerli çevirileri yayınlama
Yalnızca bir ülke için resmen geçerli olan çevirileri yayımlama fikrini düşünüyoruz. Böylece, eğer bir hata varsa sadece o ülkeyle sınırlı olacaktır ve yaratacağı zarar o kadar büyük olmayacaktır.
Sıcakkanlı ve erkli bir avukattan çeviri yapılması için yine önemli uzmanlık ve çaba harcanacaktır, bu nedenle yakında bu gibi herhangi bir çeviriye söz veremeyiz.
Yorumlayıcı bir dili yalnızca yorumladığında yanıt evettir. Yorumlanan program, yorumlayıcıya göre, yalnızca veridir; GPL, programı hangi araçlarla işlediğinizi kısıtlamaz.
Ancak yorumlayıcı, diğer parçalara (genellikle, ancak muhakkak değil, kütüphanelere) bağlamalar sağlamak üzere genişletildiğinde yorumlanan program bu bağlamalar aracılığıyla etkili bir şekilde bağlıdır. JNI veya Java Native Interface bu gibi bir parçanın bir örneğidir; bu şekilde erişilen kütüphaneler, onları çağıran Java programlarıyla dinamik olarak bağlıdır.
Bu yüzden bu parçalar GPL uyumlu olmayan bir lisans altında yayımlanmışsa durum herhangi bir şekilde GPL uyumlu olmayan bir kütüphaneyle bağlamak gibidir. Bu da şu anlama gelir:
GPL bir telif hakkı lisansı olduğundan, yazılımın telif hakkı sahipleri tarafından uygulanabilir. Eğer bir GPL ihlali görürseniz ilgili GPL kapsamındaki yazılımın geliştiricilerini bilgilendirmelisiniz. Onlar ya telif hakkı sahipleridir ya da telif hakkı sahipleriyle bağlantılıdır.
Ek olarak, kullanıcıların tüm ve ilgili kaynak kodunu edinmek için mevcut olan, zaten hakları olan, tüm yasal mekanizmaları kullanmaya ve GNU GPL ile tam uyumu zorlamaya teşvik ediyoruz. Ne de olsa, GNU GPL'yi yazılımı tüm kullanıcıları için özgür kılmak için geliştirdik.
Alt sınıf oluşturma, türev bir çalışma oluşmasını sağlıyor. Bu nedenle GPL'nin koşulları, GPL'li bir sınıfın bir alt sınıfını oluşturduğunuz tüm programı etkiler.
Genelde yanıt hayırdır, bu hukuki bir zorunluluk değildir. Özgül olarak yanıt hangi kütüphaneleri kullanmak istediğinize ve lisanslarının ne olduğuna bağlıdır. Çoğu sistem kütüphanesi ya GNU Kısıtlı GPL'yi kullanır ya da GNU GPL artı kütüphaneyi herhangi bir şeyle bağlamaya izin veren bir istisna kullanır. Bu kütüphaneler özgür olmayan programlarda kullanılabilir; ancak Kısıtlı GPL durumunda uymanız gereken bazı gereksinimleri vardır.
Bazı kütüphaneler yalnızca GNU GPL altında yayımlanır; bu kütüphaneleri kullanmak için GPL uyumlu bir lisans kullanmanız gerekir. Ancak bunlar normalde daha uzmanlaşmış kütüphanelerdir ve başka bir platformda onlar gibi bir şey olmazdı, bu yüzden büyük olasılıkla kendiniz bu kütüphaneleri basit aktarma için kullanmak istemeyeceksiniz.
Tabii ki yazılımın özgür değilse topluluğumuza bir katkı değildir ve özgürlüklerine değer veren insanlar onu kullanmayı reddedecektir. Yazılımınızı yalnızca özgürlüklerinden vazgeçmek isteyen insanlar kullanacaktır, bu da onun insanların özgürlüklerini kaybetmeleri için etkili bir şekilde işlev göreceği anlamına gelir.
Bir gün kariyerinizi anımsayıp iyi ve özgür bir toplumun büyümesine katkıda bulunduğunuzu düşünmek istiyorsanız yazılımınızı özgür hâle getirmeniz gerekir.
Hayır. GPL, dağıtım için herhangi bir kimsenin İnternet'i kullanmasını gerektirmez. Ayrıca özellikle kimsenin programı yeniden dağıtmasını gerektirmez. Ve (özel bir durum dışında) birisi bazen programı yeniden dağıtmaya karar verse bile GPL özellikle size veya özellikle başka herhangi bir kişiye bir kopyasını dağıtması gerektiğini söylemez.
GPLnin gerektirdiği şey, eğer isterse bir kopyasını size dağıtma özgürlüğüne sahip olması gerektiğidir. Telif hakkı sahibi programın bir kopyasını birisine dağıtır dağıtmaz, bu kişi programı size veya diğer herkese uygun gördüğü şekilde yeniden dağıtabilir.
Hayır. Bu tür bir lisans kendisiyle ters düşmüş olacaktır. Şimdi bir kullanıcı olarak benim için bunun etkilerine bakalım.
Özgün sürümle başladığımı (sürüm A olarak adlandıralım), bazı kodlar eklediğimi (haydi, onun 1.000 satır olduğunu varsayalım) ve bu değiştirilmiş sürümü (ona B diyelim) GPL altında yayımladığımı varsayalım. GPL; herhangi bir kimsenin sürüm B'yi tekrar değiştirebileceğini ve sonucu GPL altında yayımlayabileceğini söylüyor. Yani ben (veya başka birisi) bu 1.000 satırı silebilir, sürüm A ile aynı koda sahip olan ancak GPL altında olan sürüm C'yi üretebilirim.
Bu yolu engellemeye çalışırsanız lisansta açıkça bu satırları sürüm B'den silerek GPL altındaki sürüm A'ya benzer bir şeyi yeniden üretmeme izin verilmediğini söyleyerek etki bakımından lisans artık sürüm B'yi GPL'nin tamamen izin verdiği şekilde tamamıyla kullanamayacağımı söylüyor. Başka bir deyişle lisans bir kullanıcının GPL altında B gibi değiştirilmiş bir sürümü yayımlamasına gerçekten izin vermez.
Bir kopyanın bu yan kuruluşa taşınmasının “dağıtım” teşkil edip etmediği her durumda uygun yargı otoritesinin telif hakkı yasası gereğince kararlaştırması gereken bir konudur. GPL; yerel yasaları geçersiz kılmaz ve kılamaz. Birleşik Devletler telif hakkı yasası bu konuda tamamen açık değildir ancak bunu dağıtım olarak dikkate almıyor gibi görünüyor.
Bazı ülkelerde bu, dağıtım olarak düşünülürse ve yan kuruluşun programı yeniden dağıtma hakkını alması gerekiyorsa bu uygulamada bir fark yaratmaz. Yan kuruluş, ana şirket tarafından kontrol edilir; haklar var veya yok, ana şirket öyle yapmaya karar vermedikçe programı yeniden dağıtmayacaktır.
Bazı yazılım paketleme sistemleri; GPL'nin koşullarını tıklamanızı veya onayınızı belirtmenizi gerektiren bir yere sahiptir. Bu ne zorunlu ne de yasaktır. Bir tıklama ile veya tıklama olmadan GPL'nin egemenliği aynı kalır.
Yalnızca GPL'yi kabul etmek size herhangi bir yükümlülük getirmez. Yalnızca GPL altında lisanslanan yazılımı kullanmak için herhangi bir şeyi kabul etmeniz gerekmez. Yalnızca yazılımı değiştirseniz veya dağıtırsanız yükümlülükleriniz olur. GPL'yi tıklamanız sizi gerçekten rahatsız ediyorsa hiçbir şey bunu atlamak için GPL'li yazılımı hacklemenizi engellemez.
Hayır. Yükleyici ve kurduğu dosyalar ayrı çalışmalardır. Sonuç olarak GPL'nin koşulları kurulum yazılımı için uygulanamaz.
Bu, GPL ihlali değildir. Bu dağıtıcılar (neredeyse tamamı özgür yazılım dağıtımları ve ilgili hizmetler satan ticari işletmelerdir) davranışınızı denetlemeye değil, kendi hukuki risklerini azaltmaya çalışmaktadır. Birleşik Devletler'deki ihracat kontrol yasası, bilerek yazılımı belli ülkelere ihraç ederlerse veya bu gibi ihracatları yapacaklarını bildikleri taraflara yazılım verirlerse onları sorumlu tutabilir. Müşterilerinden ve yazılımı dağıttıkları diğer kişilerden bu beyannameleri isteyerek daha sonra düzenleyici otoriteler tarafından dağıttıkları yazılımın nereye varacağı hakkında ne bildikleri sorulduğunda kendilerini korurlar. Yazılımla yapabileceklerinizi kısıtlamazlar, yalnızca yaptığınız herhangi bir şeyle ilgili olarak kendilerinin suçlanmasını önlerler. Yazılıma ek kısıtlamalar getirmedikleri için GPLv3'ün 10. bölümünü veya GPLv2'nin 6. bölümünü ihlal etmezler.
FSF, Birleşik Devletler ihracat kontrol yasalarının özgür yazılıma uygulanmasına karşı çıkıyor. Bu gibi yasalar yalnızca yazılım özgürlüğünün genel amacıyla bağdaşmaz, aynı zamanda makul hükûmet amacına ulaşmazlar çünkü özgür yazılım ihracat kontrol yasaları olmayan ve Birleşik Devletler kaynaklı ambargolara katılmayan ülkeler de dâhil olmak üzere şu anda ve her zaman mevcut olmalıdır. Bu nedenle hiçbir ülkenin hükûmeti Birleşik Devletler ihracat kontrol yasaları tarafından doğrusu yoksun bırakılmamakla birlikte hiçbir ülkenin yurttaşı hükûmetlerinin politikalarına karşın, bize kalırsa, özgür yazılımdan yoksun bırakılmamalıdır. FSF tarafından yayımlanan tüm GPL lisanslı yazılımların kopyaları, nerede yaşadığınız veya ne yapmaya niyetlendiğiniz hakkında herhangi bir betimleme yapılmadan bizden edinilebilir. Aynı zamanda FSF, Birleşik Devletler'de bulunan ticari dağıtıcıların Birleşik Devletler yasalarına uyma isteğini anlamaktadır. Onların, özgür yazılımın belirli kopyalarını kime dağıtacaklarını seçme hakkı vardır; bu hakkın kullanılması, GPL tarafından izin verilenlerin ötesinde onlar sözleşmesel kısıtlamalar eklemedikçe GPL'yi ihlal etmez.
Hayır. Bu senaryoda bir ücret ödemeyi sürdürme zorunluluğu, kullanıcının programı çalışma yeteneğini sınırlar. Bu, GPL'nin üstünde ek bir zorunluluktur ve lisans, bunu yasaklar.
İlk olarak lisansın yeni sürümünü paketinize ekleyin. Projenizde LGPLv3 kullanıyorsanız LGPLv3 artık GPLv3'e ek olarak bir ek izinler seti olarak yazıldığından hem GPLv3'ün hem de LGPLv3'ün kopyalarını dâhil ettiğinizden emin olun.
İkinci olarak mevcut tüm v2 lisans bildirimlerinizi (genellikle her dosyanın en üstünde) GNU lisansları nasıl'da mevcut olan yeni önerilen metinle değiştirin. Daha uzun ömürlü çünkü artık FSF'nin normal posta adresini içermiyor.
Tabii ki paketin lisansı hakkında söz eden herhangi bir betimleyici metin (bir README'deki gibi) de uygun bir şekilde güncellenmelidir.
GPLv2 yazılımın peer-to-peer dağıtımı yaygın olmadan önce yazıldığından kodu bu şekilde paylaştığınızda gereksinimleri karşılamak zordur. GPLv2 nesne kodunu BitTorrent'te dağıtırken uygun olduğunuzdan emin olmanın en iyi yolu, ilgili kaynağı aynı torrent'e dâhil etmek olacaktır, bu da çok pahalıdır.
GPLv3 bu sorunu iki şekilde ele alır. İlk olarak bu torrent'i indirip bu sürecin parçası olarak verileri başkalarına gönderen kişilerin herhangi bir şey yapması gerekmez. Çünkü 9. bölüm “Sadece bir kopyayı almak için eşbirimler arası aktarımın bir sonucu olarak meydana gelen bir korunmuş ürünün ikincil yollardan yayılması aynı şekilde onay gerektirmeyen bir durumdur.” b diyor.
İkinci olarak GPLv3'ün 6(e) bölümü alıcılara umumi bir ağ sunucusunun neresinde mevcut olduğunu söyleyerek dağıtıcılara (başlangıçta torrent'i oluşturan insanlar) kaynağı sunmak için açık ve anlaşılır bir yol vermek için tasarlanmıştır. Bu, kaynağı edinmek isteyen herkesin öyle yapabilmesini sağlar ve dağıtıcı açısından neredeyse hiç bir zorluk yoktur.
Bazı aygıtlar yükseltilebilen özgür yazılımdan yararlanır ancak kullanıcıların yazılımı değiştirmesine izin verilmeyecek şekilde tasarlanmıştır. Bunu yapmanın birçok farklı yolu vardır; mesela ara sıra donanım; kurulu olan yazılımın sağlamasını yapar ve beklenen bir imzayla eşleşmezse kapanır. Üreticiler size kaynak kodunu verdiğine göre GPLv2 ile uyumludur ancak yine de kullandığınız yazılımı değiştirme özgürlüğüne sahip değilsiniz. Biz bu uygulamaya tivoizasyon [tivoization] diyoruz.
Kullanıcılar GPLv3 altında yazılım içeren Kullanıcı Ürünleri [User Products] dağıttıklarında 6. bölüm size bu yazılımı değiştirmek için gerekli bilgileri sunmalarını gerektirir. Kullanıcı Ürünleri, lisansta özel olarak tanımlanmış bir terimdir; kullanıcı ürünlerinin örnekleri arasında taşınabilir müzik çalarlar, dijital video kaydedicileri ve ev güvenlik sistemleri bulunur.
Hayır, önlemiyor; istediğiniz her türlü DRM teknolojisini geliştirmek için GPLv3 altında yayımlanan kodu kullanabilirsiniz. Ancak bunu yaparsanız 3. bölüm sistemin etkili bir teknolojik “koruma” önlemi olarak sayılamayacağını söylüyor, bu da birisinin DRM'yi kırarsa yazılımını da DMCA ve benzer yasalar tarafından engellenmeden dağıtmakta özgür olacağı anlamına geliyor.
Her zamanki gibi GNU GPL; insanların yazılımda yaptıklarını kısıtlamaz, yalnızca onların başkalarını kısıtlamalarını durdurur.
Telif hakkıyla korunabilen herhangi bir materyal, GPL lisansı altında lisanslanabilir. GPLv3 ayrıca yarı iletken maskeler gibi diğer telif hakkı benzeri yasalar tarafından kapsanan materyalleri lisanslamak için de kullanılabilir. Yani, bir örnek olarak, fiziksel bir nesnenin veya devrenin çizimini GPL altında yayımlayabilirsiniz.
Birçok durumda telif hakkı, bir çizimden fiziksel donanım yapılmasını kapsamaz. Bu durumlarda çizim için lisansınız, kullandığınız lisansa karşın, fiziksel donanım yapmak veya satmak üzerinde basitçe herhangi bir denetim uygulayamaz. Telif hakkı donanım yapmayı, mesela IC maskelerini, kapsadığında GPL bu durumu yararlı bir şekilde ele alır.
Hayır. İmzalama anahtarlarını yayımlamanız için gereken tek zaman; GPL'li yazılımı bir Kullanıcı Ürünü [User Product] içine taşımış olmanız ve donanımını çalışmadan önce geçerli bir şifreleme imzası için kontrol etmenizdir. Bu özgül durumda aygıta sahip olan herhangi birisine, talep edildiğinde, değiştirilmiş yazılımı çalıştıracak şekilde aygıta imzalamak ve kurmak için anahtarı sunmanız gerekecektir. Aygıtınızın her örneği farklı bir anahtar kullanıyorsa o zaman yalnızca her alıcıya bu örnek için bir anahtar vermeniz gerekir.
Hayır. GPLv3 altındaki yazılım içeren aygıtlar dağıtan şirketlerin, nesne kodunun bir kopyasına sahip olan kişilere kaynağı ve Kurulum Bilgileri [Installation Information]'ni sunmaları gerekir. Bir oylama makinesini (herhangi bir diğer kiosk gibi) kullanan seçmen ona, geçici olarak bile, sahip olmaz, yani seçmen ondaki ikili yazılıma da sahip olmaz.
Ancak oylamanın çok özel bir durum olduğunun farkına varın. Bir bilgisayardaki yazılım sırf özgür diye oy vermek için bilgisayara güvenebileceğimiz anlamına gelmez. Oylama için bilgisayarlara güvenilemeyeceğine inanıyoruz. Oylama, kâğıt üzerinde yapılmalıdır.
Aslında evet. 10. bölüm, yazılımı taşıyan kişilerin diğer lisans sahiplerine patent davaları açmasını önlemektedir. Birisi yine de açarsa, 8. bölüm onların lisansını ve ona eşlik eden herhangi bir paket lisansını nasıl kaybedeceklerini açıklar.
Kod parçaları onları adil kullanım veya benzer yasalar gereğince dâhil edebileceğiniz kadar küçükse o zaman evet. Aksi takdirde hayır.
Bu; kaynak kodunu taşımak için gereken tüm izin ve koşulların, nesne kodunu taşıdığınızda da uygulandığı anlamına gelir: Bir ücret talep edebilirsiniz, telif hakkı bildirimlerini eksiksiz tutmalısınız ve benzeri.
Hayır. GPL'li yazılımı taşırken lisansın belirli bir sürümünün hükümleri ve koşullarına uymanız gerekir. Öyle yaparken bu sürüm sahip olduğunuz yükümlülükleri tanımlar. Kullanıcılar GPL'nin sonraki sürümlerini kullanmayı da seçebilirlerse bu yalnızca sahip oldukları ek bir izindir, GPL'nin sonraki sürümünün koşullarını da yerine getirmenizi gerektirmez.
Bundan topluluğunuzu patentlerle tehdit edebileceğiniz çıkarımını yapmayın. Birçok ülkede GPLv2 altında yazılım dağıtımı, alıcılara GPL gereğince haklarını kullanmaları için örtülü bir patent lisansı sağlar. Olmasa bile patentlerini saldırgan bir şekilde uygulamayı düşünen herhangi birisi topluluğun bir düşmanıdır ve bu gibi bir saldırıya karşı kendimizi savunacağız.
“Katkıcı sürümü” yalnızca kütüphanenin sizin sürümünüzdür.
Hayır. Birçok gereksinim GPLv2'den GPLv3'e değişti, bu da GPLv2'nin tam zorunluluğunun GPLv3'te mevcut olmadığı anlamına gelir ve tersi de doğrudur. Örneğin; GPLv3'ün İptal [Termination] koşulları, GPLv2'ninkilerden epeyce daha hoşgörülü ve bu nedenle GPLv2'nin İptal koşullarından farklıdır.
Bu farklılıklar nedeniyle iki lisans uyumlu değildir: Bu ayrımlar nedeniyle iki lisans uyumlu değildir: GPLv2 altında yayımlanan kodu GPLv3 altındaki kodla birleştirmeyi denediyseniz GPLv2'nin 6. bölümünü ihlal edersiniz.
Ancak kod GPL “sürüm 2 veya daha sonrası” altında yayımlanırsa GPLv3 ile uyumludur çünkü GPLv3 onun izin verdiği seçeneklerden biridir.
GPLv3, gerekli tüm “Kurulum Bilgisi”ni [Installation
Information] dâhil etmek için yeniden dağıtım gerektirir. GPLv2 bu
koşulu kullanmaz ancak yürütülebilirin derlemesini ve kurulumunu kontrol
etmek için kullanılan betikler
e eksiksiz ve ilgili kaynak koduyla dâhil
etmek için yeniden dağıtım gerektirir. Bu; GPLv3'ün Kurulum Bilgisi dediği
şeyin, tamamını değil, bir kısmını kapsar. Bu nedenle GPLv3'ün kurulum
bilgisi hakkındaki zorunluluğu daha güçlüdür.
Bir ihlale çare bulmak, uygulamalarınızı lisansın gereksinimlerine uyacak şekilde ayarlamak anlamına gelir.
Evet. 7. bölüm, özellikle 7(a), kendi feragatlarınızı eklemenize izin verir.
Yapmanız gereken tek şey, İlgili Yasal Uyarılar'ın arayüzünüzdeki kullanıcı için erişilebilir olmasını sağlamaktır. Örneğin; bir ses arayüzü yazdıysanız bildirimleri yüksek sesli okuyan bir komut dâhil edebilirsiniz.
Her ikiniz yazılımı kişisel olarak kullanmak yerine şirketteki çalışmanızda kullandığınız sürece o zaman yanıt hayırdır. Kopyalar şirkete aittir, size veya iş arkadaşınıza değil. Bu kopyalama taşıma değil, yaymadır çünkü şirket kopyaları başkalarına erişilir kılmamaktadır.
Evet. Kullanıcılar onların içlerindeki yazılımı değiştirirse aygıtların garanti altında alınması gerekmediği gibi birisinin GPLv3 kapsamındaki yazılımla üstlenebileceği tüm olası etkinlikleri kapsayan bir garanti vermeniz gerekmez.
GPLv3'ün ilk taslakları, lisans verenlerin 7. bölümde kaynak yayımlamak için Affero benzeri bir zorunluluk eklemelerine izin verdi. Ancak özgür yazılım geliştiren ve ona güvenen bazı şirketler bu zorunluluğun çok külfetli olduğunu düşünmektedir. Bu zorunlulukla koddan kaçınmak istiyorlar ve bu ek zorunluluk için kodu kontrol etmenin yönetsel maliyetleri hakkında kaygılarını dile getirdiler. GNU Affero GPLv3'ü ayrı bir lisans olarak yayımlayarak, bu lisanslar altındaki kodun birbiriyle bağlantı kurmasına izin vermek için ondaki ve GPLv3'teki koşullarıyla, hangi kodun kaynak yayın zorunluluğu olduğunu belirlemeyi kolaylaştırırken tüm orijinal hedeflerimizi gerçekleştiriyoruz.
GPLv2'de kullanılan “dağıtmak” [distribute] terimi, Birleşik Devletler telif hakkı yasasından ödünç alınmıştır. Yıllar geçtikçe bazı yargı otoritelerinin bu aynı sözcüğü kendi telif hakkı yasalarında kullandığını ancak ona farklı anlamlar verdiğini öğrendik. Lisansın nerede yorumlanacağı önemli değil, niyetimizi olabildiğince açık hâle getirmek için bu yeni terimleri icat ettik. Dünyadaki herhangi bir telif hakkı yasasında kullanılmazlar ve onların tanımlarını doğrudan lisansta sunarız.
Hayır çünkü bu iki amaç birbiriyle çelişiyor. GNU GPL, ilave kısıtlamaların eklenmesini önlemek için özel olarak tasarlanmıştır. GPLv3, 7. bölümde çok sınırlı bir kümeye izin verir ancak eklenen başka herhangi bir kısıtlama kullanıcı tarafından kaldırılabilir.
Daha genel olarak bir programı kimin kullanabileceğini veya ne için kullanabileceğini sınırlayan bir lisans, özgür bir yazılım lisansı değildir.
Aşağı yukarı evet. GPLv2'yi uygulama sürecinde bazı yargı merciilerininkendi telif hakkı yasalarında “dağıtmak” sözcüğünü kullandığını ancak farklı anlamlar verdiğini öğrendik. Niyetimizi açık hâle getirmek ve bu farklılıklardan kaynaklanabilecek herhangi bir sorundan kaçınmak için yeni bir terim icat ettik.
“Kamuya erişilir kılma”nın bir örneği, yazılımı umumi bir web veya FTP sunucusuna koymaktır. Bunu yaptıktan sonra doğrusu herhangi birisinin yazılımı sizden edinmesinden önce biraz zaman geçebilir, ancak hemen olabileceği için GPL'nin yükümlülüklerini de hemen yerine getirmeniz gerekir. Bunun sonucu olarak bu etkinliği içerecek şekilde taşıma tanımladık.
Yazılımın kopyalarını kendiniz için oluşturmanız, taşınmayan ana yayma biçimidir. Yazılımı birden çok bilgisayara kurmak veya yedekleme yapmak için bunu yapabilirsiniz.
Hayır. Ön bağlama bir derleme sürecinin parçasıdır; derlemenin diğer yönlerinin üstünde ve ötesinde herhangi bir lisans gereksinimi getirmez. Programı kütüphanelere bağlamanıza herhangi bir şekilde izin veriliyorsa o zaman onlarla da ön bağlarsanız sorun olmaz. Önceden bağlanmış nesne kodunu dağıtırsanız 6. bölümün koşullarını izlemeniz gerekir.
Hayır. Bu konuyu araştırdığımız yargı bölgelerinde bu tür bir alıntı, taşıma olarak sayılmaz. Dizüstü bilgisayarın sahibinin GPL gereğince herhangi bir yükümlülüğü yoktur.
Evet. İki taraf GPL'nin gereksinimlerini karşılamak için birlikte çalışmayı denerse, her ikisi de telif hakkı ihlali için takip edilebilir. Bu; özellikle taşımanın tanımı, birisini ikinci ihlalden sorumlu kılacak faaliyetleri açıkça içerdiğinden doğrudur.
Kaynak çıkış işlemi, külfetli veya başka türlü kısıtlayıcı olmadığı sürece bu kabul edilebilir. Nesne kodunuzu indirebilen herhangi bir kimse açıkça erişilebilir özgür yazılım bir istemci kullanarak sürüm kontrol sisteminizden kaynağı da kontrol edebilmelidir. Kullanıcılara indirdikleri nesne kodu için kaynağın nasıl edinilebileceği konusunda açık ve kullanışlı talimatlar verilmelidir, sonuçta ille de son geliştirme kodunu istemeyebilirler.
Hayır. Yazılım bir Kullanıcı Ürünü içinde taşınırken kaynak ile sağlanması gereken Kurulum Bilgisi'nin tanımı açıkça şöyle diyor: “Bu bilgilendirme, sırf değişiklik yapılmış olması nedeniyle, değiştirilmiş nesne kodunun sürmekte olan işleyişinin hiçbir durumda önlenmiş veya müdahale edilmiş olmadığından emin olmaya yetmelidir.” c Aygıt bir şekilde uzaktan doğrulama kullanıyorsa Kurulum Bilgisi, size değiştirilmiş yazılımınızın kendisini meşru olarak bildirebilmesi için bazı yöntemler sağlamalıdır.
Bu, ağ üzerinden gönderebileceğiniz trafik hakkındaki kurallardan söz eder. Örneğin; günde bir sunucuya gönderebileceğiniz istek sayısı veya bir yere yükleyebileceğiniz dosya boyutu konusunda bir sınır varsa bu sınırlara uymamanız durumunda bu kaynaklara erişiminiz reddedilebilir.
Bu kurallar, doğrudan ağ üzerinden geçen verilerle ilgili olmayan hiçbir şey içermez. Örneğin; ağdaki bir sunucu, kullanıcılar için aygıtınıza iletiler gönderdiyse yalnızca yazılımı iletileri görüntülemeyecek şekilde değiştirdiğiniz için ağa erişiminiz reddedilemez.
Bu; birçok aygıt üreticisinin ürünü kurmanıza, kullanmanıza veya sorun gidermenize yardımcı olmak için sağladığı hizmet türünü içerir. Bir aygıtın düzgün bir biçimde işlemesi için web hizmetlerine veya benzer bir teknolojiye erişmeye bağlı olması durumunda normalde hâlâ bir ağa erişim ile ilgili 6. bölümdeki koşullara tabi olarak değiştirilmiş sürümler için erişilebilir olmalıdır.
Bu basitçe aşağıdaki koşulların lisansta kendileriyle çakışabilecek başka bir şeye göre baskın geldiği anlamına gelir. Örneğin; bu metin olmadan bazı insanlar GPLv3 altındaki kodu AGPLv3 altındaki kodla birleştiremeyeceğinizi iddia edebilirdi çünkü AGPL'nin ek gereksinimleri GPLv3'ün 7. bölümü gereğince “Ek Kısıtlamalar [Further Restrictions]” olarak sınıflandırılacaktı. Bu metin, amaçlanan yorumumuzun doğru olduğunu açıkça ortaya koyuyor ve bileşimi yapabilirsiniz.
Bu metin yalnızca lisansın farklı koşulları arasındaki çakışmaları giderir. İki koşul arasında çakışma olmadığında ikisini de karşılamanız gerekir. Bu paragraflar, lisansın geri kalanını görmezden gelmeniz için size tam yetki vermez, bunun yerine çok sınırlı istisnalar oluştururlar.
“İlgili Kaynak”, lisansın 1. bölümünde tanımlanmıştır ve onun listelediklerini sağlamanız gerekir. Bu nedenle değiştirilmiş sürümünüz Expat lisansı veya GPLv3 gibi diğer lisanslar altındaki kütüphanelere bağlıysa İlgili Kaynak, (sistem Kütüphaneleri olmadıkça) bu kütüphaneleri içermelidir. Bu kütüphaneleri değiştirdiyseniz değiştirilmiş kaynak kodunuzu onlar için sağlamanız gerekir.
13. bölümün ilk paragrafının son tümcesi, yalnızca çoğu insanın doğal olarak varsaydığı bir şeyi pekiştirmek içindir: GPLv3 altında kod içeren bileşimler, 13. bölümdeki özel bir istisna ile ele alınsa da İlgili Kaynak yine de bu şekilde Program ile birleştirilen kodu içermelidir. Bu tümce, yalnızca GPL altında kapsanan kaynağı sağlamanız gerektiği anlamına gelmez; bunun yerine bu, kodun İlgili Kaynak'ın tanımından hariç tutulmadığı anlamına gelir.
Program özellikle kullanıcı isteklerini kabul etmek ve bir ağ üzerinden yanıt göndermek için tasarlanmışsa bu ölçütleri karşılar. Bu kategoriye girecek programların yaygın örnekleri arasında web ve posta sunucuları, etkileşimli web tabanlı uygulamalar ve çevrim içi oynanan oyunlar için sunucular bulunur.
Bir program özellikle bir ağ aracılığıyla bir kullanıcıyla etkileşime girecek şekilde tasarlanmamışsa ancak bunun gerçekleştiği bir ortamda çalıştırılıyorsa bu kategoriye girmez. Örneğin; bir uygulamanın yalnızca kullanıcı SSH veya uzak bir X oturumu üzerinden çalıştırdığı için kaynak sunmasını gerektirmez.
Etkili bir şekilde aynılar. Apache Lisansı 2.0'daki “Tüzel Kişi” [Legal Entity] tanımı, çeşitli yasal sözleşmelerde çok standarttır, öyle ki bir mahkemenin terimi belirgin bir tanımın yokluğunda aynı şekilde yorumlamaması çok şaşırtıcı olacaktır. GPLv3'e baktıklarında ve kimin lisans sahibi olarak nitelendirildiğini düşündüklerinde de tamamen aynı şeyi yapmalarını bekliyoruz.
“Program” terimi; GPLv3 kapsamında lisanslanan ve belirli bir lisans sahibi tarafından üst kaynak lisans verici veya dağıtıcıdan alınan belirli bir çalışma anlamına gelir. Program, onu aldığınız GPLv3 lisansının belirli bir örneğinde aldığınız yazılımın belirli çalışmasıdır.
“Program”, “GPLv3 altında lisanslı tüm çalışmalar” anlamına gelemez; bu yorumun birtakım nedenlerden ötürü hiçbir anlamı yoktur. Bu konuda daha fazla bilgi edinmek isteyenler için “Program” teriminin bir çözümlemesini yayımladık.
Hiçbir şey. GPL, bu faaliyet için herhangi bir koşul koymaz.
AGPLv3, “bir bilgisayar ağı üzerinden uzaktan etkileşim sağlayan tüm kullanıcılara”d kaynak kodu sunan bir program gerektirir. Programı bir “istemci” veya bir “sunucu” olarak adlandırmanız önemli değildir, sormanız gereken soru bir kişinin programla uzaktan bir ağ üzerinden etkileşimde bulunacağı konusunda makul bir beklenti olup olmadığıdır.
Bir vekil sunucudaki yazılım için bu tür bir vekilin kullanıcısına ileti göndermenin normal bir yöntemi aracılığıyla bir kaynak teklifi sunabilirsiniz. Örneğin; bir Web vekili bir hedef sayfa kullanabilir. Kullanıcılar başlangıçta vekili kullanmaya başladığında onları sunmayı seçtiğiniz herhangi diğer bilgilerle birlikte kaynak teklifi içeren bir sayfaya yönlendirebilirsiniz.
AGPL, teklifi “tüm kullanıcılar”a yapmanız gerektiğini söylüyor. Belirli bir kullanıcıya teklifin zaten gösterildiğini biliyorsanız yazılımın güncel sürümü için onu bu kullanıcıya tekrarlamak zorunda değilsiniz.
Çeşitli GNU lisansları birbirleri arasında geniş bir uyumluluğa sahiptir. Bu lisanslardan ikisi altındaki kodu birleştiremeyebileceğiniz tek zaman, bir lisansın yalnızca daha eski bir sürümü altındaki kodu daha yeni bir sürümü altındaki kodla kullanmak istediğiniz zamandır.
Aşağıda özgül durumlar için kullanımı kolay bir referans sağlamak amacıyla GNU lisanslarının çeşitli bileşimleri için ayrıntılı bir uyumluluk koşul takımı sunulmuştur. Başka birisinin bu lisanslardan biri altında bazı yazılımlar yazdığını varsayar ve bir şekilde bu koddan yayımladığınız bir projeye (ya kendi özgür çalışmanız ya da başka birisinin yazılımın değiştirilmiş bir sürümünü) dâhil etmek istersiniz. Projenizin lisansını tablonun üst kısmındaki bir sütunda ve diğer kodun lisansını soldaki bir satırda bulun. Kesiştikleri hücre, size bu bileşime izin verilip verilmediğini söyleyecektir.
“Kod kopyalamak” dediğimizde yalnızca şunu kastediyoruz: Kodun büyük bir bölümünü, değiştirerek veya değiştirmeden, tek bir kaynaktan alıyorsunuz ve bunu kendi programınıza ekliyorsunuz, böylece kodun büyük bir bölümünü taban alan bir çalışma oluşturuyorsunuz. “Bir kütüphane kullanmak” herhangi bir kaynağı doğrudan kopyalamadığınız ancak bunun yerine kodu derlediğinizde veya çalıştırdığınızda kaynakları birbirine bağlayan bağlama, dış alım veya tipik düzeneklerle etkileşime girdiğiniz anlamına gelir.
Matristeki GPLv3 için geçerli her yeri, uyumluluk hakkındaki aynı ifade AGPLv3 için de geçerlidir.
Altında kodumu lisanslamak istiyorum: | |||||||
---|---|---|---|---|---|---|---|
Yalnızca GPLv2 | GPLv2 veya sonrası | GPLv3 veya sonrası | Yalnızca LGPLv2.1 | LGPLv2.1 veya sonrası | LGPLv3 veya sonrası | ||
Altındaki kodu kopyalamak istiyorum: | Yalnızca GPLv2 | EVET | EVET [2] | HAYIR | EVET: yalnızca GPLv2 altında birleştirme [7] | EVET: yalnızca GPLv2 altında birleştirme[7][2] | HAYIR |
GPLv2 veya sonrası | EVET [1] | EVET | EVET | EVET: GPLv2 veya sonrası altında birleştirme [7] | EVET: GPLv2 veya sonrası altında birleştirme [7] | EVET: GPLv3 altında birleştirme [8] | |
GPLv3 | HAYIR | EVET: GPLv3 altında birleştirme [3] | EVET | EVET: GPLv3 altında birleştirme [7] | EVET: GPLv3 altında birleştirme [7] | EVET: GPLv3 altında birleştirme [8] | |
Yalnızca LGPLv2.1 | EVET: Kopyalanmış kodu GPLv2 altında taşıma [7] | EVET: Kopyalanmış kodu GPLv2 veya sonrası altında taşıma [7] | EVET: Kopyalanmış kodu GPLv3 veya sonrası altında taşıma [7] | EVET | EVET [6] | EVET: Kopyalanmış kodu GPLv3 altında taşıma [7][8] | |
LGPLv2.1 veya sonrası | EVET: Kopyalanmış kodu GPLv2 altında taşıma [7][1] | EVET: Kopyalanmış kodu GPLv2 veya sonrası altında taşıma [7] | EVET: Kodu GPLv3 veya sonrası altında taşıma [7] | EVET [5] | EVET | EVET | |
LGPLv3 | HAYIR | EVET: GPLv3 altında birleştirme [8][3] | EVET: GPLv3 altında birleştirme [8] | EVET: GPLv3 altında birleştirme [7][8] | EVET: LGPLv3 altında birleştirme [4] | EVET: LGPLv3 altında birleştirme | |
Altındaki bir kütüphaneyi kullanmak istiyorum: | Yalnızca GPLv2 | EVET | EVET [2] | HAYIR | EVET: yalnızca GPLv2 altında birleştirme [7] | EVET: yalnızca GPLv2 altında birleştirme[7][2] | HAYIR |
GPLv2 veya sonrası | EVET [1] | EVET | EVET | EVET: GPLv2 veya sonrası altında birleştirme [7] | EVET: GPLv2 veya sonrası altında birleştirme [7] | EVET: GPLv3 altında birleştirme [8] | |
GPLv3 | HAYIR | EVET: GPLv3 altında birleştirme [3] | EVET | EVET: GPLv3 altında birleştirme [7] | EVET: GPLv3 altında birleştirme [7] | EVET: GPLv3 altında birleştirme [8] | |
Yalnızca LGPLv2.1 | EVET | EVET | EVET | EVET | EVET | EVET | |
LGPLv2.1 veya sonrası | EVET | EVET | EVET | EVET | EVET | EVET | |
LGPLv3 | HAYIR | EVET: GPLv3 altında birleştirme [9] | EVET | EVET | EVET | EVET |
1: Bu durumda kodu dâhil ederken GPLv2'nin koşullarına uymalısınız. GPL'nin sonraki sürümlerinde koşullardan yararlanamazsınız.
2: Bu durumda hem özgün çalışmanızı hem de GPLv2 veya sonrası olarak aldığınız çalışmanın değiştirilmiş sürümlerini GPLv2 veya sonrası altında yayımlayabilirsiniz ancak yalnızca GPLv2 olan kodun GPLv2 altında kalması gerektiğine dikkat edin. Projeniz bu koda bağlı olduğu sürece projenizin lisansını GPLv3 veya sonrasına yükseltemezsiniz ve bir bütün (hem projenizin hem de diğer kodun herhangi bir birleşimi) olarak çalışma yalnızca GPLv2'nin koşulları gereğince taşınabilir.
3: Projeyi GPLv2 veya sonraki herhangi bir sürüm altında yayımlama beceriniz varsa onu GPLv3 veya sonraki herhangi bir sürüm altında yayımlamayı seçebilirsiniz, ve bunu yapar yapmaz GPLv3 altında yayımlanan kodu dâhil edebilirsiniz.
4: Projeyi LGPLv2.1 veya sonraki herhangi bir sürüm altında yayımlama beceriniz varsa onu LGPLv3 veya sonraki herhangi bir sürüm altında yayımlamayı seçebilirsiniz, ve bunu yapar yapmaz LGPL altında yayımlanan kodu dâhil edebileceksiniz.
5: Bu durumda kodu dâhil ederken LGPLv2.1'in koşullarına uymalısınız. LGPL'nin sonraki sürümlerinde koşullardan yararlanamazsınız.
6: Bunu yaparsanız proje yalnızca LGPLv2.1 altında yayımlanan kodu içerdiği sürece projenin lisansını LGPLv3 veya sonrasına yükseltemeyeceksiniz.
7: LGPLv2.1, GPLv2'den beri GPL'nin herhangi bir sürümü altında kodu yeniden lisanslamanıza izin verir. Bu durumda LGPL'li kodu GPL'nin uygun bir sürümünü kullanarak değiştirebilirseniz (tabloda belirtildiği gibi) bu birleştirmeyi yapabilirsiniz.
8: LGPLv3, bu durumda görmezden gelebileceğimiz GPLv3 artı ek izinlerdir.
9: GPLv2, LGPLv3 ile birleşimlere izin vermediğinden projeyi bu durumda GPLv3'ün koşulları altına taşımalısınız çünkü o, bu birleşime izin verecektir.