Bir LGPL projesine dayalı bir program oluşturdum ve kaynak kodunu yayınlamama izin verilmiyor


13

LGPL'nin tıpkı MIT, BSD veya Apache gibi izin veren bir lisans olduğunu düşündüm. Ama bugün sadece okumak bağlayan bunun dışında, bu copyleft oluyor - - Bir LGPL programına dayanmaktadır kod yayınlamak zorunda (kütüphaneler vs) LGPL'ye kapalı kaynak kodundan izin verilir.

İşverenim için bir LGPL programına dayanan ancak üzerinde önemli değişiklikler olan bir program oluşturdum. Tabii ki, değiştirilmiş kaynak kodunu oraya koymama izin verilmiyor. Aynı zamanda, dağıtmam gerekirse, yapmam gerekiyor (değil mi?).

Bunun için bir çözüm olup olmadığını merak ediyorum, bu yüzden bu kapalı kaynağı tutabilirim (kaynağı yayınlayabilseydim) - herhangi bir öneriniz var mı?

Benim fikrim: Orijinal LGPL uygulamasının birçok işlevini harici bir kütüphaneye koyabilir, çekirdek yürütülebilir dosyayı sıfırdan yazabilir, ancak değiştirmediğim tüm işlevler için kütüphaneye geri dönebilir miyim?

Şu anda, her şey bir .jar dosyasında (Java / Swing). fikrimin yasal / teknik olarak mümkün olduğunu düşünüyorsanız - yazdığımı ve orijinalin ne olduğunu ayırmak ne kadar çaba ister? Java meraklısı değilim.


Bu yazıda , adam "Ek olarak LGPL sadece yeni bir dll koyarak atlatılabilir ve LGPLed kaynak kodundan aramak için delegeler veya arabirimler kullanın." - Birisi bunu orijinal Java uygulamasıyla nasıl yaptığımı biraz daha detaylandırabilir mi?

16
Bu yasal bir web sitesi değil, elbette gerçek yasal tavsiye almak için tavsiye dışında, burada kimseden yasal konularda herhangi bir tavsiye almak olmaz.

5
LGPL çoğunlukla dağıtımla ilgilenir ve bize bu kodu dağıtma şekliniz hakkında herhangi bir bilgi vermediniz. Sorunun, siz bunu yapana kadar doğru cevaplar alması pek olası değildir. Her halükarda, internetten yasal tavsiye almamanız gerektiğini tekrarlayacağım .
Rein Henrichs

LGPL'yi yasallık açısından oldukça iyi anladığımı düşünüyorum. Size gerçekten teknik olarak nasıl çalışacağını soruyorum - tabii ki haklı olsanız da - bir şüphe durumunda bir avukata danışacağım.
Esuus

Hangi yazılımı kullandığınızı söylemezsiniz, ancak bazı GPL / LGPL (ve diğer) yazılım sağlayıcıları durumunuzdaki kişiler için ticari lisanslar sağlar.
Jaydee

Yanıtlar:


13

Her şeyden önce, burada yasal tavsiye almak (internetler gibi) iyi bir fikir değildir.

İkincisi, ve bu sadece benim konuşmam, avukat değil, bir LGPL programına başlamadan ve işvereniniz için değiştirmeden önce bunu düşünmeliydiniz.

Lisans hoşunuza gitmediği için göz ardı edebileceğiniz bir şey olsaydı, şimdi orada bir tane almanın fazla bir anlamı olmaz mı?

Siz ve / veya işvereniniz kaynak kodunu değişikliklerinizle yayınlamak istemiyorsa, bu LGPL'nin kodunu kullanmayı bırakmanız ve bundan kurtulmanız gerekir.

Yine, sadece ben konuşuyorum.

Gerçek bir avukattan tavsiye alın.


Bir DLL kodunu ekleyerek lisansı atlatmayla ilgili sorunuza yanıt olarak, aşağıdaki şekilde çalışacağını varsayıyorum.

Yapmanız gereken, orijinal programı harici kütüphanelerdeki işlevleri çağırabilecek kadar değiştirmek olacaktır. Bunu, bu kod parçasını ihtiyaçlarınıza, kütüphanelere, işlev adlarına vb. Özel yapmadan yapmanız gerekir.

Daha sonra, lisans gereksinimlerine göre yayınladığınız değişiklikler.

Ardından, kendi özel kodunuzla kendi harici kitaplığınızı oluşturursunuz ve bu programda, yaptığınız değişiklikleri kullanarak onu yüklemesini ve yürütmesini istersiniz.

LGPL lisansının tam kapsamını bilmeden, kitaplığınızın yayınlanmasından şüphelenmemize rağmen bunun yeterli olup olmadığını söyleyemem.

Ancak yine ...

Bir avukattan tavsiye alın


