MIT gibi GPL uyumlu lisanslar, copyleft hükümlerine tabi olmadan GPL programlarında nasıl kullanılabilir?


19

Şu anda ticari bir bağlamda bir uygulama için bir GPL kütüphanesine bağlanma olasılıklarını ve sonuçlarını inceliyorum.

Uygulama dahili olarak kullanıldığı sürece GPL'den anladığım kadarıyla, kodunu serbest bırakma zorunluluğu yoktur (bir kopya kontrollü bir yan kuruluşa taşınsa bile).

Anlamadığım şey SSS'den aşağıdaki nokta:

Bir kütüphane GPL (LGPL değil) altında yayınlanıyorsa, bu kütüphaneyi kullanan herhangi bir yazılımın GPL veya GPL uyumlu bir lisans altında olması gerektiği anlamına mı gelir? Evet, çünkü çalıştırıldığı haliyle yazılım kütüphaneyi içerir.

GPL uyumlu lisanslara bir göz atarsam , bunların bazıları (yükseltme gibi) kodun yayınlanmasını empoze etmiyor gibi görünüyor. Bunu kullanmak, kodunuzu herkese açık hale getirme yükümlülüğüne (çok güvenilir görünmüyor) uymak zorunda kalmadan GPL lisansıyla uyumlu olabileceğiniz bir durum yaratacaktır.

(Not: Adobe Photoshop bileşenleri vardır boost altında lisanslı ve ben kod isteğe bağlı olarak kullanılabilir olduğunu düşünmüyorum)

En mantıklı açıklama, bir şeyleri kaçırdığımdır ... Bana nerede hata yaptığımı söyler misiniz?


1
Açıklama için +1 +1 çünkü neden bu kelimeyi bir cümlede kullanıyorsunuz?
Jimmy Hoffa

Dil sevginiz için @JimmyHoffa +1.
Racheet

1
Boost'un GPL olduğunu nereden kıldın? Kendi lisansı vardır. Standart kural, GPLv2'nin tescilli yazılımla karışmamasıdır. Bu sitede, bu sorunun üstesinden nasıl gelileceği hakkında bir hafta soru var. Tüm GPL sorularını yasaklamalıyız.
Andrew T Finnell

Boost'un GPL uyumlu olduğunu söyledi. Yorumumun geri kalanı duruyor.
Andrew T Finnell

Yanıtlar:


26

MIT gibi GPL uyumlu lisanslar, copyleft hükümlerine tabi olmadan GPL programlarında nasıl kullanılabilir?

Kısa cevap: Değiller. Copyleft'e tabi olacaklar.

Uzun cevap:

Lisans uyumluluğuna Wikipedia makalesi üzerinde iyi bir bölüm vardır GPL uyumluluğu :

