Dalam dunia open source, lisensi sangat penting agar pengguna mengetahui apa yang boleh dan tidak boleh dilakukan, serta apa yang harus dilakukan. Jika project tersebut tidak memiliki lisensi–meskipun kode nya bisa kita lihat–sederhananya, jangan gunakan kode tersebut jika kamu tidak ingin mendapatkan resiko yang tidak terduga.

Jenis-jenis Lisensi

Banyak lisensi yang ada, tapi disini kita akan hanya membahas 5 lisensi yang terkenal & paling banyak digunakan. Juga, 4 lisensi ini sengaja dipilih untuk memenuhi kebutuhan kamu.

Lisensi MIT

Lisensi MIT ini paling banyak digunakan oleh developers, khususnya yang mendistribusikan kodenya ke GitHub. Lisensi MIT pada dasarnya adalah "gunakan kode ini terserah lo, tapi jangan tuntut gue". Boleh digunakan baik untuk penggunaan komersial maupun pribadi.

Hal-hal yang tidak dibolehkan di lisensi MIT hanyalah "pertanggung jawaban pembuat", yang singkatnya, jika kamu menggunakan kode yang memiliki lisensi MIT, lalu di kode tersebut ada bug, kamu tidak bisa menyalahkan sang pembuat kode tersebut.

Hal yang harus dilakukan bila menggunakan lisensi MIT adalah kamu harus menyertakan lisensi & copyright dari kode yang kamu gunakan tersebut. Ini contoh bagaimana Microsoft bergantung dengan kode-kode yang memiliki lisensi MIT juga untuk produk VSCode nya.

Jadi, jika kamu membuat program yang bergantung dengan kode yang memiliki lisensi MIT juga, kamu harus menyertakan copyright & lisensi terhadap kode yang kamu gunakan tersebut.

Dan kode kamu boleh untuk tidak "meng-open source" kan nya. Contohnya adalah Rails, Ember.js, dll.

GPL-3.0

Lisensi GPL 3.0 atau GNU Public License 3.0 tidak sesederhana & sefleksibel MIT. Hampir sama dengan MIT, pengguna tidak bisa "diminta pertanggung jawaban" atas kode yang mereka tulis, namun . Juga, GPL melarang melakukan sublisensi, namun setiap pengguna memiliki kebebasan untuk menjalankan, memodifikasi, dan mendistribusikan kode nya.

Hal yang harus dilakukan lumayan banyak, termasuk:

  • Menjelaskan bila terdapat modifikasi terhadap kode tersebut
  • Menyertakan yang aslinya (terkait kondisi nomor diatas)
  • Kode yang menggunakan kode berlisensi GPL harus didistrubusi dengan lisensi GPL atau sejenisnya
  • Menyertakan full text license dari kode aslinya
  • Menyertakan copyright dari kode aslinya
  • Menyertakan instruksi untuk proses instalasi

GPL ini cocok untuk kamu yang peduli dengan "membagikan perbaikan". Ambil contoh Linux, lisensi yang digunakan Linux adalah GPL. Jika kamu membuat "perkembangan" terhadap Linux (misal, membuat sebuah software yang bergantung dengan Linux), maka software kamu tersebut harus Open Source (karena Linux open source), harus menyertakan instruksi untuk proses instalasinya, dan seterusnya.

Itulah mengapa muncul turunan dari Linux, yakni Debian. Dan ada beberapa turunan dari Debian juga seperti Ubuntu, yang mana memiliki lisensi "GPL kompatibel". Yang maksudnya, Debian adalah versi "lebih baiknya" Linux dan Ubuntu adalah versi lebih baiknya Debian, dan mereka membagikan versi lebih baik menurut mereka tersebut ke publik.

Kamu harus mendistribusikan kode kamu sebagai open source jika ada kode kamu yang bergantung dengan lisensi ini.

Contohnya adalah Ansible, Bash, dll.

BSD 3-Clause

Hampir sama dengan yang lainnya (permisif), namun yang tidak boleh kamu lakukan adalah menggunakan trademark. Maksudnya, kamu membuat software yang bergantung dengan software yang memiliki lisensi BSD 3-clause, misal bernama React (are u remember?), nama softwaremu adalah IM.