4
GPL lisans ailesini yazan FSF'nin türetilmiş bir çalışma oluşturmak için dinamik bağlantıyı düşündüğünü unutmayın, bu işe yaramayabilir. (Diğer insanlar FSF'nin yanlış olduğunu düşünüyor.) Yanılmama rağmen yasal bir karar olduğunu düşünmüyorum.
David Thornley

Gerçekten mi? Bu konuda benden daha fazlasını bildiğinize inanıyorum David, ancak wikipedia, GPL altında yayınlamak zorunda kalmadan GPL lisanslı kütüphanelere dinamik olarak bağlayabileceğinizi söylüyor: "Örneğin, GPL bağlantı istisnası, kendilerini lisanslamayan programlara izin verir GPL uyarınca lisanslı kütüphanelere bağlantı vermek için GPL uyarınca GPL gereksinimlerine tabi değildir. " Bu, şimdi GPL ve LGPL arasındaki farkın ne olduğunu merak etmemi sağlıyor: Sadece LGPL'nin buna izin verdiğini düşündüm.
Esuus

2
@Dave: İşverenimin büyük Hukuk ekibi buna katılmayacaktı. Fikri mülkiyetlerini koruma konusunda çok agresifler ve kodu GPL'nin altına dağıtmadığımız sürece, GPL kodunu kendimize bağlamak kesinlikle yasaktır. Bu istisnayı nerede buldun? GPLv2 veya v3'te görmüyorum. Vanilya GPL'nin bir parçası olmayan bir bağlantı istisnasına atıfta bulunduğunuz anlaşılıyor. Bununla birlikte, telif hakkı sahipleri kendi takdirine bağlı olarak GPLed kodlarına bir bağlantı istisnası ekleyebilir. Birinin Hukuk ekibine danışmak gerçekten en iyi şeydir.
Void

5
Bu konuda Wikipedia'ya güvenmem. Bildiğiniz kadarıyla, giriş önceki hafta sonu lisanslama hakkında okuyan 14 yaşında bir çocuk tarafından yazılmıştır. Gerçek tavsiye alın. Ya da çiftliğe bahse girebilir ve şirketinizin başının belaya girmeyeceğini umabilirsiniz. Nasıl uygun görürsen.
Lasse V. Karlsen

@GPL'ye bağlanmak bir sorundur. Bildiğim kadarıyla, bu FreeBSD'nin CCC / LLVM lehine GCC'yi düşürmesinin başlıca nedenlerinden biriydi .
Legolas

4

LGPL veya karşılaştırılabilir lisans altında yayınlanan açık kaynak kütüphanelerinin çoğu, en azından projelerinizde kullanmak için yeterince iyi olanlar, açık / kapalı prensibi kullanılarak inşa edilmiştir: http://en.wikipedia.org/wiki/Open/closed_principle .

Uygulamanızın LGPL kitaplığına bağlanması ve tüm uzantıların kapalı uygulama kodunuzda yer alması için kodunuzu yeniden düzenleyebilmeniz gerekir.


Lasse önerdi gibi - - çevirmek soru ben bir kütüphane çevirmek veya alamayacağını yani Kullanabilirdim LGPL kod, bir uygulamanın değil, bir kütüphane .. olan benim kütüphaneye kodu ve dinlenme LGPL açık / tutmak
Esuus

1
@Dave: LGPL eskiden Library GPL olarak bilinirdi. Bu lisansı kullanan hiçbir uygulama görmedim. Bir sır değilse ne kullanıyordunuz?
Olaf

FSF şimdi daha az GPL olarak adlandırıyor. Şu anda uygulamalar için düşünebildiğim tek kullanım, özel kütüphanelerde ve benzerlerinde bağlantı kurabilmektir.
David Thornley

İlginçtir, hem Mozilla hem de OpenOffice.org LGPL lisansı altındadır.
Esuus

@Dave: O zaman @David Thornley ile birlikteyim. Mozilla, kapalı kod olabilen özel eklentiler oluşturmak için araçlar sağlar. OpenOffice'e aşina değilim, ama eminim bunu yapıyorlar. Kullandığınız LGPL uygulaması, eklenti eklemek veya bir komut dosyası diline sahip olmak gibi bir çeşit genişletme işlevi sağlıyor mu? Bu mekanizmayı kodunuz için kullanabilir misiniz?
Olaf

2

Aynı sorumluluk reddi: IANAL.

Şimdiye kadar kimsenin bahsetmediği bir şey, kodu ayırsanız bile, hala kaynak kodunu LGPL parçalarına dağıtmanız veya en azından nereden indirilebileceği hakkında bilgi vermenizdir.

Bunu atlatmanın tek yolu, onları ilk etapta dağıtmamaktır.


2

Lisansı atlatmaya çalışmanın iyi bir şey olmadığını anlamak için bir avukata ihtiyacınız olduğunu düşünmüyorum. Sağduyu yeterlidir.