Orijinal MIT / X lisansı gibi en yaygın ücretsiz yazılım lisanslarının çoğu "GPL uyumludur". Yani, kodları çakışma olmadan GPL altındaki bir programla birleştirilebilir ( yeni kombinasyon GPL'nin bütüne uygulanmasını sağlar ).

[vurgu eklendi]

Ve daha açık bir şekilde GPL uyumluluğuna ilişkin FSF SSS bölümünden :

Bu, diğer lisans ve GNU GPL'nin uyumlu olduğu anlamına gelir; diğer lisans altında yayınlanan kodu GNU GPL altında yayınlanan kodla daha büyük bir programda birleştirebilirsiniz.

Ve sadece eğitim için, FSF'nin çeşitli lisanslar hakkındaki yorumları

FSF'nin destek lisansıyla ilgili yorumu

Bu, GNU GPL ile uyumlu gevşek, izin veren, copyleftsiz özgür yazılım lisansıdır.

Bu, Boost altında lisanslanan her şeyin GPL tarafından kolayca alınabileceği anlamına gelir.

Zor olduğu yerlerde

Diyelim ki FooBoost Baraltında lisanslı ve GPL altında lisanslı ve kullanmak isteyen bir projemiz var Foo.

Bar+Foolisanslar uyumlu olduğundan izin verilir ve sürümü Bar+FooGPL gibi BarGPL olmalıdır. FooTek başına ve olmadan Bar veya Bar+Foo hala Boost lisansı altında kullanılabilir. Başka bir deyişle, kendi Bar+Fooüzerinde lisans etkisi yoktur Foo.

Proje kombinasyonunun nihai lisansı, yalnızca kombinasyon için ileriye yönelik bir etkinliktir. Öyle değil geriye dönük bir olay.

Dolayısıyla, başka biri onunla başka Foobir şey almak ve yapmak istiyorsa, GPL'nin copyleft hükmü olmadan bunu yapmakta özgürdürler. Ancak, alırlar Bar+Foo, silerler Barve yalnızca kullanırlarsa +Foo, GPL Bar+Fooolduğu için hala GPL şartlarına tabidirler.

Diğer sorunuz:

Uygulama dahili olarak kullanıldığı sürece GPL'den anladığım kadarıyla, kodunu serbest bırakma zorunluluğu yoktur (bir kopya kontrollü bir yan kuruluşa taşınsa bile).

Bu, doğrudan FSF GPL kaynak dağıtımıyla ilgili SSS tarafından yanıtlanmaktadır.

GPL, değiştirilmiş sürümünüzü veya herhangi bir bölümünü yayınlamanızı gerektirmez. Hiç değişiklik yapmadan değişiklik yapabilir ve bunları özel olarak kullanabilirsiniz. Bu, şirketler (şirketler dahil) için de geçerlidir; bir kuruluş değiştirilmiş bir sürüm oluşturabilir ve bunu kuruluş dışında bırakmadan dahili olarak kullanabilir.

Tamamen sahip olunan iştirakler ana kuruluşun bir parçası olarak kabul edilir, bu nedenle yasal olarak net bir şekilde karşılaşırsınız. FSF, Özgür Yazılım'ın ruhunu ihlal ettiğine işaret ediyor.


3
Acaba: Bir çalışan şirkette yayınlanmamış değiştirilmiş versiyonu kullanıyorsa , şirketten kaynak kodunu alma hakkı var mıdır?
unor

@ GlenH7: Çok faydalı açıklamalarınız için teşekkürler (özellikle "Zorlaştığı yer" bölümü)
Louis Morazzani

2
@unor - Hayır, bu Şirket tarafından özel bir kullanım teşkil eder (çalışan ayrı bir varlık değil, şirketin bir parçasıdır).
iheanyi

"Ancak Bar + Foo'yu alırlarsa, Bar'ı silip yalnızca + Foo kullanırlarsa Bar + Foo'nun GPL olduğu için GPL şartlarına tabidirler." Emin misiniz? Foo hala Boost lisansı ile lisanslanmıştır. Anladığım kadarıyla, GPL kodu ile birleştirildiğinde bile Boost lisansı kaldırılmamalıdır. ("Yukarıdaki [...] lisans hibesi, bu kısıtlama ve aşağıdaki sorumluluk reddi, Yazılımın tüm kopyalarına kısmen veya tamamen ve Yazılımın tüm türev çalışmalarına dahil edilmelidir [...]")
lesderid

2
@ GlenH7 Elbette, ama FooGPL kapsamında lisans almalarına bile izin verilecek mi? Alt lisanslama iyi olurdu, ancak daha sonra Boost lisansını da tutmak Bar+Foozorunda kalacaklardı, değil mi?
lesderid

8

"GPL uyumlu" ile, GPL ile çakışmayan bir lisans anlamına gelir. Boost lisansı gibi daha az kısıtlayıcı bir lisans, GPL ile "uyumludur" çünkü kod kullanıcılarının GPL'nin bir kullanıcının yapmasına izin vereceği herhangi bir şeyi yapmasını kısıtlamaz. Yani, Boost lisansı insanların özgürce kopyalamasına izin verir, bu da GPL'nin izin vermesini gerektirir.

"Uyumlu" olmayan bir lisans örneği, kullanıcıların kopyaları dağıtmaları için orijinal yazarlara ücret gerektiren bir lisanstır. GPL hem ücretsiz hem de ücretli dağıtımlara açıkça izin verdiğinden, bu daha kısıtlayıcı lisans uyumlu olmayacaktır.

Başka bir deyişle, GPL "A $, B $ ve C $ 'a izin vermelisiniz" diyor. $ A, $ B, $ C ve ayrıca $ D ve $ E'ye izin veren tüm lisanslar uyumludur. $ A ve B $ 'a izin veren, ancak C $ değil lisans.


4
Yani yeni, birleşik çalışma tamamen GPL kapsamında lisanslanmıştır, değil mi? Ancak MIT kapsamında lisanslanan orijinal kod, GPL'den bağımsız olarak MIT altında ayrı olarak dağıtılabilir, değil mi?
Robert Harvey

1
IANAL, ama evet, işte böyle çalışıyor.
Fabio Fracassi

4
" çünkü kod kullanıcılarının GPL'nin bir kullanıcının yapmasına izin vereceği herhangi bir şeyi yapmasını kısıtlamıyor " - Ve ayrıca kullanıcının GPL'nin yapmasını gerektirecek bir şey yapmasını engellememesi nedeniyle.
Ross Patterson

2
Küçük nitpick ama GPL aslında herhangi bir şey için ücret ödemeyi yasaklamıyor; bkz. gnu.org/licenses/gpl-faq.html#DoesTheGPLAllowMoney
Maximus Minimus

1
GPL'nin dağıtım için ücret almasına izin verdiğinden eminim, ancak insanların kendilerini dağıtmaları durumunda başkalarının ücret almasını istemiyor. Başka bir deyişle, bir kopyasını sizden tahsil edebilirim, ancak üçüncü bir tarafa bir kopyasını verirseniz bana ödeme göndermenizi isteyemem.
Robot Gort

1

Bir hata yapmadınız: SSS yanıtı eksikti. Birleşik programın GPL uyumlu bir lisans değil, GPL altında lisanslanması gerektiğini söylemeliydi. O zamandan beri düzeltildi (aşağıya bakın: Önemli kısmı vurguladım):

Evet, çünkü program aslında kütüphaneye bağlanıyor. Bu nedenle, GPL şartları tüm kombinasyon için geçerlidir. Kütüphaneye bağlanan yazılım modülleri çeşitli GPL uyumlu lisanslar altında olabilir, ancak bir bütün olarak iş GPL altında lisanslanmalıdır . Ayrıca bkz: Bir lisansın “GPL ile uyumlu” olduğunu söylemek ne anlama gelir?

Daha önce "GPL altında bir kütüphane yayınlanırsa" viral "doğası nedeniyle onu kullanan herhangi bir yazılımın GPL'nin altında olması gerektiğini söylemiştim. ." "Onu kullanan yazılım" derken birleşik modüller ve kütüphane demek istedim.


Bunun yaygın bir yanlış anlama olduğuna inanıyorum. Serbest bırakmak için gerekli değildir senin sürece uygun lisansa sahip olduğu, GPL kod parçasını. Parçanızın lisansı, GPL'den daha izin verici, ancak daha az olamaz. Yalnızca birleşik çalışma GPL altında kalır, bu nedenle GPL'nin ek kısıtlamaları yalnızca kodunuzu bağlantılı GPL kütüphanesi ile birlikte kullanırsa geçerlidir. Bkz. Gnu.org/licenses/gpl-faq.html#GPLModuleLicense
ert

1
Evet bu doğru. Orijinal cevabım yanlış yorumlanmış olabilir. Gnu doğru şeyi söylemek için SSS'lerini güncellediğinden, mutlulukla her şey yolunda.
Bennett McElwee
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.