Jika anda pernah menjadi seorang developer, atau pernah
mengelola organisasi ataupun proyek pengembangan sistem yang bersifat custom,
mungkin anda akan familiar dengan situs-situs seperti sourceforge atau maven.
Situs-situs tersebut merupakan situs komunitas open source yang menyediakan berbagai
program, komponen dan tools dalam beragam jenis, fungsi dan kelas yang terbuka
untuk digunakan dan dikembangkan lebih lanjut.
Menurut sebuah survey yang dilakukan oleh Accenture, hampir 80% perusahaan besar
mengatakan bahwa mereka telah menggunakan teknologi open-source dan
penggunaannya ini katanya akan semakin meluas di masa yang akan datang. Adapun
Gartner memperkirakan bahwa pada 2013 kini, teknologi open-source ini akan
digunakan dalam 85% dari seluruh solusi perangkat lunak komersial modern.
Meledaknya pengadopsian teknologi open-source ini disebabkan karena memang
banyak manfaatnya. Selain biayanya relatif rendah, kualitas produknya juga
banyak yang bagus, memungkinkan inovasi-inovasi terus menerus, mempercepat
proses pengembangan perangkat lunak, serta beragam manfaat lainnya.
Namun demikian –betapapun—selain banyak manfaatnya, penggunaan teknologi
open-source juga mengandung risiko baik bisnis maupun teknis yang tidak dapat
diabaikan begitu saja. Coba kita bayangkan, setiap saat berbagai organisasi
mengunduh puluhan ribu komponen open-source. Bayangkan jika kemudian
komponen-komponen tersebut tidak dimonitor dan dikontrol penggunaannya. Kondisi
ini dikonfirmasi oleh survey yang dilakukan oleh Sonatype . Sejumlah 87 persen dari responden
survey yang melibatkan 1600 software developer, team leader, dan system
architect ini mengatakan bahwa mereka menggunakan komponen-komponen open source
dalam pengembangan aplikasi-aplikasinya tanpa menerapkan tata kelola yang
memadai.
Risiko apa yang dapat ditimbulkan oleh kondisi seperti ini. Kondisi tata
kelola open source yang minim seperti itu setidaknya akan menimbulkan risiko
kualitas dan integritas aplikasi, risiko keamanan, dan juga risiko legal [Gold,
2012].
Bagaimana ia dapat berpengaruh pada kualitas dan integritas aplikasi? Fakta
menunjukkan bahwa komponen-komponen open source ini terus dimodifikasi dan
dikembangkan. Hal ini disamping berdampak positif terhadap kualitas komponen
tersebut juga berisiko pada pengendalian versi (version control) dari
komponen maupun aplikasi yang menggunakannya. Menurut statistik maven, setiap
komponen rata-rata diupdate empat kali dalam setahun. Ketika sebuah aplikasi
semakin kompleks, maka tingkat kesulitan untuk mengelola komponen-komponen yang
digunakan pun akan semakin kompleks pula. Nah dengan ratusan
ribu komponen yang tersedia bebas di jagad maya jelas membuat kesulitan yang
luar biasa bagi organisasi untuk mengikutinya. Sehingga bisa saja versi-versi
yang berbeda-beda dari komponen yang sama digunakan di dalam sebuah organisasi.
Hal ini bisa menyebabkan kekacauan yang berdampak pada kualitas dan integritas
dari aplikasi-aplikasi yang digunakan.
Tata kelola open source yang tidak baik juga menimbulkan kerawanan pada
keamanan informasi organisasi. Komponen-komponen open source yang tersedia
bebas di Internet itu tentu tidak semuanya aman. Banyak komponen-komponen yang
memiliki kerawanan keamanan yang signifikan, tapi tidak diketahui oleh para
calon penggunanya. Bahkan walaupun peringatan security telah
dipublikasikan, tetap saja kurang dipedulikan karena tidak adanya standard tata
kelola yang diterapkan di organisasi. Ini adalah fakta yang berulangkali
terbukti. Misalnya pada Januari 2010, US-CERT dan NIST, dua
lembaga yang berkaitan dengan security dan standard teknologi di Amerika,
menyampaikan peringatan melalui National
Vulnerability Database bahwa Jetty, sebuah open-source servlet
container, memiliki cacat security yang kritikal yang dapat memungkinkan
masuknya serangan terhadap antara lain kerahasiaan informasi organisasi. Tapi
walaupun ada peringatan tersebut, pada Desember 2010, hampir setahun
setelahnya, terdapat sekitar 11 ribu organisasi mengunduh versi rawan dari
Jetty ini dari maven dalam sebulan.
Faktor risiko penting lainnya adalah yang terkait dengan permasalahan
lisensi. Terdapat beberapa tipe lisensi open source, masing-masing dengan terms
dan kondisi yang berbeda-beda. Beberapa tipe lisensi tidak kompatibel satu
dengan lainnya dan tidak dapat dikombinasikan dalam sebuah aplikasi baru. Salah
satu pertimbangan penting dalam memilih sebuah lisensi adalah apakah skema
lisensi dari komponen itu memberikan batasan-batasan pada aplikasi yang
dihasilkan nanti. Skema lisensi copyleft seperti GNU General Public License
(GPL) dan turunan-turunannya, mungkin adalah yang paling problematis untuk
entitas komersial. Tipe lisensi ini memungkinkan siapapun untuk menggunakan
komponen berlisensi tersebut pada proyek-proyeknya, tapi, pada gilirannya nanti
aplikasi yang dihasilkan nanti juga akan memiliki hak yang sama, termasuk
membuat aplikasi turunan dan source codenya mesti tersedia secara gratis pula.
Dengan kata lain, copyleft adalah sebuah metode umum untuk membuat sebuah
program menjadi gratis dan menuntut semua versi modifikasi dan pengembangannya
menjadi gratis pula.
Mengabaikan atau melupakan kewajiban perlisensian ini dapat berimplikasi pada
masalah hukum. Oleh karena itu para developer mesti diberi pedoman yang jelas
untuk memastikan bahwa mereka hanya menggunakan komponen-komponen yang memiliki
sistem lisensi dengan risiko yang dapat diterima oleh organisasi.