Panduan · 06

GPL "only" vs "or later"

Arti kalimat 'or any later version' dalam GPL, alasan kernel Linux tetap memakai GPL-2.0-only, mengapa GPL-2.0-only dan GPL-3.0 tidak kompatibel, serta kriteria memilihnya.

Terakhir diperiksa: 2026-09-23

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 sayaGPL-2.0-onlyGPL-2.0-or-laterGPL-3.0
GPL-2.0-onlyBolehBoleh (gabungan menjadi 2.0-only)Tidak boleh
GPL-2.0-or-laterBolehBolehBoleh
GPL-3.0Tidak bolehBoleh (gabungan menjadi 3.0)Boleh
LGPL-3.0Tidak bolehBoleh (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

Cara menuliskannya

  1. Di LICENSE (atau COPYING), taruh teks versi terkait apa adanya. Teks lisensi itu sendiri tidak membedakan only/or-later.
  2. 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.
  3. 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