Kamu tidak boleh menggunakan React sebagai "bahan promosi" terhadap produk mu (si IM) meskipun kamu menggunakan React, tanpa persetujuan dari mereka.

Kamu boleh menggunakan kode ini untuk keperluan pribadi, alias, kamu boleh untuk tidak "meng-open source" kan kode kamu meskipun bergantung dengan kode yang memiliki lisensi BSD 3-Clause ini.

Contohnya adalah Go, Flask, dll.

WTFPL

Sesuai namanya: do What The Fuck to Public License you want, lisensi yang paling permisif dan hanya memiliki 13 baris. Yang singkatnya, terserah lo mau include copyright atau kagak, mau didistribusikan sebagai open source juga apa kagak, dsb. Terseraaah.

Yang pastinya, moral kita berperan besar disini :))

Contohnya adalah 0bin, BxSlider, dll.

TLDR

Gue hampir bilang "sama seperti lainnya" disetiap lisensi ada, yang maksudnya adalah, lainnya tersebut mengarah ke "permisif". Lisensi-lisensi yang ada diatas (kecuali WTFPL) perbedaan nya secara garis besar ada di:

  • Public & Private use (boleh meng-open source kan juga atau enggak)
  • Penggunaan trademark
  • Jaminan

Yang maksudnya, meskipun kita diberi "kebebasan", namun ada "batas" sampai manan bebas tersebut.

Disclaimer

Penulis bukanlah lawyer, dan tulisan ini ditulis menggunakan sudut pandang sebagai developer. Mungkin bisa saja terdapat kesalah-pahaman yang terjadi dari hasil pengertian penulis terhadap lisensi yang ada dari sudut pandang hukum. Kamu tidak bisa 100% percaya terhadap semua konten yang ada disini, khususnya di internet.

The right license for me?

Jika kamu bekerja sebagai individu, dan kamu baru memulai project open source, kamu bisa menggunakan lisensi MIT karena relatif sederhana. Jika kamu "peduli" dengan open source, dan menginginkan orang lain melakukan hal yang serupa juga secara langsung, lisensi GPL mungkin cocok denganmu.

Jika kamu bekerja sebagai company yang ingin berkiprah ke open source, lisensi BSD mungkin cocok untukmu, karena terkait dengan trademark.

Mengapa harus peduli dengan ini?

Pertama, kita pasti memiliki alasan masing-masing mengapa kita menerapkan open source terhadap kode yang kita tulis. Dan kita berharap, orang-orang membantu kita dengan menggunakan; mengembangkan dan mempromosikan project kita yang buat.

Kedua, kita harus memberikan alasan kepada mereka mengapa mereka harus menggunakan project kita, berdasarkan lisensi yang kita gunakan. Entah karena alasan "jaminan", "penggunaan", ataupun lainnya. Sehingga mereka bisa merasa aman dan nyaman dalam menggunakan kode kita di project mereka.

Terakhir, kebebasan bukan berarti bebas-sebebas-bebasnya. Ada batas dari kebebasan tersebut, sebebas WTFPL pun kamu memiliki batas: Tidak ada jaminan yang kamu dapat dari kode yang kamu pakai yang berlisensi WTFPL tersebut. Bukankah seharusnya jika "bebas", kita bisa "bebas" menuntut mereka, bukan?

Menggunakan software yang tepat dengan lisensi yang tepat adalah pilihan yang bijak semenjak kita sekarang sudah banyak bergantung dengan software open source.

Penutup

Berikut adalah pembahasan singkat seputar lisensi di Open Source, perlu diingat bahwa Open Source bukan selalu tentang "kode yang dirilis ke publik". Melainkan tentang filosofi, tentang prinsip, dan tentang hak yang diperjuangkan.

Selain open source, ada juga yang bernama Source available yang memiliki lisensi Common Clause. Yang singkatnya, setiap orang bisa melihat kode dari program yang kamu buat, namun kamu tidak boleh membuat "saingan" terhadap software yang mereka buat, jika kamu bergantung dengan software mereka.

Untuk mempelajari selengkapnya seputar lisensi-lisensi ini, kamu bisa baca-baca dari link dibawah:

Cheers! Diskusi disini.