Sunday, May 22, 2011

Apa Yang Didapat dari Open Source?



Jakarta – Sebagian orang masih bertanya, apa sih sebenarnya benefit atau keuntungan yang diperoleh dari open source? Apa untungnya mendukung dan aktif dalam open source?


Jawabannya, ada banyak sekali keuntungan dari open source. Dalam tulisan ini saya akan menjabarkan beberapa keuntungan yang paling dapat kita lihat dan nikmati.


Bekerja sebagai tim


Salah satu motif seseorang aktif dalam dunia open source adalah ingin menjadikan perangkat lunak yang lebih baik dan sesuai dengan kebutuhan. Seorang programmer ‘penganut aliran’ open source akan dengan senang hati membuat tambahan kode untuk fitur yang dibutuhkan. Fitur buatan yang telah jadi akan dipublikasikan ke komunitas dan diuji-cobakan atau mungkin diperbaiki di kemudian hari sehingga lebih sempurna.


Di sinilah peran masing-masing komponen dalam tim terlihat. Di sini pula kerjasama dibangun satu sama lain, baik programmer maupun pengguna sehingga tercipta perangkat lunak yang lebih baik. Tidak hanya programmer dan pengguna, dalam pembuatan perangkat lunak juga ada dokumentasi yang dibuat baik secara resmi maupun tidak resmi. Semua orang berperan dengan lakon masing-masing demi kebaikan bersama.


Kode yang lebih baik


Ada banyak kasus ketika seorang programmer mengerjakan proyek yang kodenya tak akan disebarkan sehingga dengan semena-mena ia mendefinisikan parameter atau variabel sesuai keinginannya tanpa standar yang jelas. Akibatnya, ketika proyek dialihkan kepada orang lain kode yang dibuatnya menjadi susah dipahami. Dan penerus proyek pun memilih mengerjakan ulang dari awal karena dia tidak dapat memahami kode yang telah ada. Kejadian ini adalah contoh membuang-buang waktu yang menjadikan upaya sebelumnya terbuang percuma.


Hal ini tidak terjadi di dunia open source. Ketika programmer tahu bahwa kodenya akan dilihat oleh ratusan atau bahkan ribuan orang dari seluruh dunia maka dia memilih mendefinisikan variabel maupun menulis kode program lebih rapi. Penulisan parameter dan variabel pun mengikuti standar, baik yang tertulis maupun tidak tertulis. Baris kode yang ditulis lebih rapi akan memudahkan orang lain untuk memahami proyek tersebut. Dari proses inilah maka kode dalam perangkat lunak yang bersifat open source menjadi jauh lebih baik.


Portofolio


Curriculum vitae, halaman ‘tentang’ dalam blog, maupun produk akhir atau bahkan interview sebenarnya tak dapat digunakan untuk mengukur kemampuan seorang programmer. Memberikan tes pun tak sepenuhnya efektif untuk melihat bagaimana seseorang bekerja. Proses tes tidak hanya bersifat kemampuan tetapi juga psikologis dimana peserta tes kadangkala mengalami tekanan.


Mengukur kemampuan dapat dilakukan dengan melihat bagaimana baris kode dituliskan dan teknologi apa saja yang dikuasai dari baris kode yang dibuat. Jika dalam psikologi seseorang dapat dilihat dari isi kamarnya, maka kualitas seorang programmer dapat dilihat dari isi kode program yang dibuatnya.


John Resig, seorang developer JavaScript di Mozilla, pernah ngetweet: kalau saya harus mencari seseorang, saya akan mencarinya dari halaman Commit Log di Github daripada resume.


Commit Log dalam Github adalah sejenis kumpulan catatan perubahan yang dilakukan oleh siapapun yang bergabung dalam sebuah proyek. Dalam halaman ini tercatat siapa yang telah mengubah apa dengan bentuk tulisan seperti apa. Dari sini pula dapat diketahui siapa yang mahir dan berkontribusi dalam hal apa saja. Halaman ini secara tak langsung telah menjadi portofolio yang secara otomatis terbuat saat kita bekerja.


Perangkat lunak yang berkualitas


Keuntungan paling nyata dari open source bagi pengguna awam adalah perangkat lunak yang berkualitas baik dan semakin baik. Semakin banyak orang berkontribusi semakin baik pula perangkat lunak yang dihasilkan. Falsafah ‘release early, release often’ adalah salah satu pendukung bagaimana perangkat lunak open source selalu jadi lebih baik.


Ketika perangkat lunak pertama kali dirilis dalam versi beta misalnya, ratusan bahkan mungkin ratusan ribu orang melakukan uji coba dan memberikan masukan. Masukan diterima, diproses dan kemudian diterapkan untuk edisi rilis berikutnya. Semakin lama perangkat lunak pun semakin baik karena masukan dari berbagai pihak. Contoh dari hal ini adalah Mozilla Firefox.


Developer dari Indonesia mungkin tidak sebanyak developer dari Amerika atau Russia. Oleh karena itu sudah saatnya kita juga berkontribusi untuk menjadikan dunia (khususnya Indonesia) ini lebih baik. Siapapun bisa berkontribusi dalam dunia open source baik sebagai developer, tester, maupun dokumenter. Mulailah dari Github, Google Code, Sourceforge, atau yang lain dan tunjukkan bahwa kita bukan hanya sekumpulan pengguna awam yang bermental gratisan. Mari tunjukkan bahwa kita juga bisa berkarya!


Salam.