Kapalı kaynak bir uygulamadan bir GPL kitaplığına bağlanabilir miyim?


34

Tamam, herkes tekrarlanan sorular hakkında bağırmaya başlamadan önce, evet, burada bunun gibi birkaç soru gördüm. Fakat hiçbiri soruyu cevaplamıyor.

GPL-ed kütüphanesine bu kütüphaneyi değiştirmeden bağlarsam, kaynak kodumu serbest bırakmam gerekir mi?

Bu soruya göre cevap evet!

Ancak bu cevap benim için tatmin edici değil. Cevap temel olarak kodumu açık kaynak yapmadan GPL kodunu kullanamayacağımı söylüyor.

Fakat eğer önceki doğruysa, o zaman hiçbir kişi veya kuruluşun hiçbir zaman özel bir yazılımı Linux'ta yayımlayamayacağını belirtirdi. Hangisi yanlış olmalı. Bunun sebebi, herhangi bir uygulamanın işe yarar bir şey yapması için, dosyaları açıp konsola yazması, TCP bağlantıları kurması için, uygulamanın libcGPL-ed bağlantısı olması gerektiğidir .

Öyleyse sorum şu: Eğer GPL, sitedeki önceki cevapların hepsinin dediği gibi, başka bir GPL programına bağlanan bir programın GPL olması gerektiğini söylerse, herhangi bir tescilli uygulamanın yaratılması / bırakılması / satılması nasıl mümkün olabilir Linux'ta çalışan hiç? Yukarıda tarif ettiğimden beri bu uygulamanın sadece Linux'ta çalışabilmesi için GPL koduna benzemesi gerekiyor.

Daha pratik bir örnek, GPL olmayan bir uygulamada GPL ile paylaşılan paylaşılan bir kütüphaneye bağlandığımı söylüyor, GPL olmayan uygulamayı GPL ile edinebilir mi? Daha spesifik olarak, değiştirmeden bir GPL kitaplığı kullanırsam ve ardından bu kitaplığı bir .soya da olarak dağıtırsam .dll, uygulamamın açık kaynak olmasını gerektirir mi?


9
Aynı soruyu farklı bir cevap umuduyla sorup duruyorsun. GPL'yi GPL uyumlu olmayan bir yazılımda kullanamazsınız. Ölü basit.
Andrew T Finnell

1
Gerçekten mi? Blimey. Cevap basit; neden GPL programının yazarları ile temasa geçip sorun olup olmadığını sormuyorsunuz? Her şey yolunda diyorlarsa, bu muhteşem! Eğer itiraz ederse, o zaman onları yasal ayrıntılarla kuvvetlendirmeye çalışmak sizi ne kadar “doğru” hissettiğinizden bağımsız olarak sizi çok sevilmeyen yapacak.
James,

3
@James: onlar GPL seçerseniz, bunların oldukça güçlü bir ifadedir yapmak zihin. Sakıncası olmayan insanlar ilk başta MIT veya BSD veya LGPL'yi seçiyorlar. Tam GPL altında bir kütüphane görmek çok nadirdir. Bunu yaptığınızda, kasıtlı olduğuna neredeyse emin olabilirsiniz.
Jan Hudec

@Jan Belki, kullanım amacına göre uygulamaya ve john-charles'e bağlıdır. Ancak JC'nin buna nasıl yaklaşması garip olduğunu düşünüyorum. Jc sadece istediği cevabı almaya mı çalışıyor? Bu sitede “yüksek sesle ağlamak için sadece onlarla konuş” ile çözülebilecek birçok soru var. :-)
James,

@JanHudec: Katılıyorum. Rakiplerimiz için yararsız ve topluluğumuz için çok faydalı olacağından, şirketimizin bazılarının bir GPL'ed kütüphane biçiminde yayınlanmasını savundum.
MSalters

Yanıtlar:


33

Bir GPL kitaplığına bağlanırsanız, türetilmiş bir çalışma oluşturdunuz ve kodunuz GPL olmalıdır - bu, özellikle farklı lisanslı kodların dinamik olarak bağlanmasını sağlayan L GPL kodundan farklıdır. Libc dahil sistem kütüphanelerinin tümü LGPL'dir.

Ayrıca Linux çekirdek başlıkları ve libgcc (derleyici tarafından dolaysız olarak adlandırılan kütüphane) için özel bir muafiyet vardır.


19
Hiçbir libc LGPL değildir - LGPL programlarına bağlanmanıza izin verilir. Aynı zamanda, çekirdek / sistem çağrıları için genel bir muafiyet vardır, bu nedenle, kütüphane çağrısına karşı bir sistemin ne olduğu hakkında hiçbir tartışma yoktur
Martin Beckett,

6
LGPL yeni bir lisans değil, ilk 1991 yılında piyasaya sürüldü. Libc her zaman LGPL olmuştur.
FigBug,

