Bagaimana cara menggunakan permata LGPL memengaruhi aplikasi berlisensi MIT saya?

21

Saya sedang mengembangkan aplikasi ruby ​​open source di bawah lisensi MIT. Saya menggunakan lisensi ini karena saya tidak ingin membatasi pengguna aplikasi. Saya juga dapat benar-benar membaca dan memahami lisensi ini.

Saya baru-baru ini mulai menggunakan permata ruby ​​lain di proyek saya (memerlukan "somegem"). Permata ruby ​​ini berada di bawah lisensi LGPL.

Apakah saya harus mengubah apa pun tentang proyek saya karena saya menggunakan permata ruby ​​lain yang dilisensikan dengan LGPL? Proyek saya tidak mengandung kode sumber untuk permata lain dan tidak dikirimkan bersama proyek saya. Itu hanya terdaftar sebagai ketergantungan sehingga permata ruby ​​akan menginstalnya dan proyek saya akan memanggilnya dari kode saya.

Selain itu, akan sangat membantu untuk mengetahui apakah ada lisensi yang perlu "diwaspadai" karena menggunakannya akan mempengaruhi lisensi proyek saya.

Ada beberapa posting lain tentang topik ini tetapi diutarakan dengan cara yang berbeda. Karena saya merasa masalah lisensi ini rumit, saya berharap mendapat jawaban yang diarahkan pada situasi saya.

Terima kasih,
Corsen

korsen
sumber
1
Ini sepertinya pertanyaan untuk pengacara, bukan programmer. (Artinya: ini adalah pertanyaan yang bagus, ditanyakan dengan baik, bahwa beberapa programmer mungkin memiliki pengalaman dengan ... tetapi itu tidak membuatnya sesuai untuk Stack Overflow, karena ini memiliki sangat, sangat sedikit hubungannya dengan pemrograman.)
Phrogz
7
Phrogz: Anda melebih-lebihkan. Ini adalah pertanyaan lisensi yang sederhana, yang dijawab secara eksplisit oleh teks lisensi dan oleh banyak FAQ. Anda benar-benar tidak perlu pengacara untuk membaca.
vartec

Jawaban:

26

Itu tidak mempengaruhi

LGPL - singkatan dari Lesser GPL (dulu berarti Library GPL). Perbedaan signifikan dengan GPL adalah, bahwa itu tidak memaksakan lisensi pada perangkat lunak menggunakan perpustakaan. Hanya jika Anda ingin memodifikasi perpustakaan atau secara langsung memasukkan bagian-bagian kode ke dalam perangkat lunak Anda, maka kode Anda haruslah LGPL. Di sisi lain, jika Anda hanya menggunakan permata di aplikasi Anda, tidak apa-apa untuk menyimpan aplikasi Anda dengan lisensi apa pun yang Anda inginkan.

Bagian LGPL yang disebutkan:

Suatu program yang tidak mengandung turunan dari bagian apa pun dari Perpustakaan, tetapi dirancang untuk bekerja dengan Perpustakaan dengan dikompilasi atau dihubungkan dengannya, disebut "karya yang menggunakan Perpustakaan". Karya semacam itu, secara terpisah, bukan karya turunan dari Perpustakaan, dan karenanya berada di luar lingkup Lisensi ini.

vartec
sumber
1
Ada beberapa persyaratan lagi untuk pustaka LGPL yang harus Anda penuhi, terutama jika Anda melakukan hardencode impornya di dalam program tertutup. Mengatakan itu tidak berarti Anda harus meletakkan kode Anda di bawah LGPL, tetapi ada persyaratan yang harus dipenuhi. Saya tidak tegas dengan mekanisme penautan rubygen, mungkin itu sebanding dengan impor java: LGPL dan Java .
hakre
0

Apakah saya harus mengubah apa pun tentang proyek saya karena saya menggunakan permata ruby ​​lain yang dilisensikan dengan LGPL? Proyek saya tidak mengandung kode sumber untuk permata lain dan tidak dikirimkan bersama proyek saya. Itu hanya terdaftar sebagai ketergantungan sehingga permata ruby ​​akan menginstalnya dan proyek saya akan memanggilnya dari kode saya.

