Untuk Anda yang berkecimpung di industri IT, Anda pasti sudah sering mendengar istilah open source. Bahkan tidak hanya mendengar, Anda pasti juga sering menggunakan perangkat lunak open source, baik secara sadar maupun tidak.

Sebenarnya apakah open source itu? Terjemahan bebasnya ke Bahasa Indonesia adalah sumber terbuka. Secara garis besar, kode pemrograman dari perangkat lunak tersebut diletakkan di tempat yang bisa diakses oleh publik sehingga orang lain bisa dan berhak untuk menggunakan, memodifikasi, dan mendistribusikan ulang perangkat lunak tersebut.

Sebagai contoh, sistem operasi Linux awalnya dikembangkan oleh Linus Torvalds dan dibuka kode pemrogramannya. Hasilnya, kini Anda menemukan beraneka ragam distribusi Linux seperti Ubuntu, Fedora, Gentoo, Slackware, dan lain-lain.

Contoh lainnya, Anda adalah seorang pemrogram dan menggunakan library atau pustaka pemrograman pihak ketiga yang diambil dari Github, Gitlab, Bitbucket, SourceForge, dan sebagainya untuk digunakan di proyek perangkat lunak yang sedang dibangun, maka Anda sedang melakukan kegiatan memodifikasi sebuah perangkat lunak menjadi perangkat lunak yang baru lagi.

Sebuah perangkat lunak yang didistribusikan sebagai open source, biasanya harus memiliki lisensi yang jelas. Sehingga penggunanya tau batasan-batasan dan ekspektasi saat menggunakan perangkat lunak tersebut. Dengan adanya lisensi juga akan memudahkan orang-orang yang hendak memodifikasi perangkat lunak tersebut tanpa harus meminta izin khusus ke pembuat aslinya. Berikut ini beberapa jenis lisensi yang umum digunakan.

GNU General Public License (GPL)

Salah satu lisensi yang paling umum digunakan. Dengan digunakannya lisensi GPL, maka pembuat perangkat lunak mengizinkan Anda sebagai pengguna untuk:

  1. Menduplikasi perangkat lunak ke server Anda, ke server milik klien Anda, atau ke komputer mana pun. Tidak ada batasan jumlah copy yang bisa diduplikasi.
  2. Mendistribusikan perangkat lunak dalam bentuk apa pun sesuai keinginan Anda. Entah dalam bentuk CD, flash disk, disket, tautan di web pengguna, apa pun.
  3. Mengambil biaya untuk mendistribusikan perangkat lunak tersebut. Contoh yang paling umum: Anda seorang pemrogram web dan Anda dimintakan tolong oleh klien Anda untuk memasang aplikasi WordPress di server milik klien. Anda boleh menagih sejumlah uang sebagai biaya pemasangan WordPress tersebut dan uang tersebut tidak perlu Anda bayarkan ke pembuat WordPress.
  4. Memodifikasi perangkat lunak tersebut sesuai keinginan Anda. Anda bisa menambah atau mengurangi fungsi asli dari perangkat lunak tersebut ataupun menggunakan potongan kode dari perangkat lunak tersebut ke perangkat lunak Anda sendiri. Tetapi, setiap perangkat lunak buatan Anda yang menggunakan hasil modifikasi atau potongan kode tersebut harus dirilis juga menggunakan lisensi GPL. Dengan kata lain, Anda harus membuka kode sumber perangkat lunak buatan Anda juga.

Untuk Anda yang ingin membuat perangkat lunak yang bersifat tertutup dan tidak ingin orang lain menyentuh kode pemrograman Anda, maka Anda tidak bisa menggunakan frameworklibrary, atau CMS yang sudah dirilis sebelumnya dengan menggunakan lisensi GPL.

GNU Lesser General Public License (LGPL)

Jenis lisensi ini biasa digunakan oleh beberapa pustaka pemrograman. Hampir mirip dengan GPL, pembedanya adalah Anda sebagai pengguna pustaka pemrograman pihak ketiga yang memiliki lisensi LGPL, tidak harus merilis aplikasi buatan Anda sebagai open source. Sehingga cocok untuk Anda yang berniat membuat aplikasi komersial dan tidak ingin orang lain mengetahui kode aplikasi buatan Anda.

Pada kenyataannya LGPL sendiri masih sering disebut sebagai area abu-abu, jadi jika Anda memutuskan untuk membuat aplikasi komersial dengan menggunakan pustaka pemrograman berlisensi LGPL, sebaiknya Anda tanyakan terlebih dahulu izin detailnya ke pembuat pustaka pemrograman tersebut agar lebih aman secara hukum.

BSD License

