LGPL gem kullanmak, MIT lisanslı uygulamamı nasıl etkiler?


21

MIT lisansı altında açık kaynaklı bir yakut uygulaması geliştiriyorum. Bu lisansı kullanıyorum, çünkü uygulamanın kullanıcılarına herhangi bir kısıtlama getirmek istemiyorum. Ayrıca bu lisansı gerçekten okuyabilir ve anlayabilirim.

Son zamanlarda projemde başka bir yakut taşı kullanmaya başladım ("somegem" gerektiriyor). Bu yakut mücevher LGPL lisansı altındadır.

Projemle ilgili herhangi bir şeyi değiştirmek zorunda mıyım, çünkü LGPL lisanslı bu yakut taşı kullanıyorum? Projem diğer gemiler için kaynak kodunu içermiyor ve projemle birlikte gönderilmiyor. Basitçe bir bağımlılık olarak listelenmiştir, böylece yakut taşlar onu kurar ve projem kodumdan onu çağırır.

Ek olarak, "dikkat etmem" gereken herhangi bir lisans olup olmadığını bilmek faydalı olacaktır, çünkü bunları kullanmak projemin lisansını etkileyecektir.

Bu konuyla ilgili başka yazılar var ancak farklı şekillerde ifade edildi. Bu lisansı zor bulduğum için durumuma yönelik bir cevap almayı umuyorum.

Teşekkürler
Corsen


1
Bu programcılar için değil avukatlar için bir soru gibi görünüyor. (Söylemek istediğim: bu, iyi bir soru, iyi bir soru, bazı programcıların deneyime sahip olabileceği… ancak programlama ile yapması gereken çok, çok az bir şey olduğu için Yığın Taşması için uygun değildir.)
Phrogz

7
Frogz: Abartıyorsun. Bu, basit bir lisans sorusudur, lisans metni ve çok sayıda SSS ile açıkça cevaplanır. Gerçekten okumak için bir avukata ihtiyacınız yok.
vartec

Yanıtlar:


26

Etkilemez

