[caption id="attachment_75987" align="alignleft" width="300" caption="Ilustrasi/Admin (Shutterstock)"][/caption]
Anda pernah menggunakan software open source? Atau masih bingung ketika mendengar kata open source?
Sebelum berkenalan dengan dunia open source, ada baiknya kita kenali dahulu berbagai jenis software menurut biaya lisensi dan ketersediaan source-codenya. Secara umum, ada dua jenis lisensi utama, yaitu free (gratis) dan propietary yang meminta kompensasi biaya atas pembelian atau penggunaan perangkat lunak. Pengembang pada kedua jenis lisensi utama tersebut dapat menerapkan skema open source (menyediakan source code) maupun closed source (tidak menyediakan source code). Sehingga dapat ditemui adanya perangkat lunak gratis yang tidak open source, maupun perangkat lunak berbayar yang open source. Pada skema open source, ada yang dikembangkan oleh perusahaan (corporate) dan komunitas (collaborative). Piranti lunak open source kolaboratif ada yang sudah matang (mature) dan sedang dalam pengembangan (in development). Bagi pemula, disarankan menggunakan piranti lunak yang sudah matang. Karena mengandung resiko yang lebih kecil.
Secara sederhana, ada dua kategori lisensi software yang banyak dipakai, yaitu:
- FOSS (Free / Open Source Software) adalah dua istilah yang maksudnya hampir sama, yakni program yang tidak perlu biaya izin (free = bebas) digunakan dan kode sumbernya tidak dirahasiakan (open = tersedia), sehingga cara kerjanya dapat dipelajari, lalu dikembangkan, dan disebarluaskan. Contoh: Linux, OpenOffice, GIMP, Inkscape.
- PCSS (Proprietary / Closed Source Software) adalah program yang hanya dimiliki pembuatnya (terikat). Pengguna hanya dapat menggunakan jika membeli lisensi (mendapatkan izin). Pihak lain tidak dapat mempelajari cara kerjanya (tertutup), tidak pula mengembangkan dan menyebarluaskan. Contoh: Windows, MS Office, Photoshop, CorelDraw.
Seorang profesor dari universitas terkemuka di Amerika pada awal tahun 90-an pernah meramalkan, bahwa di masa depan nanti, hampir semua perangkat lunak di dunia akan diberikan secara gratis kepada siapa saja yang membutuhkan. Alasannya cukup sederhana sebagai berikut:
- perangkat lunak dibangun berdasarkan sebuah algoritma tertentu;
- algoritma pada hakekatnya berasal dari hasil ide atau buah pemikiran seseorang;
- akan semakin banyak orang yang memiliki ide dan pemikiran cemerlang sejalan dengan kebutuhan manusia yang bertambah dan berubah-ubah;
- karena banyak orang yang dengan rela dan kesadarannya kerap memberikan ide atau pemikirannya secara gratis kepada banyak orang, maka dengan kata lain perangkat lunak akan diberikan secara cuma-cuma kepada siapa saja yang membutuhkannya.
Pada mulanya profesor ini menyangka bahwa tipe perangkat lunak yang akan pertama-tama diberikan secara gratis dengan konsep "open source" adalah aplikasi, ternyata yang lahir terlebih dahulu adalah tipe sistem operasi - yaitu Linux. Karena sistem operasi merupakan dasar atau fundamental dari sebuah arsitektur perangkat lunak, maka perkembangan konsep "open source" yang diramalkan profesor tersebut percepatannya lebih tinggi dari yang dibayangkan.
- Apa itu Open Source
Open Source tidak hanya bermakna kebebasan akses ke source code saja. Open source juga merupakan:
- Sebuah komunitas kuat yang terdiri dari individu-individu yang lebih mengutamakan kepentingan dan kesejahteraan umum dibandingkan dirinya sendiri;
- Seperangkat aturan lisensi software; open source bukan berarti tanpa lisensi, sebab ini berkaitan dengan hukum. Agar open source dapat menjadi legal di mata hukum, diperlukan aturan lisensi open source;
- Sebuah model pengembangan software secara kolaboratif; setiap orang dapat ikut berpartisipasi dalam mengembangkan software;
- Sebagai katalis yang membangkitkan bisnis dan model bisnis yang belum pernah ada sebelumnya; tidak ada bisnis dalam sistem open source itu sendiri, karena ia hanyalah alat; namun open source dapat digunakan untuk menjalankan bisnis dengan lebih efisien atau mengembangkan model bisnis baru di sekitar pemanfaatan open source;
- Kekuatan yang mendorong percepatan software menjadi komoditi.
Sebagai seperangkat lisensi software, ada beberapa kriteria yang harus dipenuhi sebelum suatu software dapat disebut sebagai open source. Berikut ini definisi open source menurut lembaga nirlaba Open Source Initiative (OSI):
1. Distribusi Ulang Secara Bebas
Lisensi yang digunakan tidak boleh membatasi siapa pun untuk menjual atau mendistribusikan ulang. Baik distribusi ulang secara terpisah maupun digabungkan dengan program lain. Lisensi tidak boleh mesyaratka royalti atau semacamnya bila program tersebut akan dijual.
Alasan Logis: Dengan mensyaratkan distribusi ulang secara bebas, hilangnya manfaat jangka panjang demi hasil penjualan jangka pendek dapat dieliminasi.
2. Kode program (Source Code)
Distribusi program harus menyertakan source code, dan harus mengizinkan distribusi source code sebagaimana halnya bentuk yang sudah dikompilasi (bentuk binari/executable). Jika program tidak didistribusikan bersama source code, harus ada publikasi/penjelasan yang memadai bagaimana caranya mendapatkan sorce codenya. Biaya yang diperlukan untuk mendapatkan source code tida boleh lebih dari biaya reproduksinya atau tersedia untuk didownload (diunduh) melalui internet. Source code harus menjadi bentuk yang lebih disukai jika programmer ingin memodifikasi programnya. Source code tidak boleh diubah atau dibuat mnejadi tidak jelas dengan sengaja. Bentuk intermediate juga tidak diijinkan, misalnya keluaran dari preposesor atau translator.
Alasan Logis: Akses ke source code yang jelas diperlukan untuk mengembangkan dan memodifikasi program. Agar hal tersebut dapat dilakukan dengan mudah, maka akses ke source code juga harus dimudahkan.
3. Hasil Modifikasi atau Turunan
Lisensi harus mnegijinkan modifikasi atau pembuatan turunan dari program tersebut, dan harus mengizinkan program yang diturukan untuk dilisensikan dengan lisensi yang sama dengan program aslinya.
Alasan Logis: Ketersediaan akses untuk membaca source code saja tidak cukup untuk mendukung peer review secara independen dan pengembangan evolusioner yang cepat. Agar hal tersebut dapat terjadi, diperlukan eksperimen pada source code dan distribusi ulang hasil modifikasinya.
4. Integritas Programmer Asli
Lisensi dapat melarang source code untuk didistribusikan dalam bentuk yang sudah dimodifikasi bila mengijinkan distribusi patch beserta source codenya untuk memodifikasi program pada saat build time. Lisensi harus secara eksplisit mengijinkan distribusi program yang dibangun dari source code yang telah dimodifikasi. Lisensi dapat mensyaratkan program turunan agar menggunakan anma atau vesi yang berbeda dengan program yang asli.
Alasan Logis: mendorong terjadinya banyak pengembangan dan perbaikan adalah hal yang sangat baik, namun para pengguna berhak untuk mengetahui siapa yang bertanggung jawab terhadap aplikasi yang mereka gunakan. Sebaliknya, sang pembuat program dan pemeliharanya (maintainer) juga berhak untuk mengetahui apa harus meerka dukung dan untuk menjaga reputasi mereka.
Dengan demikian, sebuah lisensi open source harus menjamin agar source code tersedia, namun dapat mensyaratkan agar source code didistribusikan dalam bentuk pristine (masih asli dari sang pembuat, belum ada modifikasi dari pihak lain) ditambah dengan patch (tambalan). Dengan cara ini, perubahan yang tidak resmi dapat dibuat dan disediakan, namun dapat dibedakan dari source aslinya.
5. Tidak Ada Diskriminasi Pada Orang Atau Kelompok Orang
Lisensi tidak boleh membatasai orangatau kelompok orang untuk menggunakan atau terlibat dalam proses pengembangan program open source.
Alasan Logis: Untuk mendapatkan manfaat yang optimal dari proses pengembangan aplikasi open source, maka tingkat perbedaan orang atau kelompok orang yang terlibat dalam prosesnya juga harus maksimal. Setiap orang harus memiliki hak yang sama untuk berkontribusi pada proyek open source apa pun. Dengan kata lain, tidak boleh ada larangan bagi siapapun untuk terlibat dalam proses pengembangan open source.
6. Tidak Ada diskriminasi Dalam Bidang Penggunaannya
Lisensi tidak boleh membatasi seseorang untuk menggunakan program yang dimaksud dalam bidang tertentu. Misalnya, lisensi tidak boleh membatasi penggunaan program dalam bidang penelitian, pendidikan, atau digunakan untuk menjalankan bisnis.
Alasan Logis: Hal ini dimaksudkan agar penggunaan open source meluas dan tidak terjebak pada batasan untuk digunakan sebagai alat bantu dalam dunia bisnis komersial. Pengguna komersial justru diharapkan bergabung dengan komunitas open source dan tidak merasa dikecualikan dalam menggunakan program open source.
7. Distribusi Lisensi
Hak-hak yang melekat pada program harus dapat diterapkan pada seluruh pengguna; tanpa memerlukan tambahan lisensi.
Alasan Logis: klausa ini dimaksudkan untuk menghindari penutupan software secara tidak langsung.
8. Lisensi Tidak Boleh Spesifik pada Produk tertentu
Hak-hak yang melekat pada program tidak boleh mensyaratkan program tersebut mnejadi bagian dari distribusi software tertentu. Jika program tertentu digunakan atau didistribusikan secara terpisah dari distribusi softwarenya, namun tetap mengikuti lisensi berlaku pada program tersebut, maka seluruh pihak yang menerima atau menggunakan program tersebut harus menerima hak yang sama dengan mereka yang mendapatkannya bersama distribusi software aslinya.
Alasan Logis: klausul ini mencegah jenis jebakan lisensi yang lain.
9. Lisensi Tidak Boleh Membatasi Software Lain
Lisensi tidak boleh membatasi software lain yang didistribusikan bersama program yang dilisensikan. Misalnya, lisensi tidak boleh memaksa bahwa program lain yang didistribusikan dalam media yang sama harus merupakan software yang open source.
Alasan Logis: Distributor software open-source memiliki hak untuk menentukan pilihan mengenai software mereka. Lisensi GPL (GNU General Public License) juga mengadaptasi hal ini. Software yang menggunakan pustaka berlisensi GPL hanya diharuskan berlisensi GPL bila membentuk satu software yang sama, bukan pada software apa saja yang didistribusikan bersamanya.
10. Lisensi Harus Netral Terhadap Teknologi
Penyediaan lisensi tidak boleh mengharuskan penggunaan teknologi atau tampilan grafis tertentu.
Alasan Logis: Penyediaan lisensi ini ditujukan secara spesifik pada lisensi yang mengharuskan adanya tindakan yang secara ekplisit menunjukkan ekspresi persetujuan dan mengadakan kontrak antara pengguna software yang dilisensikan dengan pembuat lisensinya. Penyediaan lisensi yang mengharuskan "click-wrap" dapat menimbulkan konflik dengan beberapa metode penting dalam distribusi software seperti misalnya: download melalui FTP (File Transfer Protocol), CD-ROM berisi kumpulan aplikasi, atau mirror web; beberapa di antaranya dapat menghalangi atau mencegah penggunaan kembali kode program. Maka adaptasi penyediaan lisensi harus memungkinkan (a) distribusi software bisa dilakukan di jalur non-web yang tidak mendukung click-wrap pada proses download dan (b) kode program yang tercakup dalam lisensi (atau penggunaan kembali sebagian dari kode program yang tercakup) harus dapat dijalankan dalam lingkungan tanpa tampilan grafis yang tidak dapat mendukung dialog pop-up.
Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H