Lisensi ini adalah salah satu lisensi open source yang cukup bebas dan memiliki batasan dalam hal pendistribusian ulang yang lebih sedikit dibanding GPL. Anda dapat menggunakan aplikasi atau pustaka pemrograman yang memiliki BSD License ke aplikasi komersial Anda secara bebas tanpa harus takut melanggar hukum.

BSD License sendiri terbagi menjadi 3 jenis:

  1. Two clause BSD License. Anda sebagai pengguna berhak mendistribusikan dan menggunakan dalam bentuk kode sumber maupun biner dengan atau tanpa modifikasi. Tetapi Anda harus tetap mencantumkan copyright dari si pembuat awal baik dalam dokumentasi maupun material lain. Copyright ini misalnya nama perusahaan pembuat, logo, dan sebagainya.
  2. Three clause BSD License. Untuk jenis BSD license yang ini maka tambahannya adalah Anda tidak boleh menggunakan nama organisasi pembuat maupun kontributornya sebagai bentuk promosi dari aplikasi turunannya.
  3. Four clause BSD License. Jenis ini memiliki klausul yang menyatakan bahwa setiap materi promosi perangkat lunak yang Anda buat dengan menggunakan pustaka pemrograman yang memiliki BSD License wajib menampilkan pengakuan, “This product includes software developed by the [organization].”

Jadi intinya aplikasi berlisensi BSD lebih memperhatikan sisi copyright pembuat perangkat lunak aslinya.

MIT License

Lisensi yang paling sering dipakai dan paling memiliki kebebasan. Salah satu lisensi favorit untuk merilis pustaka pemrograman sebagai open source. Jika Anda menggunakan aplikasi atau kode pemrograman yang dirilis dengan MIT License, maka Anda berhak untuk:

  1. Mendistribusikan
  2. Memodifikasi
  3. Menggunakan
  4. Menjual.

Anda bisa melakukan apa saja sesukanya dengan aplikasi atau kode pemrograman berlisensi ini. Anda bisa membuat aplikasi komersial dan menutup semua kodenya dari publik. Satu-satunya batasan adalah Anda tidak boleh menghapus tulisan lisensi ini dari kode aslinya.

Copyright (c) <year> <copyright holders>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Apache License

Apache License adalah jenis lisensi yang sebenarnya juga sangat bebas seperti BSD License dan MIT License. Lisensi ini awalnya ditulis oleh Apache Software Foundation. Sama seperti MIT License, Anda tidak boleh membuang tulisan lisensinya itu sendiri dari kode yang memiliki lisensi ini.

Perbedaannya adalah Apache License mengatur masalah paten dari pembuat awal dan para kontributornya. Ini berguna jika di dalam aplikasi atau kode aslinya ada bagian-bagian yang sudah memiliki hak paten. Sehingga Anda sebagai pengguna dan pembuat aplikasi turunannya tidak bisa mengklaim paten tersebut.

Creative Common

Lisensi ini sebenarnya tidak bisa dibilang sebagai lisensi open source, tapi cukup umum digunakan di proyek-proyek yang berhubungan dengan desain. Ada cukup banyak variasi dari CC License, tetapi intinya adalah Anda sebagai pengguna harus mengikuti batasan-batasan ini:

  1. Memberikan pengakuan kepada pembuat aplikasinya, tetapi Anda tetap bisa memodifikasi, menggunakan, mendistribusikan, dan menduplikasi karya tersebut.
  2. Jika Anda mendistribusikan karya yang menggunakan materi berlisensi Creative Common, maka karya Anda juga wajib dirilis dengan lisensi Creative Common (mirip dengan GPL pada kode pemrograman.)
  3. Anda tidak bisa menggunakan materi karya berlisensi Creative Common untuk keperluan komersial.
  4. Anda tidak boleh membuat karya turunan dari karya berlisensi Creative Common.

Creative Common License dapat memiliki keempat poin tersebut atau pun salah satunya saja. Oleh karena itu, sebelum menggunakan karya berlisensi Creative Common sebaiknya Anda baca baik-baik dahulu lisensinya.

Kini Anda sudah tahu perbedaan dari masing-masing lisensi yang umum digunakan di suatu proyek open source, maka mulai saat ini sebaiknya dibiasakan untuk mengecek lisensi terlebih dahulu sebelum menggunakan suatu kode, aplikasi, atau karya milik orang lain sehingga Anda bisa berjaga-jaga dari tuntutan hukum akibat menyalahi sebuah lisensi.

Untuk Anda yang ingin merilis proyek open source sendiri, maka kini Anda sudah tahu lisensi apa yang sebaiknya dipilih. Semoga bermanfaat 🙂

TINGGALKAN KOMENTAR

Please enter your comment!
Please enter your name here