Pemeriksa Kompatibilitas Lisensi
Periksa apakah kode orang lain boleh digabungkan ke proyek Anda dan didistribusikan. Hasilnya adalah tafsiran umum dan bisa berbeda jika ada klausul pengecualian atau izin tambahan.
Konten situs ini adalah informasi umum, bukan nasihat hukum. Untuk keputusan distribusi, kontrak, atau sengketa yang sebenarnya, konsultasikan dengan pengacara atau ahli lainnya.
Tabel kompatibilitas lengkap
Baris adalah kode yang diambil, kolom adalah proyek tempat kode itu digabungkan dan didistribusikan. Dasarnya adalah kasus menyalin atau menggabungkan kode lalu mendistribusikannya sebagai satu program.
| Kode ↓ / Proyek → | Perangkat lunak tertutup | MIT | Apache-2.0 | GPL-3.0 | GPL-2.0 | GPL-2.0+ | LGPL-3.0 | LGPL-2.1 | AGPL-3.0 | MPL-2.0 | EPL-2.0 | BSD-3-Clause | BSD-2-Clause | ISC | 0BSD | BSL-1.0 | Unlicense | CC0-1.0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIT | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh dengan syarat | Boleh | Boleh dengan syarat | Boleh dengan syarat |
| Apache-2.0 | Boleh | Boleh | Boleh | Boleh | Tidak boleh | Boleh dengan syarat | Boleh | Tidak boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh dengan syarat | Boleh | Boleh dengan syarat | Boleh dengan syarat |
| GPL-3.0 | Tidak boleh | Tidak boleh | Tidak boleh | Boleh | Tidak boleh | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh |
| GPL-2.0 | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Boleh | Boleh dengan syarat | Tidak boleh | Boleh dengan syarat | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh |
| GPL-2.0+ | Tidak boleh | Tidak boleh | Tidak boleh | Boleh | Boleh | Boleh | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh |
| LGPL-3.0 | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh | Tidak boleh | Boleh dengan syarat | Boleh | Boleh dengan syarat | Boleh | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat |
| LGPL-2.1 | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat |
| AGPL-3.0 | Tidak boleh | Tidak boleh | Tidak boleh | Boleh dengan syarat | Tidak boleh | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh | Tidak boleh |
| MPL-2.0 | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat |
| EPL-2.0 | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat | Boleh dengan syarat |
| BSD-3-Clause | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh dengan syarat | Boleh | Boleh dengan syarat | Boleh dengan syarat |
| BSD-2-Clause | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh dengan syarat | Boleh | Boleh dengan syarat | Boleh dengan syarat |
| ISC | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh dengan syarat | Boleh | Boleh dengan syarat | Boleh dengan syarat |
| 0BSD | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh |
| BSL-1.0 | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh dengan syarat | Boleh | Boleh dengan syarat | Boleh dengan syarat |
| Unlicense | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh |
| CC0-1.0 | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh | Boleh |
Apa itu kompatibilitas
Dua lisensi disebut 'kompatibel' jika satu program yang menggabungkan kedua kode dapat didistribusikan sambil memenuhi syarat kedua lisensi. Arahnya penting. Memasukkan kode MIT ke proyek GPL bisa, tetapi jika kode GPL dimasukkan ke proyek MIT, seluruh hasil gabungan harus mengikuti syarat GPL sehingga tidak bisa tetap menjadi 'proyek MIT'.
Situasi yang diasumsikan tabel ini
- Kasus menyalin kode orang lain atau menggabungkannya secara statis lalu mendistribusikannya sebagai satu program.
- Jika tidak didistribusikan dan hanya dipakai secara internal, sebagian besar syarat tidak berlaku (kecuali klausul jaringan AGPL).
- Jika dijalankan sebagai proses terpisah atau hanya berkomunikasi lewat baris perintah atau jaringan, ada kemungkinan dianggap 'agregat (aggregate)', bukan 'penggabungan', sehingga kesimpulannya bisa berbeda.
- Jika pustaka LGPL hanya dipakai lewat tautan dinamis, aturannya jauh lebih longgar daripada tabel. Lihat butir 'Use a library' di matriks kompatibilitas GNU.
Dasar penilaian
- Kombinasi antarlisensi GNU: matriks kompatibilitas di FAQ Lisensi GNU dari FSF (dasar copy code)
- Apache-2.0 dan GPL: daftar lisensi FSF — kompatibel dengan GPL-3.0, tidak kompatibel dengan GPL-2.0
- MPL-2.0: teks Pasal 1.12 (Secondary License) dan Pasal 3.3 (Larger Work)
- EPL-2.0: teks Exhibit A (penetapan Secondary License)
Kode dengan klausul pengecualian (misalnya Classpath Exception, Linux-syscall-note) atau izin tambahan bisa berbeda dari tabel. Jika keputusannya penting, periksa teks lisensi dan pendapat ahli.