Laboratorium Komputer

Mengenal Lisensi Open Source

Open Source membawa perubahan pada industri teknologi informasi. Bahkan, Internet saat ini di jalankan oleh produk-produk open source.

Open source memungkinkan sebuah program dipakai, dikembangkan, dimodifikasi, dan didistribusikan dengan bebas, tanpa perlu membayar royalti kepada pembuatnya.

Tapi kebebasan tersebut masih ada aturan main yang harus diikuti. Ini untuk melindungi dan menjaga secara moral etik, hak cipta atau properti intelektual para pengembang program open source.

Dituangkan dalam bentuk lisensi, atau Open Source License.

Lisensi open source memungkinkan developer untuk membagikan atau membuka program buatan mereka, dalam bentuk source code, tapi properti intelektual, tetap terlindungi, dan mengatur bagaimana penggunaan source codenya.

Sementara di sisi pengguna, lisensi bertujuan agar aturan main untuk menggunakan, modifikasi, atau mendistribusikan ulang kode open source dapat secara jelas diterima dan dipahami

Lisensi Open Source adalah kesepakatan legal (legal agreement) yang mengatur apa yang boleh dan tidak boleh dilakukan pada sebuah program produk open source.

Prinsipnya adalah menjamin dan mengatur kebebasan pengguna untuk melihat, memakai, memodifikasi source code, distribusi ulang program, dan pemanfaatan software.

Tapi tetap dengan beberapa batasan yang harus dipenuhi.

Lisensi bertujuan untuk melindungi hak dan kewajiban pembuat program dan pengguna.

Selain open source, ada pula public domain software. Perbedaannya, bila open source ada aturan yang harus di ikuti, untuk public domain, penggunaan, perubahan dan distribusi, dapat di lakukan dengan bebas tanpa batasan.

Secara umum lisensi open source terbagi menjadi dua bagian besar, yaitu lisensi yang bersifat permisif, dan lisensi yang bersifat copyleft.

Permissive Licenses

Lisensi permisif adalah tipe lisensi yang paling minim batasan aturan untuk penggunaan, modifikasi dan distribusi ulang.

Dengan lisensi permisif, software open source dapat digunakan untuk keperluan apapun, termasuk kepentingan komersial, dan tidak diperlukan membuka source code program turunan, atau membuat software turunan kedalam lisensi yang sama.

Software turunan yang di maksud disini, adalah produk software yang menggunakan produk open source baik sebagian atau seluruhnya.

Software yang memakai produk opensource dengan lisensi permisif, tidak perlu menjadi open source.

Lisensi permisif sangat ramah bisnis, karena itu lisensi permisif menjadi pilihan utama, perusahaan, atau developer yang ingin menggunakan software open source sebagai komponen dari software buatan mereka tanpa harus membuka source code.

Sony Playstation menggunakan kernel FreeBSD sebagai sistem operasi utama, tapi Sony tidak perlu membuka source code Playstation.

https://www.playstation.com/en-us/oss/ps4/freebsd-kernel

Contoh dari lisensi permisif adalah Apache License, BSD License, MIT License.

Copyleft Licenses

Lisensi copyleft, merupakan lisensi yang bersifat resiprokal.

Secara singkat, bila menggunakan produk open source, baik sebagian atau semuanya, kemudan melakukan modifikasi dan distribusi, maka software turunan juga wajib menggunakan lisensi yang sama.

Lisensi ini bertujuan untuk menjamin bahwa software tetap open source, dan dapat digunakan, dimodifikasi, dan didistribusikan dengan bebas.

Lisensi ini tidak terlalu cocok dengan produk-produk komersial atau proprietary.

Contoh dari lisensi copyleft ini adalah GPL, GNU LGPLP, Mozzila Public License.

Salah satu contoh, GPL adalah lisensi open source dari Free Software Foundation yang tegas atau strong.

ilustrasi pemakaian lisensi gpl
Aplikasi yang memakai library GPLv3

Bila sebuah aplikasi atau program mengunakan salah satu library open source yang berlisensi GPLv3, maka keseluruhan aplikasi harus di lisensikan dengan GPLv3

Alternatif lain untuk lisensi GPL yang lebih ramah bisnis, adalah LGPL, atau Lesser GPL.

Dimana keseluruhan software tidak perlu di lisensikan sama dengan bagian opensource yang dipakai, tapi setiap modifikasi terhadap bagian open source, wajib untuk dilisensikan open source.

Resiko dari lisensi open source

Masalah lisensi dapat menyebabkan perselisihan dalam hukum melalui jalur pengadilan.

Contoh yang paling baru adalah tuntutan kepada Microsfot dan OpenAI. Mereka di tuntut karena di duga melanggar hukum perlindungan properti intelektual.

Microsoft menggunakan kode-kode open source di GitHub untuk melatih Copilot, untuk digunakan dalam produksi software secara otomatis.