4
@ john-charles - LGPL'nin 1991'de gplv2 ile yeniden icat edilmesinin nedeni budur. AsLinux (ve diğerleri FOSS çekirdekleri) popüler oldu - ve bu yüzden asıl olarak Kütüphane-GPL deniyordu - ticari uygulamalar gcc kullanamıyorsa, her derleyici satıcı tarafından libc bolluğunun olacağına dair bir korku vardı.
Martin Beckett,

1
@MartinBeckett Bu FSF görüşüdür (sizinkini GPL kapsamında lisanslamadıysanız GPLd koduna bağlanamazsınız), ancak tartışmasız değildir. FSF'nin bağlantı konusundaki görüşünü onaylamak için (bildiğim, yanılıyorsam lütfen beni düzeltin) önemli bir dava olmamıştır.
K.Steff

2
@ john-charles - evet, tüm genel yasalar mahkemelerde test edilir, ancak telif hakkıyla ilgili oldukça fazla miktarda dava kanunu vardır. Batman DVD'sinin değiştirilmemiş bir kopyasının türetilmiş bir çalışma olmadığını ve bu yüzden istediğim kadar satış yapabileceğimi iddia edersem - MPAA'nın kabul edemeyeceği gibi! GNU copyleft, bir lisans anlaşmasını oldukça akıllı bir şekilde uygulamak için telif hakkını kullanır - mahkemede hiç test edilmemesinin sebeplerinden biri, herkesin her zaman kararlaştırmış olmasıdır
Martin Beckett

7

Genel durumda, bir GPL kitaplığına bağlanamayacağınız, kodunuzu dağıtamayacağınız ve kodunuzu GPL olarak bırakamayacağınız konusunda haklısınız.

Ancak, insanların Linux kütüphanelerine nasıl bağlandıkları ve GPL olmayan lisanslar altında ürünlerini piyasaya sürdükleri Sistem Kütüphanesi İstisnası var.

Diğer bir istisna, iki lisansın birbiriyle uyumlu olması. Daha fazla okumak için FSF uyumlu lisans sayfasına göz atın .

Son olarak, GPL'd lib'in yazarları, ticari olmayan veya hobisi olmayan kullanım gibi özel istisnalar oluşturabilir.

Ne yazık ki, zor ve hızlı bir kurala sahip olmak için çok fazla potansiyel var. Sorunuzda daha fazla özellik olmadan, cevabınız "muhtemelen olamaz, ama belki yapabilirsiniz."


1
Derleyici tarafından oluşturulan bir ayrıştırıcı içerdiğinden SLE da derleyici türetilmiş bir işi olmak bir programın, bir sorunun cevabı
Martin Beckett

3
Hayır, SLE, serbest olmayan araç zinciri ve standart çalışma zamanı, örneğin Visual Studio kullanarak GPL kodu geliştirilmesine izin verir. Ücretsiz olmayan uygulamaların GPL kitaplığına bağlanmasına hiç izin vermez.
Jan Hudec

1
GPL programının çıktısı GPL kapsamında değildir. Bakınız gnu.org/licenses/gpl-faq.html#GPLOutput
Maximus Minimus

-1

Kısa cevap, kimsenin gerçekten bilmediğidir. (Bu tartışma GPPL hakkında LGPL hakkında değil.)

GPL, farklı kişilerin farklı şekillerde yorumladıkları "Türev İşler" hakkında belirsiz bir dile sahiptir. Mutabakat statik bağlantının ihlal ettiği görülüyor, ancak sistem üzerinden çağrı kesmek (örneğin, Linux Çekirdeğine). Sonuncusu, temelde Oracle gibi şirketlerin Linux'a gönderildiği ve dava açılmadığı gerçeğine dayanıyor - lisansta belli değil.

Dinamik bağlantı belirsiz, muhtemelen 70 / 30'un ihlal ettiğini söylüyor. Borular veya uzaktan yordam çağrıları kullanarak bir program çağırmak, muhtemelen 30/70, aslında aynı şey olsa bile ihlal etmez. COM üzerinden arama veya bir Java Jar kullanarak, tamamen belirsizdir.

Temel olarak, herhangi bir şüpheniz varsa ve avukatlardan hoşlanmıyorsanız, o zaman GPL'den uzak durun.


1
GPL o kadar da belirsiz değil ve türevsel bir işin ne olduğu sorusu etrafında iyi tartışılmış bir dava yasası var. Linux sistem arayüzü arayüzü ile libc arasındaki fark, eski yazılımın çalışma yazılımını (telif hakkı için bir istisna olarak onaylandı) yapmak için gerekli olması gerektiğidir. İşlemlerin nasıl başlatıldığına dair hiçbir ilgisi yoktur, yasal olarak ilgisi yoktur. ANAL, bu yasal tavsiye değildir.
Jules

"70/30 ihlal ettiğini söylüyor" ve "30/70 ihlal etmiyor" - ihlal / ihlal oranının aynı olduğu kasıtlı mı? "Bu esasen aynı şey olsa bile" farklı olması gerektiğini öne sürüyor.
Mateusz Konieczny
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.