Izin, syarat, dan batasan sekilas
Syarat
- Pemberitahuan hak cipta & lisensiSaat mendistribusikan, salinan lisensi dan pemberitahuan hak cipta harus disertakan.
- Tandai perubahanJika karya asli diubah, perubahan itu harus ditandai.
- Ungkapkan sumberSaat mendistribusikan, kode sumber harus disediakan.
- Lisensi yang samaVersi modifikasi dan turunan harus didistribusikan dengan lisensi yang sama (atau kompatibel).
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
GPL-2.0 adalah edisi kedua GPL yang dirilis FSF pada Juni 1991. Prinsip copyleft-nya sama dengan GPL-3.0: jika Anda mendistribusikan program yang memuat atau digabung dengan kode ini, keseluruhannya harus disediakan di bawah GPL-2.0 beserta sumbernya. Contoh utamanya adalah kernel Linux (GPL-2.0-only, dengan pengecualian syscall pada sebagian header), Git (GPL-2.0-only), dan WordPress (GPL-2.0-or-later).
only dan or-later
Proyek yang memakai GPL-2.0 biasanya memilih salah satu dari dua ini.
- GPL-2.0-only: hanya boleh didistribusikan di bawah syarat edisi ini. Kernel Linux memakai cara ini sehingga tidak bisa pindah ke GPL-3.0.
- GPL-2.0-or-later: penerima boleh memilih versi 2.0 atau edisi selanjutnya yang dirilis FSF (3.0, dll.). Pemberitahuan yang disarankan dalam teks GPL memakai cara ini.
Pasal 9 teks lisensi menetapkan bahwa program yang tidak menyebut nomor versi boleh memakai edisi mana pun yang dirilis FSF. Karena itu penting untuk menyatakan dengan jelas lewat header file atau pengenal SPDX mana yang berlaku (panduan).
Yang harus dipenuhi saat mendistribusikan
- Sertakan kode sumber, atau sediakan lewat penawaran tertulis yang berlaku minimal 3 tahun (Pasal 3).
- Pertahankan pemberitahuan hak cipta, penafian jaminan, dan salinan lisensi (Pasal 1).
- Tandai perubahan dan tanggalnya pada file yang diubah (Pasal 2 a).
- Anda tidak boleh menambahkan batasan pada hak penerima (Pasal 6). Jika karena perjanjian paten dan sebagainya Anda tidak bisa memenuhi syarat GPL, Anda sama sekali tidak boleh mendistribusikan (Pasal 7).
Kesalahpahaman umum
- "GPL-2.0 dan GPL-3.0 sama-sama GPL, jadi boleh dicampur" — Kode GPL-2.0-only dan kode GPL-3.0 tidak boleh digabung lalu didistribusikan. Salah satunya harus 'or later'.
- "Kode Apache-2.0 juga boleh dimasukkan" — FSF memandang Apache-2.0 tidak kompatibel dengan GPL-2.0. Untuk proyek 'or later', masalah ini bisa diatasi dengan mendistribusikannya sebagai GPL-3.0.
- "Karena tidak ada klausul paten, paten boleh dipakai untuk menuntut" — Memang tidak ada pemberian paten yang tegas, tetapi Pasal 7 dan pembukaan lisensi bermaksud mencegah distribusi yang membatasi kebebasan lewat paten. Tafsirannya berbeda-beda, jadi jika paten penting, pertimbangkan GPL-3.0.
Cara menerapkan
Taruh teks lisensi apa adanya di LICENSE atau COPYING, lalu tempel pemberitahuan resmi di setiap file. Jika kalimat 'either version 2 of the License, or (at your option) any later version' dalam pemberitahuan dipertahankan, berarti or-later; jika dihapus, berarti only. Pengenal SPDX-nya GPL-2.0-only / GPL-2.0-or-later.
Cocok untuk
Diperlukan untuk proyek yang harus bertukar kode dengan ekosistem GPL-2.0-only, seperti modul kernel Linux. Jika tujuan proyek baru adalah copyleft kuat, GPL-3.0 yang klausul paten dan kompatibilitasnya diperbaiki, atau 'GPL-2.0-or-later', lebih fleksibel.
Bisakah kode GPL-2.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) | Tidak boleh | Seluruh program yang digabung dan didistribusikan harus dibuka beserta sumbernya di bawah lisensi GNU yang sama, sehingga tidak bisa dimasukkan sambil mempertahankan lisensi proyek. |
| MIT | Tidak boleh | Seluruh program yang digabung dan didistribusikan harus dibuka beserta sumbernya di bawah lisensi GNU yang sama, sehingga tidak bisa dimasukkan sambil mempertahankan lisensi proyek. |
| Apache-2.0 | Tidak boleh | Seluruh program yang digabung dan didistribusikan harus dibuka beserta sumbernya di bawah lisensi GNU yang sama, sehingga tidak bisa dimasukkan sambil mempertahankan lisensi proyek. |
| MPL-2.0 | Tidak boleh | Seluruh program yang digabung dan didistribusikan harus dibuka beserta sumbernya di bawah lisensi GNU yang sama, sehingga tidak bisa dimasukkan sambil mempertahankan lisensi proyek. |
| LGPL-2.1 | Boleh dengan syarat | Karena LGPL-2.1 mengizinkan peralihan ke GPL, hal ini boleh hanya jika hasil gabungan didistribusikan sebagai GPL-2.0-only. |
| LGPL-3.0 | Tidak boleh | Kode GPL-2.0-only tidak bisa berdampingan dengan syarat tambahan GPL-3.0, LGPL-3.0, dan AGPL-3.0. |
| GPL-3.0 | Tidak boleh | Kode GPL-2.0-only tidak bisa berdampingan dengan syarat tambahan GPL-3.0, LGPL-3.0, dan AGPL-3.0. |
| AGPL-3.0 | Tidak boleh | Kode GPL-2.0-only tidak bisa berdampingan dengan syarat tambahan GPL-3.0, LGPL-3.0, dan AGPL-3.0. |
Konten situs ini adalah informasi umum, bukan nasihat hukum. Untuk keputusan distribusi, kontrak, atau sengketa yang sebenarnya, konsultasikan dengan pengacara atau ahli lainnya.