Perangkat lunak LGPL'ed adalah ketergantungan perangkat lunak Anda. Jadi itu sebenarnya adalah bagian dari perangkat lunak Anda. LGPL memungkinkan untuk digunakan dari perangkat lunak tidak bebas (sementara MIT bahkan perangkat lunak bebas), jadi menjadi tanggungan bukanlah pemblokir.

Namun karena ini adalah ketergantungan Anda harus menawarkan kode sumbernya jika Anda mendistribusikan perangkat lunak Anda. Saya tidak tahu apakah mekanisme yang diperlukan dalam ruby ​​selalu menyediakan sumber juga. Jika demikian, saya akan mengatakan bahwa Anda sudah mendistribusikan dengan sumber. Jika tidak, Anda perlu berhati-hati untuk setiap versi permata yang Anda perlukan dengan perangkat lunak yang Anda tawarkan sumbernya.

Anda mungkin harus menjaga sumbernya karena mungkin saja proyek pihak ketiga (permata) akan offline dan proyek Anda akan rusak maka karena membutuhkan permata yang tidak ada lagi.

Ini tidak nasihat hukum, hanya dari perspektif programmer. Pertimbangkan bahwa pengguna perangkat lunak Anda meminta sumber dari Anda ketika perangkat lunak Anda menggunakan perpustakaan dan itu sebenarnya dapat dilihat sebagai distribusi karena Anda menulis require "somegem"di sana. Definisi hukum distribusi mungkin tidak cocok dengan harapan programmer sehari-hari membakar file ke cd-rom. Jadi, bijaksana untuk memiliki konsepsi yang lebih luas di sini untuk tetap proaktif jika hal-hal tidak berjalan seperti yang diharapkan.

hakre
sumber
1
"Anda perlu menawarkan sumber-kode itu jika Anda mendistribusikan perangkat lunak Anda." tidak ada Anda tidak jika itu tersedia untuk umum.
vartec
1
@artec: jika Anda mendistribusikan, Anda perlu menawarkan sumber. Hanya dalam kasus menjadi non-komersial dan kode ini tidak berubah, Anda dapat mendelegasikan bahwa persyaratan untuk proyek hulu (lihat GPL). Jika perpustakaan tidak didistribusikan oleh Anda (petunjuk penyiapan Namun, dalam kasus ini ada hardencoded pengguna tidak dapat mengubah, dan benar-benar ada persyaratan di LGPL yang menjadi diganti jadi ini bahkan bisa merusak kompatibilitas LGPL), saya pikir itu paling aman untuk memberikan sumber sehingga reverse-engineering dan persyaratan penggantian mudah dipenuhi.
hakre
@artec: Menjadi tersedia untuk umum berarti Anda tidak mendistribusikan. Jika distributor permata tidak dapat menawarkan sumber, salinan permata mungkin tidak sah.
hakre
LGPL, bagian 4.e "Memberikan Informasi Instalasi, tetapi hanya jika Anda dinyatakan akan diminta untuk memberikan informasi seperti di bawah bagian 6 dari GNU GPL, dan hanya sejauh bahwa informasi tersebut diperlukan untuk menginstal dan menjalankan versi modifikasi dari Karya Gabungan yang dihasilkan dengan menggabungkan kembali atau menghubungkan kembali Aplikasi dengan versi modifikasi dari Versi Tertaut. "
vartec
1
@ vartec: Tepat. 4.e melanjutkan: "(Jika Anda menggunakan opsi 4d0, Informasi Instalasi harus menemani Minimal Sesuai Sumber dan Sesuai Kode Aplikasi Jika Anda menggunakan opsi 4d1, Anda harus memberikan Informasi Instalasi dengan cara yang ditentukan oleh bagian 6 dari GNU GPL. untuk menyampaikan Sumber Korespondensi.) "
hakre