Bunun yerine, LGPL programının orijinal yazarına başvurabilir ve farklı ve tescilli bir lisans isteyebilirsiniz / satın alabilirsiniz.

Diğer tek alternatif kaynağı serbest bırakmak veya tamamen yeniden yazmaktır.


1

IANAL, TINLA, vb.

LGPL'nin tıpkı MIT, BSD veya Apache gibi izin veren bir lisans olduğunu düşündüm. Ama bugün okudum, sadece LGPL'ye (kütüphaneler vb.) Bağlanmanın kapalı kaynak kodundan izin verildiğini - bunun dışında, copyleft - bu yüzden bir LGPL programına dayalı kod yayınlamak zorundayım.

Evet, LGPL, ya işin bir kopyasını alan herkese kaynak kodunu sunmanızı ya da çalışmanızı, yazılımın alıcılarının LGPL'd çalışma sürümünüzü yeni bir sürümle değiştirebileceği bir biçimde dağıtmanız gerektiğini gerektirir. sürümü. Her iki durumda da, çalışmanın LGPL kısmındaki tüm değişiklikler çalışmanın tüm alıcıları tarafından kullanılabilir olmalıdır .

İşverenim için bir LGPL programına dayanan ancak üzerinde önemli değişiklikler olan bir program oluşturdum. Tabii ki, değiştirilmiş kaynak kodunu oraya koymama izin verilmiyor. Aynı zamanda, dağıtmam gerekirse, yapmam gerekiyor (değil mi?).

Doğru. Lisans, yazılımın tüm alıcılarına kaynak koduna erişim izni verilmesini zorunlu kılar.

Benim fikrim: Orijinal LGPL uygulamasının birçok işlevini harici bir kütüphaneye koyabilir, çekirdek yürütülebilir dosyayı sıfırdan yazabilir, ancak değiştirmediğim tüm işlevler için kütüphaneye geri dönebilir miyim?

Bu türetilmiş bir çalışma olabilir ve yine de programı aşağıya çeken tüm komut dosyalarını bir kitaplığa dağıtmanız istenir.

Şu anda, her şey bir .jar dosyasında (Java / Swing). fikrimin yasal / teknik olarak mümkün olduğunu düşünüyorsanız - yazdığımı ve orijinalin ne olduğunu ayırmak ne kadar çaba ister? Java meraklısı değilim.

Java, LGPL'ye bir dizi yeni sorun ekler, çünkü "statik" ve "dinamik" bağlantıyı neyin oluşturduğu net değildir. LGPL'nin GPL üzerindeki istisnaları bu konsepte bağlı olduğundan, LGPL çoğu durumda GPL ile gerçekten eşdeğerdir. Ortaya çıkabilecek soruları cevaplamak için şirketin hukuk ekibine danışmanız gerekecektir.

Tavsiyem, şirketiniz dışındaki herhangi birinin programa erişimi olacaksa, not alın ve baştan başlayın. Lisans gereksinimlerini karşılayamıyorsanız, lisansı dağıtmanıza izin verilmez.

Program yalnızca şirket içinde mevcut olacaksa , yalnızca kaynağı şirket çalışanlarına sunmanız gerekir. Mevcut şirket kaynak kontrolünüze eklemenizi öneririm. Bu , şirket dışında hiç kimse erişemeyeceği sürece LGPL'nin gereksinimlerini karşılayacaktır .


1

adaptör deseni kullanabilirsiniz ve orijinal koda dokunmayın. Ayrıca LGPL kendi projenizde sınıfları devralmanıza ve sınıflarının işlevselliğini geçersiz kılmanıza olanak tanır.


0

Bu benim anlayışım, IANAL.

LGPL sürümünün kullandığınız kodu kapsayan metnini kontrol edin. Bu gereksinimin herhangi bir LGPL'd kodunun genellikle paylaşılan bir kütüphane / jar dosyası kullanarak değiştirilebilmesi gerektiğine inanıyorum. Kullandığınız kodu LGPL'd olan bir kitaplığa ayırabilirseniz, LGPL altında bu uygulamayı bırakabilir ve uygulamanızı istediğiniz lisansla serbest bırakabilirsiniz.


0

Lisansı atlatamazsınız. Bir boşluk bulsanız bile, yine de etik dışıdır (yine de bazı insanlar için farklı bir soru). Yapabileceğiniz şey, söz konusu yazılımın yazarı ile iletişim kurmak, durumu açıklamak ve ayrı bir lisans istemektir. Size bir fiyat için özel bir lisans vermek istiyorsa, söz konusu bileşeni kullanmadan yazılımınızı yeniden yazma maliyetiyle karşılaştırabilirsiniz. Ve daha ucuza gidin.

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.