Izin, syarat, dan batasan sekilas
Syarat
- Pemberitahuan hak cipta & lisensiSaat mendistribusikan, salinan lisensi dan pemberitahuan hak cipta harus disertakan.
- Ungkapkan sumberSaat mendistribusikan, kode sumber harus disediakan.
- Tandai perubahanJika karya asli diubah, perubahan itu harus ditandai.
- Lisensi yang sama (per pustaka)Modifikasi pustaka harus memakai lisensi yang sama, tetapi mungkin tidak berlaku bagi program yang menggunakannya.
Batasan
- Batasan tanggung jawabMenyatakan secara tegas tidak bertanggung jawab atas kerugian.
- Tanpa jaminanMenyatakan secara tegas tidak memberikan jaminan apa pun.
Sumber klasifikasi izin·syarat·batasan: data choosealicense.com (GitHub, MIT License).
Lisensi seperti apa
LGPL (GNU Lesser General Public License) 3.0 adalah lisensi untuk pustaka yang dirilis pada hari yang sama dengan GPL-3.0 (29 Juni 2007). Ini bukan dokumen lengkap yang berdiri sendiri, melainkan GPL-3.0 yang ditambah izin tambahan, sehingga teksnya pun diawali dengan 'syarat GPL edisi 3 ditambah izin tambahan berikut'. Izin tambahan utamanya adalah Anda boleh mendistribusikan program yang memakai pustaka ini (Combined Work) dengan syarat pilihan Anda. Bagian yang mengubah pustaka itu sendiri tetap harus dibuka di bawah LGPL (atau GPL). Qt (pilihan LGPL-3.0·GPL·komersial) adalah contoh utamanya.
Saat mendistribusikan program yang memakai pustaka (Pasal 4)
- Beri tahu secara mencolok bahwa program memakai pustaka LGPL dan LGPL berlaku.
- Sertakan salinan GPL-3.0 dan LGPL-3.0.
- Pastikan pengguna dapat mengganti pustaka dengan versi yang telah dimodifikasi. Biasanya terpenuhi dengan tautan dinamis (shared library); jika tautan statis, file objek yang dapat ditautkan ulang dan sebagainya harus disediakan.
- Anda tidak boleh memasang syarat yang melarang rekayasa balik untuk men-debug modifikasi semacam itu.
- Sediakan sumber yang bersesuaian untuk bagian pustaka, dan untuk Produk Pengguna, sediakan juga informasi instalasi sesuai Pasal 6 GPL-3.0.
Kesalahpahaman umum
- "Jika memakai pustaka LGPL, sumber aplikasi juga harus dibuka" — Tidak. Asalkan syarat di atas dipenuhi, aplikasi boleh tetap tertutup. Kewajiban pembukaan ada pada modifikasi pustaka itu sendiri.
- "Tautan statis sama sekali dilarang" — Tidak dilarang. Hanya saja merepotkan karena file objek dan sebagainya harus disediakan agar pengguna dapat mengganti pustaka lalu menautkan ulang.
- "LGPL-3.0 bisa dipakai di proyek GPL-2.0" — Tidak kompatibel dengan GPL-2.0-only. Untuk menggabungkannya, proyek harus dapat didistribusikan sebagai GPL-3.0.
Cara menerapkan
Menurut kebiasaan, teks GPL-3.0 ditaruh sebagai COPYING dan teks LGPL-3.0 sebagai COPYING.LESSER (generator menyediakan kedua file). Di setiap file sumber dipakai teks pemberitahuan GNU yang 'General Public License'-nya diganti menjadi 'Lesser General Public License'. Pengenal SPDX-nya LGPL-3.0-only atau LGPL-3.0-or-later.
Cocok untuk
Cocok untuk pustaka yang ingin dipakai luas bahkan di aplikasi tertutup, tetapi ingin hasil perbaikan pada pustaka itu sendiri dibuka. Jika menginginkan copyleft lemah yang lebih sederhana berbasis file, bandingkan juga dengan MPL-2.0. Perbandingannya dirangkum di panduan Permisif vs Copyleft.
Bisakah kode LGPL-3.0 dimasukkan ke proyek lain?
Penilaian umum saat mengambil kode yang dirilis di bawah lisensi ini lalu menggabungkan dan mendistribusikannya dalam proyek berlisensi di bawah. Lihat kombinasi lain di pemeriksa kompatibilitas →
| Proyek tujuan | Hasil | Catatan |
|---|---|---|
| Perangkat lunak tertutup (komersial) | Boleh dengan syarat | Memakai sebagai pustaka yang ditautkan (link) diperbolehkan, tetapi pengguna harus bisa mengganti dan menautkan ulang bagian LGPL, dan kode sumber bagian LGPL harus disediakan. Jika kodenya disalin dan dicampur, seluruh hasil gabungan harus mengikuti syarat (L)GPL. |
| MIT | Boleh dengan syarat | Memakai sebagai pustaka yang ditautkan (link) diperbolehkan, tetapi pengguna harus bisa mengganti dan menautkan ulang bagian LGPL, dan kode sumber bagian LGPL harus disediakan. Jika kodenya disalin dan dicampur, seluruh hasil gabungan harus mengikuti syarat (L)GPL. |
| Apache-2.0 | Boleh dengan syarat | Memakai sebagai pustaka yang ditautkan (link) diperbolehkan, tetapi pengguna harus bisa mengganti dan menautkan ulang bagian LGPL, dan kode sumber bagian LGPL harus disediakan. Jika kodenya disalin dan dicampur, seluruh hasil gabungan harus mengikuti syarat (L)GPL. |
| MPL-2.0 | Boleh dengan syarat | Memakai sebagai pustaka yang ditautkan (link) diperbolehkan, tetapi pengguna harus bisa mengganti dan menautkan ulang bagian LGPL, dan kode sumber bagian LGPL harus disediakan. Jika kodenya disalin dan dicampur, seluruh hasil gabungan harus mengikuti syarat (L)GPL. |
| LGPL-2.1 | Boleh dengan syarat | Hasil gabungan harus didistribusikan di bawah syarat GPL-3.0. |
| GPL-2.0 | Tidak boleh | Kode versi 3.0 tidak bisa berdampingan dengan syarat GPL-2.0 (only) sehingga tidak dapat dimasukkan. |
| GPL-3.0 | Boleh | LGPL-3.0 adalah GPL-3.0 ditambah izin tambahan, jadi dalam gabungan GPL-3.0 izin tambahan itu cukup diabaikan. |
| AGPL-3.0 | Boleh | LGPL-3.0 adalah GPL-3.0 ditambah izin tambahan, jadi dalam gabungan GPL-3.0 izin tambahan itu cukup diabaikan. GPL-3.0 dan AGPL-3.0 saling mengizinkan penggabungan lewat Pasal 13 masing-masing. Dalam hasil gabungan, kewajiban menyediakan sumber lewat jaringan untuk bagian AGPL tetap berlaku. |
Konten situs ini adalah informasi umum, bukan nasihat hukum. Untuk keputusan distribusi, kontrak, atau sengketa yang sebenarnya, konsultasikan dengan pengacara atau ahli lainnya.