Satu kalimat yang menjadi persoalan
Pemberitahuan yang disarankan untuk lisensi GNU memuat kalimat berikut.
either version 3 of the License, or (at your option) any later version.
Jika kalimat ini ada, penerima dapat memilih dan mengikuti syarat versi yang disebutkan atau versi mana pun yang dirilis FSF sesudahnya. Inilah 'or later' (SPDX GPL-3.0-or-later). Jika bagian 'or later' dihapus dan hanya versi tertentu yang ditulis, jadinya 'only' (GPL-3.0-only).
Pasal 14 GPL-3.0 dan Pasal 9 GPL-2.0 menetapkan struktur ini. Khususnya, Pasal 9 GPL-2.0 menetapkan bahwa program yang sama sekali tidak menyebut nomor versi boleh memakai versi mana pun yang dirilis FSF. Karena itu, jika hanya menaruh file LICENSE tanpa menyatakan klausul versi, tafsirannya bisa berbeda dari niat Anda.
Mengapa memakai 'or later'
FSF menyarankan 'or later'. Alasannya adalah kompatibilitas di masa depan. Ketika hukum dan lingkungan teknologi berubah lalu GPL baru dirilis, kode 'or later' dapat bergabung dengan versi baru secara alami. Nyatanya, kode GPL-2.0-or-later dapat langsung masuk ke proyek GPL-3.0, sedangkan kode GPL-2.0-only tidak.
Pasal 14 GPL-3.0 melangkah lebih jauh dengan memungkinkan penunjukan 'proksi (proxy)'. Jika orang yang ditunjuk pemegang hak cipta secara publik memutuskan menerima versi sesudahnya, keputusan itu berlaku.
Mengapa memilih 'only'
'or later' juga berarti menyetujui lebih dulu lisensi yang belum ditulis. Jika kelak FSF merilis versi baru yang memuat syarat berbeda dari keinginan Anda, penerima dapat memilih versi itu untuk memakai kode Anda.
Kernel Linux adalah contoh utamanya. Kernel memakai GPL-2.0-only. Linus Torvalds secara terbuka menyatakan menentang klausul informasi instalasi GPL-3.0 (yang disebut anti-tivoisasi), dan karena hak cipta ribuan kontributor bercampur di kernel, praktis lisensinya pun tidak bisa diganti.
Pengaruh terhadap kompatibilitas
Ringkasan matriks kompatibilitas di FAQ lisensi GNU adalah sebagai berikut.
| Kode yang diambil → proyek saya | GPL-2.0-only | GPL-2.0-or-later | GPL-3.0 |
|---|---|---|---|
| GPL-2.0-only | Boleh | Boleh (gabungan menjadi 2.0-only) | Tidak boleh |
| GPL-2.0-or-later | Boleh | Boleh | Boleh |
| GPL-3.0 | Tidak boleh | Boleh (gabungan menjadi 3.0) | Boleh |
| LGPL-3.0 | Tidak boleh | Boleh (gabungan menjadi 3.0) | Boleh |
Intinya, GPL-2.0-only dan GPL-3.0 tidak dapat saling menerima. Kedua lisensi masing-masing mewajibkan 'jangan menambahkan batasan', padahal syarat tambahan pihak lain (klausul paten dan informasi instalasi di 3.0, dll.) merupakan batasan tambahan dari sudut pandang lisensi lainnya. Kombinasi lainnya dapat diperiksa di pemeriksa kompatibilitas.
Kriteria memilih
- Ikuti ekosistem: kode yang akan masuk ke kernel Linux harus GPL-2.0-only (atau GPL-2.0-or-later dan lisensi permisif yang kompatibel).
- Kompatibilitas masa depan penting: jika besar kemungkinan bertukar kode dengan berbagai proyek GPL, or-later lebih fleksibel.
- Kendali penting: jika tidak ingin menyerahkan pada keputusan FSF di masa depan, pakai only, atau tunjuk pengambil keputusan lewat proksi di Pasal 14 GPL-3.0.
Cara menuliskannya
- Di
LICENSE(atauCOPYING), taruh teks versi terkait apa adanya. Teks lisensi itu sendiri tidak membedakan only/or-later. - Nyatakan klausul versi lewat pemberitahuan dan pengenal SPDX di setiap file. Jika memilih 'only' atau 'or-later' di tab Header file generator, pemberitahuan resmi GNU dan baris SPDX dibuat sekaligus.
- Tulis juga satu baris di README (misalnya 'Licensed under GPL-3.0-or-later').
Artikel ini adalah informasi umum, bukan nasihat hukum. Untuk keputusan penting, konsultasikan dengan ahli.
Sumber
- FAQ lisensi GNU, VersionThreeOrLater · AllCompatibility — https://www.gnu.org/licenses/gpl-faq.html
- GNU, How to Use GNU Licenses for Your Own Software — https://www.gnu.org/licenses/gpl-howto.html
- Aturan lisensi kernel Linux — https://www.kernel.org/doc/html/latest/process/license-rules.html
- SPDX License List — https://spdx.org/licenses/