๐ Daftar Lisensi dan Tanggung Jawab
"a list of various software licenses and to list rights and responsibilities for all involved parties. figured i would share this so people could have an easy reference to help understand the differences."
Informasi di bawah ini disajikan dalam format yang mudah dicerna, memisahkan hak dan tanggung jawab antara Pemberi Lisensi (Licensor / Pemegang Hak Cipta) dan Penerima Lisensi (Licensee / Pengguna) untuk berbagai jenis lisensiโmulai dari open-source hingga komersial.
Tabel: Hak dan Tanggung Jawab Berbagai Lisensi
| Lisensi | Pihak | Hak (Rights) | Tanggung Jawab (Responsibilities) |
|---|---|---|---|
| Lisensi MIT | Pemberi Lisensi | Memberikan izin untuk menggunakan, memodifikasi, dan mendistribusikan | Menyediakan pemberitahuan hak cipta dan teks lisensi |
| Penerima Lisensi | Menggunakan, memodifikasi, dan mendistribusikan perangkat lunak | Menyertakan pemberitahuan hak cipta dan teks lisensi dalam distribusi | |
| Lisensi BSD | Pemberi Lisensi | Memberikan izin untuk menggunakan, memodifikasi, dan mendistribusikan | Menyediakan pemberitahuan hak cipta dan teks lisensi |
| Penerima Lisensi | Menggunakan, memodifikasi, dan mendistribusikan perangkat lunak | Menyertakan pemberitahuan hak cipta dan teks lisensi dalam distribusi, mematuhi klausa iklan (jika berlaku) | |
| Lisensi Apache | Pemberi Lisensi | Memberikan izin untuk menggunakan, memodifikasi, dan mendistribusikan | Menyediakan pemberitahuan hak cipta dan teks lisensi |
| Penerima Lisensi | Menggunakan, memodifikasi, dan mendistribusikan perangkat lunak | Menyertakan pemberitahuan hak cipta dan teks lisensi dalam distribusi, menyediakan pemberitahuan atribusi | |
| Lisensi ISC | Pemberi Lisensi | Memberikan izin untuk menggunakan, memodifikasi, dan mendistribusikan | Menyediakan pemberitahuan hak cipta dan teks lisensi |
| Penerima Lisensi | Menggunakan, memodifikasi, dan mendistribusikan perangkat lunak | Menyertakan pemberitahuan hak cipta dan teks lisensi dalam distribusi | |
| GNU GPL | Pemberi Lisensi | Memberikan izin untuk menggunakan, memodifikasi, dan mendistribusikan | Menyediakan pemberitahuan hak cipta, teks lisensi, dan kode sumber |
| Penerima Lisensi | Menggunakan, memodifikasi, dan mendistribusikan perangkat lunak | Menyertakan pemberitahuan hak cipta dan teks lisensi, menyediakan kode sumber, membuat karya turunan tersedia di bawah GPL | |
| GNU LGPL | Pemberi Lisensi | Memberikan izin untuk menggunakan, memodifikasi, dan mendistribusikan | Menyediakan pemberitahuan hak cipta, teks lisensi, dan kode sumber |
| Penerima Lisensi | Menggunakan, memodifikasi, dan mendistribusikan perangkat lunak | Menyertakan pemberitahuan hak cipta dan teks lisensi, menyediakan kode sumber, membuat karya turunan tersedia di bawah LGPL | |
| Lisensi Komersial | Pemberi Lisensi | Memberikan izin untuk menggunakan perangkat lunak | Menyediakan perangkat lunak dan dukungan (jika berlaku) |
| Penerima Lisensi | Menggunakan perangkat lunak | Membayar biaya, mematuhi batasan penggunaan | |
| Unlicense (Domain Publik) | Pemberi Lisensi | Merilis perangkat lunak ke domain publik | Tidak ada |
| Penerima Lisensi | Menggunakan, memodifikasi, dan mendistribusikan perangkat lunak | Tidak ada |
โจ Perbedaan Filosofis: Permisif vs. Copyleft
Di dunia open-source, perdebatan terbesar adalah antara dua filosofi lisensi: Permisif dan Copyleft. Memahami perbedaan ini sangat penting saat Anda memilih kode untuk proyek atau saat Anda merilis kode Anda sendiri.
1. Lisensi Permisif (Contoh: MIT, Apache, BSD)
Lisensi permisif adalah lisensi yang paling bebas dan fleksibel. Filosofi utamanya adalah "ambil dan lakukan apa pun yang Anda inginkan, asalkan Anda mengakui kami." Pengembang yang menggunakan lisensi ini ingin agar kodenya diadopsi secara luas, bahkan oleh perusahaan yang membuat produk tertutup (proprietary).
Karakteristik Kunci Permisif:
- Kewajiban Kode Sumber:Tidak Wajib. Anda tidak perlu merilis kode sumber untuk modifikasi atau karya turunan yang Anda buat.
- Monetisasi/Komersialisasi:Sangat Fleksibel. Kode dapat diambil, dimodifikasi, dan didistribusikan sebagai produk tertutup (proprietary) dan dijual.
- Kompatibilitas:Tinggi. Mudah digabungkan dengan kode di bawah lisensi lain, termasuk lisensi komersial.
- Kewajiban Utama: Hanya perlu menyertakan pemberitahuan hak cipta dan teks lisensi asli dalam distribusi Anda.
Analogi Sederhana: Lisensi permisif seperti menyumbangkan bahan baku yang sangat bagus. Anda hanya meminta agar nama Anda dicantumkan di label kemasan akhir, bahkan jika produk akhirnya dijual mahal dan resepnya dirahasiakan.
2. Lisensi Copyleft (Contoh: GPL, LGPL, MPL)
Lisensi Copyleft bertujuan untuk memastikan kebebasan kode sumber tetap abadi. Filosofi utamanya adalah "kebebasan harus dipertahankan." Lisensi ini memastikan bahwa setiap modifikasi dan karya turunan dari kode tersebut juga harus open-source.
Karakteristik Kunci Copyleft:
- Kewajiban Kode Sumber:Wajib. Anda harus merilis kode sumber untuk modifikasi yang Anda buat, dan kode turunan tersebut harus tersedia di bawah lisensi copyleft yang sama.
- Monetisasi/Komersialisasi:Boleh, tetapi terbuka. Anda boleh menjual perangkat lunak yang dimodifikasi, tetapi pembeli harus memiliki hak untuk mendapatkan, memodifikasi, dan mendistribusikan kode sumbernya.
- Sifat Menular (Viral):Sangat Menular. Jika Anda menggabungkan kode berlisensi GPL ke dalam proyek Anda, keseluruhan proyek baru tersebut harus dirilis di bawah GPL.
- Kewajiban Utama: Menyediakan pemberitahuan hak cipta, teks lisensi, kode sumber, dan memastikan karya turunan juga berlisensi copyleft.
๐ Perbedaan Kunci: Sifat "Menular" dan Lingkup Kewajiban
Perbedaan paling fundamental terletak pada bagaimana lisensi tersebut memperlakukan karya turunan (derivative works) dan apakah lisensi tersebut "menular" ke proyek yang lebih besar.
| Fitur | Lisensi Permisif (MIT, Apache) | Lisensi Copyleft (GPL) |
|---|---|---|
| Kode Turunan | Boleh diubah menjadi proprietary (tertutup). | Harus tetap open-source di bawah lisensi yang sama. |
| Sifat Menular | Tidak Menular. Hanya mempengaruhi file yang dimodifikasi, tidak menyebar ke proyek utama. | Sangat Menular (Viral). Jika kode GPL digunakan, seluruh aplikasi yang menggunakannya harus menjadi GPL. |
| Tujuan Filosofis | Adopsi Maksimal. Mempermudah adopsi oleh industri, bahkan oleh perusahaan proprietary. | Kebebasan Maksimal. Memastikan kode sumber tetap bebas selamanya. |
Catatan Tambahan: LGPL (Copyleft yang Lebih Lemah)
LGPL (Lesser General Public License) adalah bentuk copyleft yang lebih lemah dan dirancang untuk perpustakaan perangkat lunak (libraries).
- Fleksibilitas: Anda boleh menggunakan perpustakaan LGPL dalam aplikasi proprietary Anda (biasanya melalui penautan dinamis) tanpa perlu membuka seluruh kode aplikasi Anda.
- Kewajiban: Namun, jika Anda memodifikasi perpustakaan LGPL itu sendiri, Anda tetap harus merilis kode sumber modifikasi tersebut di bawah LGPL.
LGPL memberikan jembatan bagi proyek komersial untuk menggunakan komponen copyleft tanpa harus mengorbankan status proprietary mereka.
Bagaimana pengalaman Anda menggunakan lisensi-lisensi ini dalam proyek open-source atau komersial Anda? Apakah Anda lebih memilih kebebasan permisif atau perlindungan kebebasan dari copyleft?