Apa Itu Perangkat Lunak Sumber Terbuka, dan Mengapa Itu Penting?

Geeks sering menggambarkan program sebagai "open source" atau "software gratis". Jika Anda bertanya-tanya apa sebenarnya arti istilah-istilah ini dan mengapa itu penting, baca terus. (Tidak, "perangkat lunak gratis" tidak hanya berarti Anda dapat mengunduhnya secara gratis.)

Apakah suatu program bersifat open-source atau tidak, tidak hanya penting bagi pengembang, pada akhirnya juga penting bagi pengguna. Lisensi perangkat lunak sumber terbuka memberi pengguna kebebasan yang tidak akan mereka miliki.

Kredit Gambar: Quinn Dombrowski di Flickr

Definisi Open Source

Jika suatu program bersifat open-source, kode sumbernya tersedia secara gratis bagi penggunanya. Para penggunanya - dan siapa pun - memiliki kemampuan untuk mengambil kode sumber ini, memodifikasinya, dan mendistribusikan versi program mereka sendiri. Para pengguna juga memiliki kemampuan untuk mendistribusikan sebanyak mungkin salinan dari program asli yang mereka inginkan. Siapapun dapat menggunakan program ini untuk tujuan apapun; tidak ada biaya lisensi atau batasan lain pada perangkat lunak. OSI memiliki definisi yang lebih rinci tentang "open source" di situsnya.

Misalnya, Ubuntu Linux adalah sistem operasi sumber terbuka. Anda dapat mengunduh Ubuntu, membuat salinan sebanyak yang Anda inginkan, dan memberikannya kepada teman Anda. Anda dapat menginstal Ubuntu pada komputer Anda dalam jumlah yang tidak terbatas. Anda dapat membuat remix dari disk instalasi Ubuntu dan mendistribusikannya. Jika Anda sangat termotivasi, Anda dapat mengunduh kode sumber untuk program di Ubuntu dan memodifikasinya, membuat versi program Anda sendiri yang disesuaikan - atau Ubuntu itu sendiri. Semua lisensi sumber terbuka memungkinkan Anda melakukan ini, sementara lisensi sumber tertutup membatasi Anda.

Kebalikan dari perangkat lunak sumber terbuka adalah perangkat lunak sumber tertutup, yang memiliki lisensi yang membatasi pengguna dan menyimpan kode sumber dari mereka.

Firefox, Chrome, OpenOffice, Linux, dan Android adalah beberapa contoh populer dari perangkat lunak sumber terbuka, sementara Microsoft Windows mungkin adalah perangkat lunak sumber tertutup yang paling populer di luar sana.

Sumber Terbuka vs. Perangkat Lunak Gratis

Aplikasi sumber terbuka umumnya tersedia secara gratis - meskipun tidak ada yang menghentikan pengembang untuk menagih salinan perangkat lunak jika memungkinkan pendistribusian ulang aplikasi dan kode sumbernya setelah itu.

Namun, bukan itu yang dimaksud dengan "perangkat lunak bebas". Kata "gratis" dalam perangkat lunak bebas berarti "bebas seperti dalam kebebasan", bukan "gratis seperti dalam bir". Kamp perangkat lunak gratis, dipimpin oleh Richard Stallman dan Free Software Foundation, berfokus pada etika dan moral penggunaan perangkat lunak yang dapat dikontrol dan dimodifikasi oleh pengguna. Dengan kata lain, kamp perangkat lunak bebas berfokus pada kebebasan pengguna.

Richard Stallman. Gambar oleh Fripog di Flickr.

Pergerakan perangkat lunak sumber terbuka diciptakan untuk fokus pada alasan yang lebih pragmatis untuk memilih jenis perangkat lunak ini. Pendukung open source ingin fokus pada manfaat praktis menggunakan perangkat lunak open source yang akan lebih menarik bagi bisnis, daripada etika dan moral.

Pada akhirnya, baik pendukung perangkat lunak open-source dan gratis mengembangkan jenis perangkat lunak yang sama, tetapi mereka tidak setuju pada pesan tersebut.

Jenis Lisensi

Ada banyak lisensi berbeda yang digunakan oleh proyek sumber terbuka, bergantung pada mana yang lebih disukai pengembang untuk program mereka.