LGPL - Küçük GPL (Kütüphane GPL'si anlamına gelir) anlamına gelir. GPL ile göze çarpan fark, lisansı kütüphaneyi kullanan yazılıma dayatmamasıdır. Yalnızca kütüphaneyi değiştirirseniz veya doğrudan kodun bölümlerini yazılımınıza eklerseniz, kodunuzun LGPL olması gerekir. Öte yandan, uygulamanızda yalnızca mücevher kullanıyorsanız, uygulamanızı lütfen istediğiniz lisansla birlikte tutmak son derece iyidir.

LGPL'nin belirtilen kısmı:

Kitaplığın herhangi bir kısmının türevini içermeyen, ancak Kitaplık ile derlenerek veya bunlarla bağlantılı olarak çalışacak şekilde tasarlanan bir program "Kitaplığı kullanan çalışma" olarak adlandırılır. Bu tür bir çalışma, yalıtılmış bir şekilde, Kütüphane'nin türev bir çalışması değildir ve bu nedenle bu Lisansın kapsamı dışında kalmaktadır.


1
LGPL kütüphanesi için, özellikle kapalı bir programın içeri aktarılmasını zorlaştırıyorsanız, yerine getirmeniz gereken bazı gereksinimler vardır. Bunun söylenmesi, kodunuzu LGPL'nin altına sokmanız gerektiği anlamına gelmez, ancak karşılanması gereken şartlar vardır. Ben rubygen bağlantı mekanizmasından sıkılmıyorum, muhtemelen java içe aktarma ile karşılaştırılabilir: LGPL ve Java .
hakre

0

Projemle ilgili herhangi bir şeyi değiştirmek zorunda mıyım, çünkü LGPL lisanslı bu yakut taşı kullanıyorum? Projem diğer gemiler için kaynak kodunu içermiyor ve projemle birlikte gönderilmiyor. Basitçe bir bağımlılık olarak listelenmiştir, böylece yakut taşlar onu kurar ve projem kodumdan onu çağırır.

LGPL'ed yazılımı, yazılımınızın bir bağımlılığıdır. Yani aslında yazılımınızın bir parçası. LGPL, özgür olmayan yazılımlardan kullanılmasına izin verir (MIT bile özgür yazılım iken), böylece bağımlılık engelleyici değildir.

Ancak bir bağımlılık olduğundan, yazılımınızı dağıtırsanız kaynak kodunu sunmanız gerekir. Yakut içindeki gerekli mekanizma her zaman aynı zamanda kaynaklar sağlarsa hiçbir fikrim yok. Öyleyse zaten kaynaklarla dağıttığınızı söyleyebilirim. Değilse, yazılımınız için ihtiyaç duyduğunuz gem'in her sürümü için kaynak sunduğunuza dikkat etmeniz gerekir.

Yine de muhtemelen kaynaklara dikkat etmelisiniz çünkü üçüncü taraf projesinin (mücevher) çevrimdışı olması ve projenizin daha fazla varolmayan bir mücevher gerektirmesi nedeniyle kırılması muhtemel olabilir.

Bu sadece programcı bakış açısından yasal bir tavsiye değil. Yazılımınızın kullanıcılarının kütüphaneden yararlandıkları ve sizden require "somegem"orada yazdığınız için aslında dağıtım olarak görülebildiği için sizden kaynak istediklerini düşünün . Dağıtımın yasal tanımı, programcıların günlük olarak dosyaları bir CD-ROM'a yazma beklentisiyle eşleşmeyebilir. Dolayısıyla, işler beklendiği gibi çıkmadığı takdirde proaktif kalmak için burada daha geniş bir anlayışa sahip olmanız akıllıca olacaktır.


1
"Yazılımınızı dağıtırsanız kaynak kodunu vermeniz gerekir." hayır, kamuya açıksa yapamazsın.
vartec

1
@vartec: Eğer dağıtırsanız kaynak sunmanız gerekir. Yalnızca ticari olmayan bir kişi olması ve kodun değişmemesi durumunda, bu gereksinimi yukarı akış projesine devredebilirsiniz (bkz. GPL). Kütüphane sizin tarafınızdan dağıtılmamışsa (ancak bu durumda sertleştirilmiş kurulum talimatları vardır, kullanıcı değiştiremez ve aslında LGPL'de değiştirilebilir olması gereken şartlar vardır, böylece LGPL uyumluluğunu kırabilir), kaynakları tersine mühendislik ve değiştirme gereksinimlerinin karşılanması kolaydır.
hakre

@vartec: Herkese açık olmak, dağıtım yapmamanız anlamına gelir. Mücevher dağıtıcısı kaynak sunamıyorsa, mücevherin kopyası yasal olmayabilir.
hakre

LGPL, bölüm 4.e "Kurulum Bilgilerini Sağlayın, ancak yalnızca böyle bir bilgiyi GNU GPL’nin 6. bölümünün altında vermeniz isteniyorsa ve yalnızca bu bilgilerin değiştirilmiş bir sürümünü kurmak ve yürütmek için gerekli olması durumunda "Bağlantılı Sürümün değiştirilmiş bir sürümüyle" Uygulamanın yeniden birleştirilmesi veya yeniden birleştirilmesiyle üretilen Birleşik Çalışma ".
vartec

1
@vartec: Kesinlikle. 4.e devam ediyor: "(Seçenek 4d0 kullanıyorsanız, Kurulum Bilgileri Minimum İlgili Kaynak ve İlgili Uygulama Koduna eşlik etmelidir. Seçenek 4d1 kullanıyorsanız, Kurulum Bilgilerini GNU GPL'nin 6. bölümünde belirtilen şekilde sağlamalısınız. Sorumlu Kaynak iletmek için.) "
hakre
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.