Saya punya dua plug-in. Satu memiliki lisensi GNU LGPL 3 dan yang lainnya memiliki Lisensi Perangkat Lunak Apache, Versi 2.0. Bisakah saya menggunakannya di aplikasi komersial saya? Dan jika ya, tindakan pencegahan apa yang harus saya ambil?
Saya punya dua plug-in. Satu memiliki lisensi GNU LGPL 3 dan yang lainnya memiliki Lisensi Perangkat Lunak Apache, Versi 2.0. Bisakah saya menggunakannya di aplikasi komersial saya? Dan jika ya, tindakan pencegahan apa yang harus saya ambil?
Jawaban:
Bisakah saya menggunakannya di aplikasi komersial saya?
Tergantung pada apa yang ingin Anda lakukan dengan perangkat lunak yang Anda hasilkan.
Pertama, baik ASL 1 , GPL atau LGPL tidak membuat batasan apa pun yang dapat Anda gunakan untuk menggunakan perangkat lunak di dalam organisasi Anda. Pembatasannya semua pada kode yang didistribusikan di luar organisasi Anda.
Untuk GPL batasannya adalah jika Anda memasukkan kode GPL ke perangkat lunak Anda sendiri, DAN Anda kemudian mendistribusikan perangkat lunak Anda di luar organisasi Anda, MAKA Anda harus membuat kode sumber tersedia di bawah ketentuan GPL atau lisensi sumber terbuka yang kompatibel.
Jadi jika Anda menggunakan kode GPL dalam aplikasi Anda dan Anda mendistribusikannya, maka aplikasi Anda harus open source ... atau Anda melanggar lisensi.
Untuk LGPL, pembatasan (lihat di atas) hanya berlaku untuk kode sumber perpustakaan LGPL itu sendiri; yaitu jika Anda mengubah perpustakaan. Jika Anda hanya menggunakan perpustakaan, Anda tidak diharuskan untuk membuat kode sumber Anda tersedia.
Ada juga batasan bahwa kode LGPL dalam aplikasi Anda harus dapat diganti oleh pengguna kode Anda. Itu berarti (pada dasarnya) bahwa jika Anda mendistribusikan kode Anda hanya sebagai binari, maka Anda tidak dapat secara statis menautkan kode Anda terhadap perpustakaan itu. Anda harus menggunakan tautan dinamis.
Untuk ASL, satu-satunya batasan yang signifikan adalah Anda harus mengatakan jika Anda telah mengubah apa pun dari versi asli kode ASL yang Anda gunakan.
Akhirnya, hanya untuk memperjelas, baik GPL, LPGL atau ASL tidak membatasi tujuan Anda dalam menggunakan perangkat lunak. Dan itu termasuk apakah tujuan Anda menghasilkan uang. Mereka hanya membatasi cara Anda dapat menghasilkan uang ... dan dalam kasus LGPL dan ASL, batasannya sangat minim.
Dan jika ya, tindakan pencegahan apa yang harus saya ambil?
Untuk LGPL dan ASL, tidak ada tindakan pencegahan yang diperlukan.
IANAL - Saya bukan pengacara. Jika Anda perlu yakin, tanyakan ahli yang nyata dan berkualifikasi; yaitu seorang pengacara yang berspesialisasi dalam hukum perangkat lunak IP.
1 - Untuk keperluan jawaban ini, ASL == Lisensi Perangkat Lunak Apache versi 2.
Lisensi Apache tidak memberikan batasan pada perangkat lunak yang terhubung ke plug-in atau pustaka yang didistribusikan di bawah lisensi Apache. LGPL di sisi lain memiliki persyaratan bahwa perpustakaan LGPL terhubung secara dinamis (dan dapat diganti oleh pengguna) atau seluruh pekerjaan harus dirilis di bawah lisensi sumber terbuka yang kompatibel dengan GPL.
Untuk penggunaan dalam aplikasi sumber tertutup, ini secara efektif berarti Anda dapat menggunakan plug-in Berlisensi Apache tanpa batasan dan plug-in berlisensi LGPL harus dihubungkan secara dinamis.
Jika Anda mendistribusikan salah satu plug-in bersama dengan aplikasi Anda, maka Anda juga harus menyediakan sumber untuk plug-in atau menginformasikan pengguna Anda di mana mereka dapat memperoleh sumber-sumber tersebut.
Pertama-tama, ini bukan nasihat hukum.
Perangkat lunak GPL tidak diizinkan untuk ditautkan (termasuk melalui jaringan), dikompilasi ke dalam, atau dikirimkan dengan perangkat lunak non-GPL dalam bentuk apa pun. LGPL sedikit mengendurkan ini untuk memungkinkan dukungan pihak ketiga non-GPL, termasuk untuk produk komersial. Bagian penting di sini adalah bahwa itu harus pihak ketiga (sehingga untuk berbicara), yang menciptakan lubang lingkaran kecil.
Singkatnya, Anda menautkan ke perpustakaan LGPL yang ada (sebut ini pihak pertama), tetapi perangkat lunak yang membuat tautan ini harus dibuat LGPL. Sebut ini perangkat lunak ini pihak kedua. Meskipun perangkat lunak pihak kedua harus dirilis sebagai LGPL, sebagai pemilik perangkat lunak pihak kedua Anda dapat mengizinkan perangkat lunak lain untuk menggunakannya di luar LGPL (selama perangkat lunak pihak kedua tetap tersedia di bawah LGPL juga). Dengan kata lain, perangkat lunak pihak kedua harus tersedia sebagai LGPL, tetapi tidak diperlukanmelisensikannya sebagai LGPL dalam semua kasus. Setiap individu pengguna perangkat lunak harus memiliki lisensi untuk menggunakan perangkat lunak tersebut oleh hukum. Yang saya katakan adalah selama masing-masing pengguna memiliki akses ke perangkat lunak sebagai LGPL, Anda juga dapat melisensikannya menggunakan istilah non-viral. Anda dapat membuat perangkat lunak pihak ketiga juga, pada dasarnya melisensikan perangkat lunak pihak kedua kepada Anda untuk digunakan oleh perangkat lunak pihak ketiga di bawah persyaratan non-LGPL. Saya bahkan pernah mendengar ada orang yang menulis sendiri kontrak dan lisensi untuk menggunakan perangkat lunak mereka sendiri. Hukum bisa aneh! Perangkat lunak pihak ketiga tidak harus LGPL dalam hal apa pun.
Jadi yang Anda lakukan adalah membuat perpustakaan untuk menautkan ke lib LGPL hanya sebagai pembungkus, dan lepaskan pembungkus sebagai LGPL. Anda kemudian dapat menautkan ke pembungkus ini (pembungkus Anda ) dalam perangkat lunak non-LGPL, selama pembungkus Anda tersedia sebagai LGPL.
Saya tidak dapat berbicara untuk Lisensi Perangkat Lunak Apache karena saya tidak terbiasa dengannya.