Bu, orijinali İngilizce olan bir sayfanın çevirisidir.

GNU Lisansları Hakkında Sıkça Sorulan Sorular

İçindekiler


GNU Projesi, Özgür Yazılım Vakfı ve lisansları hakkında temel sorular

GNU lisanslarının genel anlayışı

Programlarınız için GNU lisanslarını kullanma

GNU lisansları altında yayımlanan programın dağıtımı

Başka programlar yazarken GNU lisansları altında yayımlanan programları kullanma

GNU lisansları altında yayımlanmış kodla çalışmayı birleştirme

GNU lisanslarının ihlali hakkında sorular


“GPL” ne anlama geliyor? (#WhatDoesGPLStandFor)

“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.

Özgür yazılım, GPL'yi kullanmak anlamına mı geliyor? (#DoesFreeSoftwareMeanUsingTheGPL)

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.

Neden diğer özgür yazılım lisansları yerine GNU GPL'yi kullanmalıyım? (#WhyUseGPL)

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.

Tüm GNU yazılımları, GNU GPL'yi lisansı olarak kullanıyor mu? (#DoesAllGNUSoftwareUseTheGNUGPLAsItsLicense)

Ç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.

Bir program için GPL'yi kullanmak, onu GNU yazılımı yapar mı? (#DoesUsingTheGPLForAProgramMakeItGNUSoftware)

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.

Olası bir GPL ihlali bulursam ne yapmalıyım? (#ReportingViolation)

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.

GPL, kullanıcıların değiştirilmiş sürümlerini yayımlamalarına neden izin veriyor? (#WhyDoesTheGPLPermitUsersToPublishTheirModifiedVersions)

Ö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ümlerin kaynak kodunun kamuya yayımlanmasını gerektiriyor mu? (#GPLRequireSourcePostedPublic)

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.

Aynı bilgisayarda GPL kapsamındaki bir programı ve alakasız, özgür olmayan bir programı bulundurabilir miyim? (#GPLAndNonfreeOnSameMachine)

Evet.

GPL kapsamındaki bir programın bir kopyasına birisinin sahip olduğunu bilirsem bana bir kopya vermesini talep edebilir miyim? (#CanIDemandACopy)

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.

GPLv2'deki “herhangi bir üçüncü taraf için geçerli yazılı teklif” ne anlama geliyor? Bu, dünyadaki herkesin ne olursa olsun GPL kapsamındaki herhangi bir program için kaynağa erişebileceği anlamına mı geliyor? (#WhatDoesWrittenOfferValid)

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.

GPL, değiştirilmiş sürümlerin yayımlanması durumunda “tüm üçüncü taraflara … lisanslı” olması gerektiğini söylüyor. Bu üçüncü taraflar kimler? (#TheGPLSaysModifiedVersions)

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.

GPL kapsamındaki bir programda yaptığım değişiklikler için telif hakkı talep etmem gerekiyor mu? (#RequiredToClaimCopyright)

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).

GPL, bazı kodları farklı bir programlama diline çevirme konusunda ne diyor? (#TranslateCode)

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.

Bir program kamu malı kodu, GPL kapsamındaki kodla birleştirirse kamu malı kısmı alabilir ve onu kamu malı kod olarak kullanabilir miyim? (#CombinePublicDomainWithGPL)

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.

GPL, programın kopyalarını para karşılığında satmama izin veriyor mu? (#DoesTheGPLAllowMoney)

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.)

GPL, programın dağıtım sitemden indirilmesi için bir ücret talep etmeme izin veriyor mu? (#DoesTheGPLAllowDownloadFee)

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.

GPL; yazılımı alan herhangi birisinin bana ücret ödemesini ve/veya bana bildirmesini istememe izin veriyor mu? (#DoesTheGPLAllowRequireFee)

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.

GPL kapsamındaki yazılımı bir ücret karşılığında dağıtırsam ücretsiz olarak kamuya da erişilir kılmam gerekir mi? (#DoesTheGPLRequireAvailabilityToPublic)

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.

GPL, bir gizlilik sözleşmesi altında bir kopya dağıtmama izin veriyor mu? (#DoesTheGPLAllowNDA)

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.

GPL, bir gizlilik sözleşmesi altında değiştirilmiş veya beta bir sürüm dağıtmama izin veriyor mu? (#DoesTheGPLAllowModNDA)

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.

GPL, bir gizlilik sözleşmesi altında değiştirilmiş bir sürüm geliştirmeme izin veriyor mu? (#DevelopChangesUnderNDA)

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.

Çalışmam için takdir edilmek istiyorum. İnsanların ne yazdığımı bilmesini istiyorum. GPL'yi kullanırsam hâlâ beğeni toplayabilir miyim? (#IWantCredit)

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.

GPL, GPL kapsamındaki yazılımı veya çıktısını kullanan araştırma makalelerinde atıf veya teşekkür gerektiren koşullar eklememe izin veriyor mu? (#RequireCitation)

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.

GPL neden programın her kopyasına GPL'nin bir kopyasını dâhil etmeyi gerektirir? (#WhyMustIInclude)

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.

Depoma GNU GPL'nin bir kopyasını koymam, GPL'yi uygulamam için yeterli mi? (#LicenseCopyOnly)

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.

Neden her kaynak dosyaya bir lisans bildirimi koymalıyım? (#NoticeInSourceFile)

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.

Ya çalışma çok uzun değilse? (#WhatIfWorkIsShort)

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.

Yer kazanmak için GPL'nin önsözünü veya kendi programlarınızda nasıl kullanabileceğinize ilişkin talimatları atlayabilir miyim? (#GPLOmitPreamble)

Ö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 lisansın “uyumlu” olduğunu söylemek ne anlama geliyor? (#WhatIsCompatible)

İ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.

Bir lisansın “GPL ile uyumlu” olduğunu söylemek ne anlama geliyor? (#WhatDoesCompatMean)

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.

Özgür olmayan kütüphaneler kullanan özgür yazılım yazabilir miyim? (#FSWithNFLibs)

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.

Bir GPL programını özel mülk bir sistem kütüphanesi ile bağlayabilir miyim? (#SystemLibraryException)

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.

AGPLv3 kapsamındaki kodla GPLv3 kapsamındaki kodu hangi şekillerde bağlayabilir veya birleştirebilirim? (#AGPLGPL)

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.

GPL yazılımı ile GPL uyumlu olmayan kütüphaneler kullanırsam hangi yasal sorunlar ortaya çıkar? (#GPLIncompatibleLibs)

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.

Programımın GPL altında yayımlanması için nasıl bir telif hakkı alabilirim? (#HowIGetCopyright)

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.)

Ya okulum, programımı kendi özel mülk yazılım ürününe dönüştürmek isterse? (#WhatIfSchool)

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'yi programıma nasıl uygulayacağıma ilişkin bana adım adım talimatlar verebilir misiniz? (#CouldYouHelpApplyGPL)

GPL talimatları sayfasına bakın.

Birinin başka bir lisans altında GPL'li bir programın bir kopyasını edindiğini duydum. Bu mümkün mü? (#HeardOtherLicense)

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.

GNU GPL altında yazdığım bir programı yayımlamak istiyorum ancak aynı kodu özgür olmayan programlarda kullanmak istiyorum. (#ReleaseUnderGPLAndNF)

Ö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.

GPL kapsamındaki bir programın geliştiricisi, GPL'e bağlı mıdır? Geliştiricinin eylemleri hiç GPL'nin bir ihlali olabilir mi? (#DeveloperViolate)

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.

GPL altında dağıtılan programın geliştiricisi, programı daha sonra özel kullanım için başka bir tarafa lisanslayabilir mi? (#CanDeveloperThirdParty)

Hayır çünkü kamunun zaten GPL altında programı kullanma hakkı vardır ve bu hak geri alınamaz.

Özgür olmayan programlar geliştirmek için GNU Emacs gibi GPL kapsamındaki düzenleyicileri kullanabilir miyim? Onları derlemek için GCC gibi GPL kapsamındaki araçları kullanabilir miyim? (#CanIUseGPLToolsForNF)

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ı.

GPL kapsamındaki bir programın kaynak kodunu kullanmada “adil kullanım” haklarım var mı? (#GPLFairUse)

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.

Birleşik Devletler Hükûmeti, GNU GPL altında bir program yayımlayabilir mi? (#GPLUSGov)

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.

Birleşik Devletler Hükûmeti, GPL kapsamındaki bir programda iyileştirmeler yayımlayabilir mi? (#GPLUSGovAdd)

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.

GPL'nin kapsam dâhilindeki bir çalışmayla statik ve dinamik olarak bağlı modüller için farklı gereksinimleri var mı? (#GPLStaticVsDynamic)

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'nin kapsam dâhilindeki bir çalışmayla statik ve dinamik olarak bağlı modüller için farklı gereksinimleri var mı? (#LGPLStaticVsDynamic)

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.

İnsanların programımın kullanımından elde ettikleri çıktıyı GPL yapabilmemin bir yolu var mı? Örneğin; programım, donanım tasarımları geliştirmek için kullanılıyorsa bu tasarımların özgür olması gerektiğini talep edebilir miyim? (#GPLOutput)

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ı.

Hangi durumlarda bir GPL programının çıktısı, GPL tarafından kapsanmaktadır? (#WhatCaseIsOutputGPL)

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 kapsamındaki bir programa bir modül eklersem GPL'yi modülüm için lisans olarak kullanmak zorunda mıyım? (#GPLModuleLicense)

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.

Bir kütüphane GPL altında yayımlanırsa bu, onu kullanan herhangi bir yazılımın GPL veya GPL uyumlu bir lisans altında olması gerektiği anlamına mı gelir? (#IfLibraryIsGPL)

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?

Bir programlama dili yorumlayıcısı, GPL altında yayımlanırsa bu; yorumlanması gereken programların GPL uyumlu lisanslar altında olması gerektiği anlamına mı geliyor? (#IfInterpreterIsGPL)

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.

Microsoft Visual C++ ile bir Windows uygulaması yazıyorum ve onu, GPL altında yayımlayacağım. Programımı GPL altında Visual C++ çalışma zamanı kütüphanesine dinamik olarak bağlamaya izin veriliyor mu? (#WindowsRuntimeAndGPL)

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.

Özgün BSD lisansı neden GPL ile uyumlu değil? (#OrigBSD)

Çü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.

Bir program ve eklentileri ne zaman tek bir bileşik program olarak düşünülür? (#GPLPlugins)

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.

GPL kapsamındaki bir programla kullanılması için bir eklenti yazarsam eklentimi dağıtmak için kullanabileceğim lisanslarla ilgili hangi gereksinimler gelir? (#GPLAndPlugins)

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.

Özgür olmayan bir program için eklenti yazarken GPL'yi uygulayabilir miyim? (#GPLPluginsInNF)

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.

GPL kapsamındaki bir eklentiyi yüklemek için tasarlanmış özgür olmayan bir program yayımlayabilir miyim? (#NFUseGPLPlugins)

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.

Özel mülk bir program oluşturmak için kodumla birbirine bağlamak istediğim bir GPL'li programınız var. Programınıza bağladığım gerçeği, programımı GPL yapmak zorunda olduğum anlamına mı geliyor? (#LinkingWithGPL)

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.

Öyleyse Kısıtlı GPL altındaki programınızın bir lisansını edinebilme şansım var mı? (#SwitchToLGPL)

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 çekirdeği ile bağlamaya niyetlenilerek özgür olmayan bir sürücünün dağıtılması, GPL'yi ihlal ediyor mu? (#NonfreeDriverKernelLinux)

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.

Özel mülk modüllerin GPL kapsamındaki kütüphanemle yalnızca denetimli bir arayüz altında bağlanmasına nasıl izin verebilirim? (#LinkingOverControlledInterface)

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.

Farklı lisanslara sahip, birçok farklı bileşenle bağlanan bir uygulama yazdım. Programıma hangi lisanslama zorunluluklarının yerleştirildiği konusunda kafam çok karıştı. Hangi lisansları kullanabileceğimi söyler misiniz? (#ManyDifferentLicenses)

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:

  • Yazılım çalışmamı yapabilmem için Kısıtlı GPL altında mevcut olan FOO kütüphanesine bağlı olması gerekir.
  • Yazılımım, “GPL altında lisanslanan, BAR programını çalıştırmak için (oluşturduğum bir komut satırıyla) QUUX ile bağlamak için izin veren özel bir istisna ile” bir sistem çağrısı yapıyor.
Bir “birleştirme” ve “değiştirilmiş sürümler”in diğer türleri arasındaki fark nedir? (#MereAggregation)

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.

İki yazılım parçasının tek bir çalışma oluşturup oluşturmadığını belirleme söz konusu olduğunda kodun bir veya daha fazla konteynerde olması, herhangi bir etkiye sahip mi? (#AggregateContainers)

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.

FSF neden FSF telifli programlara katkıda bulunanlardan FSF'ye telif hakkı devretmesini istiyor? GPL'li bir programın telif hakkına sahipsem bunu da yapmalı mıyım? Öyleyse nasıl? (#AssignCopyright)

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'yi değiştirebilir ve değiştirilmiş bir lisans yapabilir miyim? (#ModifyGPL)

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.

GNU GPL altında edinilmiş bir yazılım parçasını kullanırsam özgün kodu yeni bir programda değiştirebilir, sonra bu yeni programı ticari olarak dağıtabilir ve satabilir miyim? (#GPLCommercially)

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.

GPL'yi yazılımdan başka bir şey için kullanabilir miyim? (#GPLOtherThanSoftware)

Ç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.

LGPL, Java ile nasıl işler? (#LGPLJava)

Ayrıntılar için bu yazıya bakın. Tasarlandığı, niyet edildiği ve beklendiği gibi işler.

Bu durumu düşünün: 1) X, GPL altındaki bir projenin V1'ini yayımladı. 2) Y; V1'i temel alan yeni koda ve değişikliklerle V2'nin geliştirilmesine katkıda bulunur. 3) X, V2'yi GPL olmayan bir lisansa dönüştürmek istiyor. X'in, Y'nin iznine ihtiyacı var mı? (#Consider)

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 sistemime dâhil etmek istiyorum. GPL'nin bana verdiği dışında bu yazılımı kullanma iznim yok. Bunu yapabilir miyim? (#GPLInProprietarySystem)

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.

GPL altında belli bir GNU programını kullanmak, özel mülk yapma projemize uymuyor. Bizim için istisna yapar mısın? Bu, bu programın daha fazla kullanıcısı olacağı anlamına gelecekti. (#WillYouMakeAnException)

Ö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.

GPL kapsamındaki yazılımı özel mülk sistemime dâhil etmek istiyorum. GPL kapsamındaki kısım ile özel mülk kısım arasına GPL uyumlu, esnek, hoşgörülü bir lisans (X11 gibi) altındaki bir “wrapper” modülü koyarak bunu yapabilir miyim? (#GPLWrapper)

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 Zamanı Kütüphanesi İstisnası hakkında nereden daha fazla bilgi edinebilirim? (#LibGCCException)

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.

GPL kapsamındaki programları değiştirmek ve Money Guzzler Inc.'ın taşınabilirlik kütüphaneleriyle bağlamak istiyorum. Bu kütüphaneler için kaynak kodunu dağıtamıyorum, bu yüzden bu sürümleri değiştirmek isteyen herhangi bir kullanıcı; bu kütüphaneleri ayrı ayrı edinmek zorunda kalacaktı. GPL buna neden izin vermiyor? (#MoneyGuzzlerInc)

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 Q modülü için lisans, GPL ile uyumlu olmayan bir zorunluluğa sahipse ancak zorunluluk; Q daha büyük bir programa dâhil edildiğinde değil, yalnızca Q kendi başına dağıtıldığında geçerliyse bu, lisansı GPL uyumlu yapar mı? Q'yi GPL kapsamındaki bir programla birleştirebilir veya bağlayabilir miyim? (#GPLIncompatibleAlone)

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.

GPL kapsamındaki bir programın değiştirilmiş bir sürümünü yalnızca ikili biçimde yayımlayabilir miyim? (#ModifiedJustBinary)

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.

Ben ikili biçimi internetten yalnızca indirdim. Kopyaları dağıtırsam kaynağı edinip dağıtmam da gerekir mi? (#UnchangedJustBinary)

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.

İkilileri eşlik eden kaynaklar olmadan fiziksel medya aracılığıyla dağıtmak istiyorum. Kaynak kodunu posta ile gönderim yerine FTP ile sağlayabilir miyim? (#DistributeWithSourceOnInternet)

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.

Arkadaşım kaynak sağlama teklifiyle GPL kapsamındaki ikiliyi aldı ve benim için bir kopyasını yaptı. Kaynağı edinmek için teklifi kullanabilir miyim? (#RedistributedBinariesGetSource)

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.

İkilileri İnternet sunucuma koyabilir ve kaynağı, farklı bir İnternet sitesine koyabilir miyim? (#SourceAndBinaryOnDifferentSites)

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.

GPL kapsamındaki bir programın genişletilmiş bir sürümünü ikili biçimde dağıtmak istiyorum. Özgün sürümün kaynağını dağıtmak yeterli mi? (#DistributeExtendedBinary)

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.

İkilileri dağıtmak istiyorum ancak tam kaynak dağıtmak zahmetli. Kullanıcılara ikililer ile birlikte “standart” sürümden farkları verirsem sorun yaratır mı? (#DistributingSourceIsInconvenient)

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.

İkilileri bir ağ sunucusunda erişilir kılabilir ancak kaynakları yalnızca talep eden kişilere gönderebilir miyim? (#AnonFTPAndSendSources)

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.

İkilileri indiren her kullanıcının kaynağı da edindiğinden nasıl emin olabilirim? (#HowCanIMakeSureEachDownloadGetsSource)

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.

GPL, dağıttığım ikilinin tam sağlamasıyla eşleşecek şekilde oluşturulabilecek kaynak kodu sağlamamı talep ediyor mu? (#MustSourceBuildToMatchExactHashOfBinary)

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.

Bir şirket, bir web sitesinde GPL'li bir programın değiştirilmiş bir sürümünü çalıştırıyor. GPL, onların değiştirilmiş kaynaklarını yayımlamaları gerektiğini söylüyor mu? (#UnreleasedMods)

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.

Bir şirket, bir web sitesinde GPL'li bir programın değiştirilmiş bir sürümünü çalıştırıyor. GPL, onların değiştirilmiş kaynaklarını yayımlamaları gerektiğini söylüyor mu? (#UnreleasedModsAGPL)

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.

Bir kuruluş veya şirket içinde kullanım, “dağıtım” mıdır? (#InternalDistribution)

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.

Birisi GPL kapsamındaki bir programın bir sürümünü içeren bir CD çalarsa GPL, ona bu sürümü yeniden dağıtma hakkını verir mi? (#StolenCopy)

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.

Bir şirket, diğer bazı geliştiricilerin GPL kapsamındaki çalışmasının bir kopyasını bana ticari bir sır olarak dağıtırsa ne olur? (#TradeSecretRelease)

Ş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.

Bir şirket, kendi GPL kapsamındaki çalışmasının bir kopyasını bana ticari bir sır olarak dağıtırsa ne olur? (#TradeSecretRelease2)

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.

Neden bazı GNU kütüphaneleri, Kısıtlı GPL yerine normal GPL altında yayımlandı? (#WhySomeGPLAndNotLGPL)

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.

Programlar neden “Version 3 of the GPL or any later version ” (GPL'nin 3. veya daha sonraki bir sürümü) demeli? (#VersionThreeOrLater)

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.

Belli bir programın yalnızca GNU GPL'nin son sürümü altında kullanılabileceğini söyleyen bir lisans kullanmak, iyi bir fikir midir? (#OnlyLatestVersion)

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.

Neden kılavuzlar için GPL'yi kullanmıyorsunuz? (#WhyNotGPLForManuals)

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.

GPL, yazı tipleri için nasıl uygulanır? (#FontException)

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.

Bir web sitesi bakım sistemi (kimilerince “içerik yönetim sistemi” olarak adlandırılır) veya şablonlardan web sayfaları oluşturan başka bir uygulama yazıyorum. Bu şablonlar için hangi lisansı kullanmalıyım? (#WMS)

Ş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.

Yukarıdaki içeriğin bir şeması

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.

Özel mülk araçlar kullanarak geliştirdiğim bir programı GPL altında yayımlayabilir miyim? (#NonFreeTools)

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.

GPL'nin diğer dillere çevirileri var mı? (#GPLTranslations)

İ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.

Bir programlama dili yorumlayıcısı, GPL ile uyumlu olmayan bir lisansa sahipse onda GPL kapsamındaki programları çalıştırabilir miyim? (#InterpreterIncompat)

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:

  1. Kod yazıyorsanız ve onu GPL altında yayımlıyorsanız bu GPL uyumlu olmayan parçalarla onu bağlamaya izin veren belirgin bir istisna belirtebilirsiniz.
  2. Programı GPL altında yazıp yayımladıysanız ve özellikle bu parçalarla çalışmak üzere tasarladıysanız insanlar bu parçalarla onu bağlamaya onlara izin veren örtülü bir istisna olarak alabilir. Eğer niyetiniz buysa, açıkça belirtmek iyi olacaktır.
  3. Başkasının GPL kapsamındaki kodunu alıp bu şekilde kullanamazsınız veya ona bu gibi istisnalar ekleyemezsiniz. Yalnızca bu kodun telif hakkı sahipleri istisnayı ekleyebilir.
Kimler GPL'yi uygulama yetkisine sahiptir? (#WhoHasThePower)

GPL bir telif hakkı lisansı olduğundan yazılımın telif hakkı sahipleri GPL'yi uygulama yetkisine sahip olanlardır. 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. GPL ihlallerini bildirme hakkında daha fazla bilgi edinin.

Java gibi nesne yönelimli bir dilde değiştirmeden GPL'li olan bir sınıfı kullanır ve ondan bir alt sınıf oluşturursam, GPL daha büyük programı ne şekilde etkiler? (#OOPLang)

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.

Programımı GNU/Linux'a aktarırsam bu, onu GPL veya başka bir özgür yazılım lisansı altında özgür yazılım olarak yayımlamam gerektiği anlamına mı gelir? (#PortProgramToGPL)

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.

Bir şirketin, GPL'li bir programın bir kopyasına sahip olduğunu öğrendim ve bunu edinmenin paraya mal olduğunu öğrendim. Onu İnternet'te erişilir kılmayarak GPL'yi ihlal etmiyorlar mı? (#CompanyGPLCostsMoney)

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.

Değiştirilmiş sürümlerini GPL altında dağıtabileceğinizi ancak özgünün kendisini GPL altında dağıtamayacağınızı söyleyen bir lisansla bir program yayımlayabilir miyim? (#ReleaseNotOriginal)

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 kopyayı çoğunluğuna sahip olunan ve yönetilen bir yan kuruluşa taşımak, dağıtım teşkil eder mi? (#DistributeSubsidiary)

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.

Yazılım yükleyicileri insanlardan GPL'yi kabul etmesi için onaya tıklamalarını isteyebilir mi? GPL altında bir yazılım edinirsem herhangi bir şeyi kabul etmek zorunda mıyım? (#ClickThrough)

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.

GPL'li yazılımı bir tür kurulum yazılımı ile paketlemek istiyorum. Bu kurulum yazılımının GPL uyumlu bir lisansa sahip olması gerekiyor mu? (#GPLCompatInstaller)

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.

Bazı GPL altındaki yazılım dağıtıcıları, bütün kapsayan EULA kapsamında Birleşik Devletler'de olduğumu “sunmamı ve garanti etmemi” gerektiriyorsa veya yazılımı ilgili ihracat kontrol yasalarına uygun olarak dağıtma niyetinde olmam gerekiyor. Bunu neden yapıyorlar ve bu dağıtıcıların GPL kapsamında yükümlülükleri bir ihlal midir? (#ExportWarranties)

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.

Müşteriler, bir abonelik ücreti ödemeye devam etmezse çalışmayı durduracak bir aygıtta GPL'li yazılımı kullanabilir miyim? (#SubscriptionFee)

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.

(L)GPLv2'den (L)GPLv3'e nasıl yükseltebilirim? (#v3HowToUpgrade)

İ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.

GPLv3, BitTorrent dağıtımını nasıl kolaylaştırır? (#BitTorrent)

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.

Tivoizasyon nedir? GPLv3 bunu nasıl önler? (#Tivoization)

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.

GPLv3 DRM'yi önlüyor mu? (#DRMProhibited)

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.

GPL'yi donanımı lisanslamak için kullanabilir miyim? (#GPLHardware)

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.

Kodumun güvenilirliğini güvence altına almak amacıyla kodumu imzalamak için açık anahtarlı şifrelemeyi kullanıyorum. GPLv3'ün özel imzalama anahtarlarımı yayımlamam için beni zorladığı doğru mu? (#GiveUpKeys)

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.

GPLv3; seçmenlerin, oylama makinesinde çalışan yazılımı değiştirebilmelerini talep ediyor mu? (#v3VotingMachine)

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.

GPLv3'te “patent misilleme şartı” var mı? (#v3PatentRetaliation)

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.

GPL ile uyumlu olmayan bir lisans altında lisanslanan belgelemenin içinde GPL kapsamındaki kaynak kodunun parçacıklarını kullanabilir miyim? (#SourceCodeInDocumentation)

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.

GPLv3 6. bölümün başlangıcı; 6. bölümün koşullarını da yerine getirmem koşuluyla kapsam dâhilindeki bir çalışmayı “4. ve 5. bölümün koşulları gereğince” nesne kodu biçiminde taşıyabileceğimi söylüyor. Bu ne anlama geliyor? (#v3Under4and5)

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.

Şirketimin birçok patenti var. Yıllar boyunca “GPL'nin 2. sürümü veya daha sonraki herhangi bir sürümü” altındaki projelere kod katkısında bulunduk ve projenin kendisi aynı koşullar altında dağıtıldı. Bir kullanıcı, projenin kaynak kodunu (katkılarımı bünyesine katarak) GPLv3 altında almaya karar verirse bu otomatik olarak GPLv3'ün belirgin patent lisansını o kullanıcıya verdiğim anlamına mı geliyor? (#v2OrLaterPatentLicense)

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.

Değiştirdiğim LGPLv3 kapsamındaki bir kütüphaneye bağlanan özel mülk bir programı dağıtırsam yaptığım belirgin patent lisansı hibesinin kapsamını belirlemek amacıyla “katkıcı sürümü” [contributor version] nedir: yalnızca kütüphane mi yoksa bütün bileşim mi? (#LGPLv3ContributorVersion)

“Katkıcı sürümü” yalnızca kütüphanenin sizin sürümünüzdür.

GPLv3, GPLv2 ile uyumlu mu? (#v2v3Compatibility)

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.

GPLv2'nin kurulum bilgisi verme konusunda bir gereksinimi var mı? (#InstInfo)

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 betiklere 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 GPLv3 ihlaline “çare bulmak” ne anlama geliyor? (#Cure)

Bir ihlale çare bulmak, uygulamalarınızı lisansın gereksinimlerine uyacak şekilde ayarlamak anlamına gelir.

GPLv3'teki garanti ve sorumluluk feragatları, Birleşik Devletler hukukuna özgü görünüyor. Kendi koduma kendi feragatlarımı ekleyebilir miyim? (#v3InternationalDisclaimers)

Evet. 7. bölüm, özellikle 7(a), kendi feragatlarınızı eklemenize izin verir.

Programımın doğası gereği görsel olmayan, etkileşimli kullanıcı arabirimleri var. GPLv3'teki İlgili Yasal Uyarılar [Appropriate Legal Notices] koşuluna nasıl uyabilirim? (#NonvisualLegalNotices)

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.

Şirketimdeki bir iş arkadaşıma GPL kapsamındaki bir programın bir kopyasını verirsem kopyayı bu iş arkadaşıma “taşımış” mı olurum? (#v3CoworkerConveying)

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.

GPLv3 kapsamındaki bir programı dağıtırsam kullanıcı, programı değiştirirse geçersiz olan bir garanti verebilir miyim? (#v3ConditionalWarranty)

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.

Neden GNU Affero GPLv3'ü ayrı bir lisans olarak yazmaya karar verdiniz? (#SeparateAffero)

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.

GPLv3'te neden yeni “yaymak” [propagate] ve “taşımak ” [convey] terimlerini neden icat ettiniz? (#WhyPropagateAndConvey)

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.

Kodumu GPL altında lisanslamak istiyorum ancak bunun askerî ve/veya ticari kullanımlar için kullanılamayacağını da açıkça belirtmek istiyorum. Bunu yapabilir miyim? (#NoMilitary)

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.

GPLv3'teki “taşımak” [convey] ile GPLv2'deki “dağıtmak ” aynı anlama gelen şeyler midir? (#ConveyVsDistribute)

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.

GPLv3, yayma örneği olarak “kamuya erişilir kılma”yı vermektedir. Bu ne anlama geliyor? Erişilir kılmak, bir taşıma biçimi midir? (#v3MakingAvailable)

“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.

Dağıtım ve kamuya erişilir kılma; GPLv3'te de taşıyan yayma biçimleri olduğundan taşıma oluşturmayan bazı yayma örnekleri nelerdir? (#PropagationNotConveying)

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.

Sistemdeki, performansını optimize etmek için, çeşitli kütüphanelere GPL'li bir ikiliyi ön bağlama yapmak; değişiklik sayılır mı? (#Prelinking)

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.

Birisi, GPL'li yazılımı bir dizüstü bilgisayara kurar ve ardından bu dizüstü bilgisayarı yazılım için kaynak kodu sağlamadan bir arkadaşına ödünç verirse GPL'yi ihlal etmiş olurlar mı? (#LaptopLoan)

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.

İki şirketin, bir şirketin imzalı yazılımı yayımlamasını ve diğerinin yalnızca ilk şirketten imzalı yazılımı çalıştıran bir Kullanıcı Ürünü'nü yayımlamasını sağlayarak Kurulum Bilgisi sağlama zorunluluğunu atlatmaya çalıştığını varsayalım. Bu bir GPLv3 ihlali midir? (#TwoPartyTivoization)

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.

CVS veya Subversion gibi bir sürüm kontrol sisteminde bir kaynak kodu deposuna bir bağlantı yoluyla bir FTP sunucusunda ve kaynaklarda ikililer sunuyorsam GPLv3'e uyuyor muyum? (#SourceInCVS)

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.

Bir Kullanıcı Ürünü'nde GPLv3 kapsamındaki yazılımı taşıyan birisi; bir kullanıcının bu yazılımı değiştirmesini önlemek için uzaktan doğrulamayı kullanabilir mi? (#RemoteAttestation)

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.

GPLv3'teki “ağ üzerindeki iletişimin kural ve protokolleri” ne anlama geliyor? (#RulesProtocols)

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.

GPLv3 altında Kurulum Bilgisi sağlayan dağıtıcıların ürün için “destek hizmeti” sağlamaları gerekmez. Ne tür bir “destek hizmeti” demek istiyorsunuz? (#SupportService)

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.

GPLv3 ve AGPLv3'te “işbu lisansın diğer hükümlerine bakılmaksızın” (notwithstanding any other provision of this License) denirken ne denmek isteniyor? (#v3Notwithstanding)

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.

AGPLv3 gereğince Program'ı 13. bölüm altında değiştirdiğimde hangi İlgili Kaynak'ın sunulması gerekir? (#AGPLv3CorrespondingSource)

“İ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.

AGPLv3'te “[yazılım] ile bir bilgisayar ağı aracılığıyla uzaktan etkileşim kurma” olarak sayılan şey nedir? (#AGPLv3InteractingRemotely)

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.

GPLv3'ün “siz” kavramıyla, Apache Lisansı 2.0'daki “Tüzel Kişi” tanımıyla nasıl benzeşir? (#ApacheLegalEntity)

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.

GPLv3'te “Program” neyi kast ediyor? GPLv3 altında yayımlanan her programı mı? (#v3TheProgram)

“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.

Yalnızca GPL kapsamındaki programın kopyalarını oluşturur ve onları başkalarına dağıtmadan veya başkalarına taşımadan çalıştırırsam lisans benden ne talep eder? (#NoDistributionRequirements)

Hiçbir şey. GPL, bu faaliyet için herhangi bir koşul koymaz.

Bazı ağ istemcisi yazılımları, AGPLv3 altında yayımlanırsa etkileşime girdiği sunuculara kaynak sağlayabilmesi gerekir mi? (#AGPLv3ServerAsUser)

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.

AGPL altında lisanslı bir vekil sunucu çalıştıran yazılımlar için bu kodla etkileşime giren kullanıcılara nasıl bir kaynak sunumu sağlayabilirim? (#AGPLProxy)

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ı birbirleriyle nasıl uyumludur? (#AllCompatibility)

Ç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.

Uyumluluk matrisini atla


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

Dipnotları atla

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.

Çevirmenin Notu
  1. Kaynak: http://ozgurlisanslar.org.tr/gpl/gpl-v2/ - GPL'nin bu çevirisi gayriresmî olup Özgür Yazılım Vakfı tarafından resmen geçerli olarak onaylanmamıştır. Neye izin verildiğinden tam olarak emin olmak için özgün GPL'ye (İngilizce) bakın.
    Çevirinin özgün metni budur: You may not impose any further restrictions on the recipients' exercise of the rights granted herein.
  2. Kaynak: http://ozgurlisanslar.org.tr/gpl/gpl-v3/ - GPL'nin bu çevirisi gayriresmî olup Özgür Yazılım Vakfı tarafından resmen geçerli olarak onaylanmamıştır. Neye izin verildiğinden tam olarak emin olmak için özgün GPL'ye (İngilizce) bakın.
    Çevirinin özgün metni budur: Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance.
  3. Kaynak: http://ozgurlisanslar.org.tr/gpl/gpl-v3/ - GPL'nin bu çevirisi gayriresmî olup Özgür Yazılım Vakfı tarafından resmen geçerli olarak onaylanmamıştır. Neye izin verildiğinden tam olarak emin olmak için özgün GPL'ye (İngilizce) bakın.
    Çevirinin özgün metni budur: The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
  4. Kaynak: http://ozgurlisanslar.org.tr/gpl/gpl-v3/ - GPL'nin bu çevirisi gayriresmî olup Özgür Yazılım Vakfı tarafından resmen geçerli olarak onaylanmamıştır. Neye izin verildiğinden tam olarak emin olmak için özgün GPL'ye (İngilizce) bakın.
    Çevirinin özgün metni budur: all users interacting with it remotely through a computer network