Lalu apakah repository GitHub termasuk open source atau tidak ?
Kesalapahaman yang umum terjadi, adalah sebuah repository, yang dibuat publik, misalkan pada GitHub, GitLab, otomatis akan menjad kode open source.

Sebenarnya hal tersebut tidak tepat. Semua kode yang dibuat oleh individu atau organisasi, secara eksklusif dan otomatis dilindungi oleh hak cipta.

Walaupun kode tersebut di tampilkan di ruang publik. Jadi penggunaan, modifikasi dan pendistribusian, tidak bisa di lakukan tanpa ijin secara eksplisit oleh pembuat software.

Bila sebuah repositori atau source code, ditampilkan pada publik, baik secara sengaja atau tidak sengaja, dan tidak ada informasi lisensi, yang di sertakan dalam source code, maka repositor1 dikatakan bukan open source.

Dan tidak di anjurkan untuk dimanfaatkan, sebelum secara eksplisit disertakan informasi mengenai lisensi open source.

Sebaliknya, bila memang di inginkan sebuah repositori menjadi open source, dan mengijinkan orang lain memanfaatkan wajib disertakan informasi lisensi open source

Informasi lisensi open source, pada repository https://github.com/apple/ml-stable-diffusion

Repositori publik, tapi tanpa informasi lisensi, bisa dikatakan ini bukan open source

Beberapa repositori public terdapat pesan semacam ini :

“Code is for demonstration only. Not licensed for reuse.”

Walaupun adalah repositori yang bisa di akses secara bebas pada publik, tapi secara eksplisit bukan open source, hanya bisa di lihat, tapi tidak bisa secara legal di manfaatkan.

Tahun 2020, Open Weaver, sebuah perusahaan SaaS, menganalisa repository publik di platform GitLab, dan hasilnya sekitar 80% bukan open source, karena tidak secara jelas menyebutkan lisensi yang dipakai.

Memilih lisensi

Memilih lisensi open source dengan baik sangat penting, selain untuk melindungi properti intelektual, juga menghindarkan dari masalah-masalah berkaitan dengan hukum.

Mungkin di Indonesia, masalah lisensi open source ini belum menjadi perhatian. Tapi bila sebuah software nantinya berencana di terbitkan dengan skala internasional, tidak ada salahnya bila sejak awal masalah ini diperhatikan.

Berikut adalah hal-hal yang dapat menjadi pertimbangan dalam memilih lisensi

  • Bila proyek adalah bentuk kontribusi ke komunitas open source, maka yang paling mudah adalah dengan menggunakan lisensi yang sudah di gunakan dalam komunitas. Biasanya setiap komunitas punya preferensi lisensi tertentu yang sudah di sepakati. WordPress misalnya, menggunakan lisensi GPLv2 maka untuk kontribusi pada WordPress harus digunakan GPLv2
  • Bila menginginkan agar program yang kita buat dapat di gunakan dan disebarluaskan sebebas mungkin, tapi agar properti intelektual tetap terjaga, dapat dipilih GPLv3. Ini memungkinkan pengguna dengan bebas melakukan apa saja pada kode program, selain mendistribusikan versi closed source.
  • Bila diinginkan agar program yang dibuat dapat di gunakan sebebas mungkin, termasuk dipakai dalam software yang sifatnya proprietary, closed source, maka bisa dipilih lisensi yang lebih permisif, MIT atau BSD.
  • Lisensi copyleft akan tetap berlaku pada software atau program turunan, sehingga bila lisensi awal sifatnya permisif, maka produk turunan juga mengikuti.
  • Pilih lisensi yang permisif MIT,BSD bila di inginkan kebebasan sepenuhnya dengan batasan minimal mengenai penggunaan kode software
  • Pilih lisensi copyleft GPL, AGPL untuk menjamin kode tetap open source walaupun terjadi modifikasi, dan lisensi awal tetap di sertakan
  • Pilih MPL atau EPL, bila diinginkan tetap menggunakan kode proprietary, tapi modifikasi yang di lakukan adalah open source
  • Pilih CC0, bila di inginkan public domain, dan non software

Memilih lisensi open source menjadi hal yang sangat perlu di perhatikan untuk sebuah projek, tapi hendaknya di pilih lisensi yang sesuai agar hak dan kewajiban developer dan pengguna dapat saling terjaga.

Mempelajari dan memahami isi lisensi opensource jadi sangat penting untuk menghindari masalah di kemudian hari.

Secara umum lisensi open source terdapat resiko, mengenai sisi hukum dan fleksibiltas, tapi opensource juga mempunyai banyak keuntungan dan kesempatan untuk berkolaborasi, inovasi, dan pembuatan software berkualitas tinggi.

Daftar lisensi

https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses

https://opensource.org/licenses