GPL, atau Lisensi Publik Umum GNU, banyak digunakan oleh banyak proyek sumber terbuka, seperti Linux. Selain semua definisi open-source di atas, istilah GPL menetapkan bahwa, jika seseorang memodifikasi program open-source dan mendistribusikan karya turunan, mereka juga harus mendistribusikan kode sumber untuk karya turunannya. Dengan kata lain, tidak ada yang dapat mengambil kode sumber terbuka dan membuat program sumber tertutup darinya - mereka harus merilis perubahan mereka kembali ke komunitas. Microsoft menyebut GPL sebagai "viral" karena alasan ini, karena memaksa program yang menyertakan kode GPL untuk merilis kode sumbernya sendiri. Tentu saja, pengembang program dapat memilih untuk tidak menggunakan kode GPL jika ini menjadi masalah.

Beberapa lisensi lain, seperti lisensi BSD, tidak terlalu membatasi pengembang. Jika suatu program dilisensikan di bawah lisensi BSD, siapa pun dapat memasukkan kode sumber program ke dalam program lain. Mereka tidak harus merilis perubahannya kembali ke komunitas. Beberapa orang melihat ini bahkan lebih "gratis" daripada lisensi GPL, karena memberikan kebebasan kepada pengembang untuk memasukkan kode ke dalam program sumber tertutup mereka sendiri, sementara beberapa orang melihatnya sebagai kurang "gratis" karena mengambil hak dari pengguna akhir program turunan.

Manfaat bagi Pengguna

Ini tidak semuanya kering, hal-hal tidak penting yang hanya penting bagi pengembang. Manfaat paling jelas dari perangkat lunak sumber terbuka adalah dapat diperoleh secara gratis. Contoh Ubuntu Linux di atas menjelaskannya - tidak seperti Windows, Anda dapat menginstal atau mendistribusikan salinan Ubuntu sebanyak yang Anda inginkan, tanpa batasan. Ini bisa menjadi server yang sangat berguna - jika Anda menyiapkan server, Anda cukup menginstal Linux di dalamnya. jika Anda menyiapkan cluster server virtual, Anda dapat dengan mudah menduplikasi satu server Ubuntu. Anda tidak perlu khawatir tentang perizinan dan berapa banyak contoh Linux yang diizinkan untuk Anda jalankan.

Program sumber terbuka juga lebih fleksibel. Misalnya, antarmuka baru Windows 8 mengecewakan banyak pengguna lama Windows desktop. Karena Windows adalah sumber tertutup, tidak ada pengguna Windows yang dapat menggunakan antarmuka Windows 7, memodifikasinya, dan membuatnya berfungsi dengan benar di Windows 8. (Beberapa pengguna Windows mencoba, tetapi ini adalah proses rekayasa balik dan modifikasi file biner yang melelahkan. )

Ketika desktop Linux seperti Ubuntu memperkenalkan antarmuka desktop baru yang bukan merupakan penggemar sebagian pengguna, pengguna memiliki lebih banyak opsi. Misalnya, ketika GNOME 3 dirilis, banyak pengguna desktop Linux yang sama-sama dimatikan. Beberapa mengambil kode ke versi lama, GNOME 2, dan memodifikasinya agar dapat berjalan di distribusi Linux terbaru - ini MATE. Beberapa mengambil kode ke GNOME 3 dan memodifikasinya agar berfungsi dengan cara yang mereka sukai - ini Cinnamon. Beberapa pengguna baru saja beralih ke desktop alternatif yang ada. Jika Windows adalah open-source, pengguna Windows 8 akan memiliki lebih banyak pilihan dan fleksibilitas. Lihat saja CyanogenMod, distribusi Android populer berbasis komunitas yang menambahkan fitur dan dukungan untuk perangkat baru.

Perangkat lunak sumber terbuka juga memungkinkan pengembang untuk "berdiri di atas bahu raksasa" dan membuat perangkat lunak mereka sendiri. Saksikan Android dan Chrome OS, yang merupakan sistem operasi yang dibangun di Linux dan perangkat lunak sumber terbuka lainnya. Inti dari Apple OS X - dan untuk itu iOS - juga dibangun di atas kode sumber terbuka. Valve bekerja keras untuk mem-porting platform game Steam mereka ke Linux, karena ini akan memungkinkan mereka untuk membuat perangkat keras mereka sendiri dan mengontrol takdir mereka sendiri dengan cara yang tidak mungkin dilakukan di Microsoft Windows.

Ini bukan deskripsi yang lengkap - seluruh buku telah ditulis tentang subjek ini - tetapi Anda sekarang harus memiliki gagasan yang lebih baik tentang apa sebenarnya perangkat lunak sumber terbuka itu dan mengapa itu berguna bagi Anda.