Cara melindungi kebebasan dengan memakai hak cipta
Copyleft adalah plesetan dari copyright (hak cipta). Konsep ini dibuat pada 1980-an oleh Richard Stallman dan Free Software Foundation (FSF) untuk proyek GNU, yaitu mekanisme yang memakai hukum hak cipta agar kebebasan perangkat lunak tidak hilang. Pemegang hak cipta mengizinkan siapa pun untuk menggunakan, mengubah, dan mendistribusikan, tetapi dengan satu syarat: 'saat mendistribusikan sesuatu yang dibuat berdasarkan kode ini, penerima juga harus diberi kebebasan yang sama.'
Lisensi permisif (MIT·BSD·Apache) tidak memiliki syarat ini. Karena itu, seseorang boleh mengubah kode permisif lalu menjualnya sebagai produk tertutup. Copyleft mencegah arus ini sehingga versi yang diperbaiki pun tetap terbuka. Karena sifat inilah lisensi copyleft juga disebut 'lisensi resiprokal (reciprocal)'.
Kewajiban muncul saat 'distribusi'
Syarat copyleft aktif saat kode diserahkan kepada orang lain. GPL-3.0 menyebutnya 'convey (menyampaikan)'.
- Jika alat yang hanya dipakai di dalam perusahaan dibuat dengan kode GPL dan tidak didistribusikan ke luar, tidak ada kewajiban membuka sumber.
- Membagikan aplikasi kepada pelanggan sebagai file instalasi, atau menjualnya di dalam perangkat, termasuk distribusi.
- Jika hanya dijalankan di server dan pengguna mengakses lewat web, menurut GPL itu bukan distribusi. Yang menutup celah ini adalah AGPL.
Tiga cabang menurut cakupan
Copyleft kuat
GPL-2.0·GPL-3.0 adalah contohnya. Seluruh program yang digabung dengan kode GPL dan didistribusikan sebagai satu program harus mengikuti syarat GPL. Posisi FSF adalah, baik tautan statis maupun dinamis, jika membentuk satu program maka dianggap penggabungan.
Copyleft lemah
Lisensi yang mempersempit cakupan kewajiban.
- LGPL: per pustaka. Cukup membuka modifikasi pustaka itu sendiri, dan program yang memakainya boleh tetap tertutup asalkan syarat (dapat ditautkan ulang, dll.) dipenuhi.
- MPL-2.0: per file. Jika file berlisensi MPL diubah, hanya file itu yang dibuka.
- EPL-2.0: per modul. Kode EPL dan modifikasinya dibuka, tetapi modul terpisah boleh memakai lisensi lain.
Copyleft jaringan
AGPL-3.0 mewajibkan penyediaan sumber kepada pengguna meski program yang dimodifikasi hanya disediakan lewat jaringan. Lisensi ini dibuat untuk menutup celah GPL di era layanan web.
| Lisensi | Cakupan pembukaan | Jika hanya menjalankan server |
|---|---|---|
| GPL-2.0 / GPL-3.0 | Seluruh program gabungan | Tidak ada kewajiban |
| LGPL-2.1 / LGPL-3.0 | Pustaka dan modifikasinya | Tidak ada kewajiban |
| MPL-2.0 | File MPL yang diubah | Tidak ada kewajiban |
| EPL-2.0 | Kode EPL dan modifikasinya (modul) | Tidak ada kewajiban |
| AGPL-3.0 | Seluruh program gabungan | Sediakan sumber jika dimodifikasi |
Kesalahpahaman umum
- "Copyleft mencegah penggunaan komersial" — Tidak. Perangkat lunak GPL boleh dijual, dan banyak perusahaan meraih pendapatan dari dukungan berbayar dan hosting. Yang dicegah adalah merampas kebebasan penerima.
- "Jika melihat satu baris kode GPL saja, kode saya menjadi GPL" — Lisensi mengatur penyalinan, perubahan, dan distribusi karya. Mendapat ide dengan melihat kode bukanlah objek hak cipta. Namun jika praktis menyalin ulang, bisa dianggap penyalinan.
- "Jika melanggar, kode saya otomatis menjadi GPL" — Akibat pelanggaran lisensi biasanya adalah hilangnya hak dan tanggung jawab atas pelanggaran hak cipta. Kode Anda tidak dipaksa dibuka; Anda harus memilih antara memenuhi syarat atau menghentikan distribusi.
- "Kode copyleft sama sekali tidak bisa dipakai di proyek permisif" — Maksudnya, jika digabung dan didistribusikan, hasil gabungan mengikuti syarat copyleft. Ada cara lain seperti memisahkannya sebagai program tersendiri atau menautkan pustaka copyleft lemah sesuai syaratnya. Lihat Dasar kompatibilitas.
Pertanyaan untuk menentukan apakah memilih copyleft
- Apakah Anda keberatan jika hasil modifikasi kode Anda masuk ke produk tertutup?
- Mana yang lebih penting: diadopsi luas sebagai pustaka, atau perbaikan kembali kepada Anda?
- Apakah bentuk penggunaan utamanya perangkat lunak terpasang, atau layanan yang berjalan di server?
Berdasarkan jawaban ketiga pertanyaan itu, wizard pemilihan mempersempit kandidat. Perbandingan lebih rinci ada di Permisif vs copyleft.
Artikel ini adalah informasi umum, bukan nasihat hukum. Untuk keputusan penting, konsultasikan dengan ahli.
Sumber
- GNU — What is Copyleft? — https://www.gnu.org/licenses/copyleft.html
- FAQ lisensi GNU — https://www.gnu.org/licenses/gpl-faq.html
- Teks GNU GPL v3.0 — https://www.gnu.org/licenses/gpl-3.0.html