Perangkat lunak bebas atau peranti bebas[1] (Inggris: free software) adalah istilah yang diciptakan oleh Richard Stallman dan Free Software Foundation[2] yang mengacu kepada perangkat lunak yang bebas untuk digunakan, dipelajari dan diubah serta dapat disalin dengan atau tanpa modifikasi, atau dengan beberapa keharusan untuk memastikan bahwa kebebasan yang sama tetap dapat dinikmati oleh pengguna-pengguna berikutnya. Bebas di sini juga berarti dalam menggunakan, mempelajari, mengubah, menyalin atau menjual sebuah perangkat lunak, seseorang tidak perlu meminta izin dari siapa pun.
Untuk menjadikan sebuah perangkat lunak sebagai perangkat lunak bebas, perangkat lunak tersebut harus memiliki sebuah lisensi, atau berada dalam domain publik dan menyediakan akses ke kode sumbernya bagi setiap orang. Gerakan perangkat lunak bebas (free software movement) yang merintis perangkat lunak bebas berawal pada tahun 1983, bertujuan untuk memberikan kebebasan ini dapat dinikmati oleh setiap pengguna komputer.
Dengan konsep kebebasan ini, setiap orang bebas untuk menjual perangkat lunak bebas, menggunakannya secara komersial dan mengambil untung dari distribusi dan modifikasi kode sumbernya. Walaupun demikian setiap orang yang memiliki salinan dari sebuah perangkat lunak bebas dapat pula menyebarluaskan perangkat lunak bebas tersebut secara gratis. Model bisnis dari perangkat lunak bebas biasanya terletak pada nilai tambah seperti dukungan, pelatihan, kustomisasi, integrasi atau sertifikasi.
Perangkat lunak bebas (free software) jangan disalahartikan dengan perangkat lunak gratis (freeware) yaitu perangkat lunak yang digunakan secara gratis. Perangkat lunak gratis dapat berupa perangkat lunak bebas atau perangkat lunak tak bebas. Sejak akhir tahun 1990-an, beberapa alternatif istilah untuk perangkat lunak bebas digulirkan seperti "perangkat lunak sumber terbuka" (open-source software), "software libre", "FLOSS", dan "FOSS".
Saat ini, umumnya perangkat lunak bebas tersedia secara gratis dan dibangun/dikembangkan oleh suatu paguyuban terbuka. Anggota-anggota paguyuban tersebut umumnya bersifat sukarela tetapi dapat juga merupakan karyawan suatu perusahaan yang memang dibayar untuk membantu pengembangan perangkat lunak tersebut.
Pada 1950-an, 1960-an dan 1970-an, suatu perangkat lunak dapat dibagi penggunaannya secara bebas oleh pengguna-pengguna komputer. Industri perangkat keras sangat diuntungkan karena dengan dibuatnya suatu perangkat lunak yang berjalan di atas perangkat keras yang mereka buat, menjadikan perangkat keras mereka berguna. Pada 1970-an dan akhir 1980-an, perusahaan-perusahaan pembuat perangkat lunak mulai menggunakan hak cipta untuk melarang penggunaan perangkat lunak berbagi, dan mulai menyebarkan perangkat lunak dalam format biner (format terkompilasi) dan bukannya dalam kode sumber untuk mencegah perangkat lunak untuk dapat dipelajari atau dimodifikasi.
Pada 1983, Richard Stallman meluncurkan proyek GNU setelah merasa frustasi dengan efek yang ditimbulkan dari perubahan budaya industri komputer dan pengguna-penggunanya. Pengembangan perangkat lunak sistem operasi GNU dimulai pada Januari 1984, dan Yayasan Perangkat Lunak Bebas (FSF) didirikan pada Oktober 1985. Ia memperkenalkan definisi perangkat lunak bebas dan "copyleft", yaitu sebuah model lisensi yang memastikan kebebasan dalam hal penggunaan perangkat lunak bebas bagi semua orang.[3]
Perangkat lunak bebas merupakan upaya besar dari dunia internasional untuk menghasilkan perangkat lunak yang digunakan oleh individu, perusahaan besar dan lembaga pemerintah. Perangkat lunak bebas memiliki penetrasi pasar yang tinggi dalam aplikasi serverInternet seperti Apache HTTP Server, sistem basisdata MySQL, dan bahasa skrip PHP. Paket besar perangkat lunak bebas juga tersedia seperti GNU/Linux dan FreeBSD. Pengembang-pengembang perangkat lunak bebas juga telah membuat versi bebas dari aplikasi-aplikasi dekstop yang umum digunakan seperti penjelajah web, paket perkantoran dan pemutar multimedia. Tetapi perlu dicatat bahwa dalam banyak kategori, perangkat lunak bebas yang digunakan untuk pengguna-pengguna individu atau pengguna rumahan hanya memiliki porsi kecil dari pasar yang lebih banyak dikuasai oleh perangkat lunak berbayar. Kebanyakan perangkat lunak bebas didistribusikan secara online dan gratis, atau secara off-line dengan dikenai sejumlah biaya untuk distribusi.
Keuntungan ekonomis dari model perangkat lunak bebas telah diakui oleh beberapa perusahaan besar seperti IBM, Red Hat, dan Sun Microsystems. Banyak perusahaan yang bisnis intinya tidak berada dalam sektor teknologi informasi memilih perangkat lunak bebas sebagai solusi Internet mereka karena investasi yang rendah dan kebebasan untuk kustomisasi.
Contoh perangkat lunak bebas
Beberapa perangkat lunak bebas yang dikenal secara internasional:
Untuk membantu membedakan antara perangkat lunak bebas dan perangkat lunak gratis, Richard Stallman, pendiri gerakan perangkat lunak bebas, menjelaskan: "Perangkat lunak bebas adalah perihal kebebasan, bukan harga. Untuk mengerti konsepnya, Anda harus memikirkan 'bebas' seperti dalam "kebebasan berpendapat", bukan 'bebas' dalam "bir gratis"."[4]
Menurut Richard Stallman dan Yayasan Perangkat Lunak Bebas, suatu perangkat lunak dikatakan perangkat lunak bebas jika pengguna yang menerima salinan perangkat lunak tersebut memiliki empat kebebasan yaitu:
Kebebasan 0: Bebas untuk menjalankan perangkat lunak untuk tujuan apapun.
Kebebasan 1: Bebas untuk mempelajari dan mengubah perangkat lunak.
Kebebasan 2: Bebas untuk menyalin perangkat lunak, sehingga Anda dapat membantu tetangga Anda.
Kebebasan 3: Bebas untuk memajukan perangkat lunak, dan merilisnya ke publik, sehingga komunitas dapat menikmati keuntungan tersebut.
Kebebasan 1 dan 3 membutuhkan akses atas kode sumber, karena tidak mungkin untuk mempelajari dan mengubah perangkat lunak tanpa kode sumbernya.
Kelompok lainnya telah mempublikasikan definisi lain yang menggambarkan hal yang hampir sama tentang perangkat lunak bebas. Panduan Perangkat Lunak Bebas Debian (Debian Free Software Guidelines) dan Definisi Sumber Terbuka (Open Source Definition) adalah contohnya.
Beberapa pengguna menggunakan istilah "libre" untuk menghindari disambiguasi dari kata free. Istilah tersebut kebanyakan ditemui di gerakan perangkat lunak bebas.
FSF mengelompokkan lisensi-lisensi perangkat lunak bebas ke dalam:
Lisensi-lisensi copyleft, adalah GNU General Public License yang paling menonjol. Lisensi-lisensi ini mengakui hak cipta oleh penciptanya dan mengizinkan pendistribusian dan modifikasi dengan beberapa syarat yang memastikan bahwa semua versi yang telah dimodifikasi tetap bebas selama waktu yang diinginkan penciptanya.
Lisensi-lisensi BSD, di mana umumnya perangkat lunak yang berlisensi ini didistribusikan dengan sistem operasi BSD. Penciptanya memegang hak cipta dan mengharuskan atribusi pada versi-versi yang dimodifikasi, tetapi tetap mengizinkan pendistribusian dan modifikasi selama waktu yang diinginkan penciptanya.
Perangkat lunak domain publik - Pencipta meninggalkan hak ciptanya. Karena peranti lunak domain publik tidak memiliki perlindungan hak cipta, perangkat lunak lisensi ini dapat secara bebas digunakan dalam bentuk apapun termasuk ke dalam bentuk berbayar. Penciptanya dalam kondisi apapun tidak bisa lagi menetapkan pembatasan-pembatasan apapun setelah dirilis dan diedarkan.
Keamanan dan Keandalan
Ada perdebatan mengenai keamanan perangkat lunak bebas dibandingkan dengan perangkat lunak berproperti, dengan isu utama adalah keamanan melalui ketidakjelasan. Sebuah uji kuantitatif populer dalam keamanan komputer adalah dengan menghitung relatif dari kerentanan keamanan yang belum diperbaiki yang diketahui. Umumnya, pengguna metode ini menyarankan untuk menghindari produk yang tidak memiliki perbaikan untuk kerentanan keamanan yang diketahui, setidaknya sampai ada perbaikan yang tersedia.
Advokat perangkat lunak bebas sangat yakin bahwa metodologi ini bias karena menghitung lebih banyak kerentanan untuk sistem perangkat lunak bebas, karena kode sumber mereka dapat diakses dan komunitas mereka lebih terbuka tentang masalah yang ada,[8] (Ini disebut "Keamanan Melalui Pemberian Informasi"[9]) dan sistem perangkat lunak berproperti dapat memiliki dampak sosial yang tidak diungkapkan, seperti merampas hak pengguna yang kurang beruntung untuk menjadi pengguna program gratis. Karena pengguna dapat menganalisis dan melacak kode sumbernya, banyak orang tanpa batasan komersial dapat memeriksa kode dan menemukan bug dan celah lebih banyak daripada yang dapat ditemukan oleh sebuah perusahaan. Menurut Richard Stallman, akses pengguna ke kode sumber membuat penggunaan perangkat lunak bebas dengan fungsionalitas peranti intai tersembunyi yang tidak diinginkan jauh lebih sulit daripada perangkat lunak berproperti.[10]
Beberapa studi kuantitatif telah dilakukan mengenai subjek ini.[11][12][13][14]
Blob biner dan perangkat lunak berproperti lainnya
Pada tahun 2006, OpenBSD memulai kampanye pertama melawan penggunaan blob biner dalam kernel. Blob biasanya adalah pemacu perangkat yang dapat didistribusikan secara bebas untuk perangkat keras dari vendor yang tidak mengungkapkan kode sumber pemacu kepada pengguna atau pengembang. Hal ini membatasi kebebasan pengguna untuk memodifikasi perangkat lunak dan mendistribusikan versi yang dimodifikasi. Selain itu, karena blob tidak didokumentasikan dan dapat memiliki bug, mereka menimbulkan risiko keamanan bagi setiap sistem operasi yang kernelnya termasuk blob. Tujuan yang diumumkan dari kampanye melawan blob adalah mengumpulkan dokumentasi perangkat keras yang memungkinkan pengembang menulis pemacu perangkat lunak bebas untuk perangkat keras tersebut, akhirnya memungkinkan semua sistem operasi bebas menjadi atau tetap bebas dari blob.
Isu blob biner dalam kernel Linux dan pemacu perangkat lainnya memotivasi beberapa pengembang di Irlandia untuk meluncurkan gNewSense, distribusi berbasis Linux dengan semua blob biner dihapus. Proyek ini mendapat dukungan dari Free Software Foundation dan merangsang pembuatan, yang dipimpin oleh Free Software Foundation Latin America, dari kernel Linux-libre.[15] Pada bulan Oktober 2012, Trisquel adalah distribusi Linux yang paling populer yang direkomendasikan oleh FSF berdasarkan peringkat Distrowatch (lebih dari 12 bulan).[16][17] Meskipun Debian tidak direkomendasikan oleh FSF dan tidak menggunakan Linux-libre, ini juga merupakan distribusi populer yang tersedia tanpa blob kernel secara default sejak tahun 2011.[15]
Komunitas Linux menggunakan istilah "blob" untuk merujuk pada semua firmware nonbebas dalam kernel sedangkan OpenBSD menggunakan istilah tersebut untuk merujuk pada pemacu perangkat. FSF tidak menganggap OpenBSD sebagai bebas dari blob berdasarkan definisi blob komunitas Linux. [18]
Model Bisnis
Penjualan perangkat lunak di bawah lisensi perangkat lunak bebas adalah diperbolehkan, begitu juga dengan penggunaan komersial. Hal ini berlaku untuk lisensi dengan atau tanpa copyleft.[19][20][21][22]
Karena perangkat lunak bebas dapat didistribusikan secara bebas, biasanya tersedia dengan biaya rendah atau tanpa biaya. Model bisnis perangkat lunak bebas biasanya didasarkan pada penambahan nilai seperti penyesuaian, perangkat keras pendamping, dukungan, pelatihan, integrasi, atau sertifikasi.[19] Namun, ada pengecualian di mana pengguna dikenai biaya untuk mendapatkan salinan aplikasi bebas itu sendiri.[23]
Biaya biasanya dikenakan untuk distribusi dalam bentuk cakram padat dan drive USB yang dapat di-boot, atau untuk layanan instalasi atau pemeliharaan perangkat lunak bebas. Pengembangan perangkat lunak bebas yang digunakan secara komersial sering kali didanai melalui kombinasi sumbangan pengguna, pendanaan kolektif, sumbangan perusahaan, dan uang pajak. Proyek SELinux di National Security Agency Amerika Serikat adalah contoh dari proyek perangkat lunak bebas yang didanai oleh pemerintah federal.
Di sisi lain, perangkat lunak propietari cenderung menggunakan model bisnis yang berbeda, di mana pelanggan perangkat lunak propietari membayar biaya untuk lisensi agar dapat mengakses dan menggunakannya secara sah. Lisensi ini dapat memberikan pelanggan kemampuan untuk mengkonfigurasi beberapa atau tidak ada bagian dari perangkat lunak itu sendiri. Seringkali, tingkat dukungan tertentu disertakan dalam pembelian perangkat lunak propietari, tetapi layanan dukungan tambahan (terutama untuk aplikasi perusahaan) biasanya tersedia dengan biaya tambahan. Beberapa penyedia perangkat lunak propietari juga akan menyesuaikan perangkat lunak dengan biaya.[24]
Yayasan Perangkat Lunak Bebas mendorong penjualan perangkat lunak bebas. Seperti yang ditulis oleh Yayasan, "mendistribusikan perangkat lunak bebas adalah kesempatan untuk mengumpulkan dana untuk pengembangan. Jangan sia-siakan!".[20] Sebagai contoh, lisensi yang direkomendasikan oleh FSF sendiri (GNU GPL) menyatakan bahwa "[Anda] dapat menetapkan harga apa pun atau tanpa harga untuk setiap salinan yang Anda sampaikan, dan Anda dapat menawarkan dukungan atau perlindungan garansi dengan biaya."[25]
CEO Microsoft, Steve Ballmer, menyatakan pada tahun 2001 bahwa "sumber terbuka tidak tersedia untuk perusahaan komersial. Cara lisensinya ditulis, jika Anda menggunakan perangkat lunak sumber terbuka, Anda harus membuat sisa perangkat lunak Anda menjadi sumber terbuka."[26] Pemahaman ini didasarkan pada persyaratan lisensi copyleft (seperti GPL) bahwa jika seseorang mendistribusikan versi yang dimodifikasi dari perangkat lunak, mereka harus melepaskan sumbernya dan menggunakan lisensi yang sama. Persyaratan ini tidak berlaku untuk perangkat lunak lain dari pengembang yang sama.[27] Klaim tentang ketidakcocokan antara perusahaan komersial dan perangkat lunak bebas juga adalah pemahaman yang keliru. Ada beberapa perusahaan besar, seperti Red Hat dan IBM (IBM mengakuisisi RedHat pada tahun 2019),[28] yang melakukan bisnis komersial yang substansial dalam pengembangan perangkat lunak bebas.
Dampak
Perangkat lunak bebas memainkan sejumlah peranan dalam pengembangan Internet, World Wide Web dan infrastruktur dari perusahaan-perusahaan dot-com. Perangkat lunak bebas menyebabkan pengguna-pengguna dapat bekerja sama dalam memperbaiki dan memajukan program yang mereka gunakan sehingga menjadikan perangkat lunak bebas sebagai barang publik dan bukannya barang pribadi.
Dalam model bisnis perangkat lunak bebas, pembuat dapat mengenakan biaya untuk distribusi dan menawarkan dukungan berbayar serta kustomisasi perangkat lunak. Perangkat lunak tak bebas menggunakan model bisnis yang berbeda, di mana pengguna harus membayar lisensi sebelum dapat menggunakan perangkat lunak. Terkadang beberapa jenis dukungan purna jual termasuk dalam lisensi perangkat lunak tak bebas tersebut, tetapi tidak banyak perangkat lunak berbayar mengenakan biaya tambahan untuk dukungan.
Perangkat lunak bebas pada umumnya tersedia secara gratis atau dengan harga yang relatif murah dibandingkan dengan harga perangkat lunak tak bebas. Dengan perangkat lunak bebas, pebisnis dapat menyesuaikan perangkat lunak sesuai dengan kebutuhan dengan mengubah perangkat lunak. Perangkat lunak bebas pada umumnya tidak memiliki garansi dan tidak mengenakan kewajiban legal kepada siapa pun. Walaupun demikian, garansi kadang-kadang dibuat antara dua belah pihak tergantung perangkat lunak dan penggunaannya berdasarkan persetujuan terpisah dari lisensi perangkat lunak bebas yang bersangkutan.
Banyak pihak memperdebatkan segi keamanan dari perangkat lunak bebas yang dianggap lebih rentan dari perangkat lunak berbayar. Pihak pengguna perangkat lunak bebas mengklaim angka celah keamanan perangkat lunak bebas yang lebih banyak dibandingkan celah keamanan yang ditemukan pada perangkat lunak berbayar disebabkan karena kode sumber perangkat lunak bebas dapat diakses siapapun termasuk pihak-pihak yang menggunakannya secara ilegal. Mereka juga mengklaim walaupun perangkat lunak berbayar tidak mempublikasikan celah keamanan, tetapi celah tersebut ada dan kemungkinan diketahui oleh para peretas. Di segi lain, ketersediaan kode sumber dari perangkat lunak bebas menyebabkan banyak pengguna dapat menganalisis kode sumber tersebut dan menjadikan tingkat kemungkinan tinggi bagi seseorang untuk menemukan suatu celah dan membuat perbaikannya.
Kontroversi
Kode sumber terbuka merupakan keharusan dalam perangkat lunak bebas. Ada beberapa kontroversi yang disebabkan oleh beberapa bagian dari perangkat lunak bebas yang bertentangan dengan semangat kode sumber terbuka:
Binary blobs
Pada tahun 2006, OpenBSD memulai kampanye pertama menentang penggunaan binary blobs, binary large objects, dalam kernel. Blobs merupakan device driver yang secara didistribusikan secara bebas untuk perangkat keras di mana kode sumbernya tidak dirilis oleh pembuatnya. Hal ini membatasi kebebasan pengguna untuk mengubah perangkat lunak tersebut. Blobs juga tidak didokumentasikan dan dapat memiliki kutu, sehingga memiliki risiko keamanan terhadap kernel yang menggunakannya. Sasaran dari kampanye menentang blobs adalah untuk mengumpulkan dokumentasi perangkat keras yang dapat mendukung pengembang untuk menulis driver yang bebas.
Isu blobs dalam kernel Linux dan device driver lainnya memotivasi beberapa pengembang di Irlandia untuk meluncurkan gNewSense, sebuah distro Linux yang tidak memiliki binary blobs. Proyek ini menerima dukungan dari FSF.
BitKeeper
BitKeepeer adalah sebuah perangkat lunak kendali versi buatan Larry McVoy. Ia kemudian membuat proyek-proyek perangkat lunak bebas yang menggunakan BitKeeper, dengan maksud untuk menarik para pengguna. Pada tahun 2002 sebuah keputusan kontroversial dibuat untuk menggunakan BitKeeper dalam pengembangan kernel Linux yang notabene merupakan proyek perangkat lunak bebas. Berikut kutipan dari sebuah tulisan di Newsforge oleh Richard Stallman yang menggambarkan kenapa ini menjadi sumber utama kontroversi.
Gerakan perangkat lunak bebas telah mengatakan "Pikirkan kebebasan berpendapat, dan bukannya bir gratis" selama 15 tahun. McVoy mengatakan hal yang sebaliknya; ia mengundang para pengembang untuk memfokuskan pada kurangnya harga dan bukannya kebebasan. Aktivis perangkat lunak bebas seharusnya meninggalkan ide ini, tetapi beberapa orang dalam komunitas kita yang menilai keuntungan teknis di atas kebebasan dan komunitas terpengaruh olehnya....
Sebuah kernel bebas, bahkan sebuah sistem operasi secara keseluruhan, tidaklah cukup untuk menggunakan komputer Anda secara bebas; kita membutuhkan perangkat lunak bebas untuk hal-hal lainnya. Aplikasi bebas, driver bebas, BIOS bebas: beberapa proyek tersebut menghadapi kendala besar -- yaitu kebutuhan untuk melakukan rekayasa terbalik atau menekan perusahaan agar membuat dokumentasi yang diperlukan, atau untuk bekerja dalam ancaman paten. Kesuksesan membutuhkan kekuatan dan determinasi. Kernel yang lebih baik tentu saja dibutuhkan, tetapi tidak atas suatu harga yang akan melemahkan kekuatan untuk membebaskan dunia perangkat lunak yang tersisa." [29]
Sehubungan dengan rekayasa terbalik atas protokol-protokol BitKeeper yang dilakukan kemudian, McVoy akhirnya menarik penggunaan gratis untuk proyek-proyek perangkat lunak bebas.
Pada November 2006, Microsoft dan Novell mengumumkan sebuah kerja sama kontroversial yang antara lain berisi tentang proteksi paten untuk beberapa pelanggan Novell dalam beberapa kondisi tertentu.[30]
^Barton P. Miller; David Koski; Cjin Pheow Lee; Vivekananda Maganty; Ravi Murthy; Ajitkumar Natarajan; Jeff Steidl (11 April 1995). Fuzz Revisited: Pengulangan Kebenaran Utilitas dan Layanan UNIX(PDF) (Laporan). Departemen Ilmu Komputer Universitas Wisconsin. Diarsipkan dari versi asli tanggal 21 Juni 2010. ...Keandalan utilitas dasar dari GNU dan Linux jelas lebih baik daripada sistem komersialParameter |lokasi= yang tidak diketahui akan diabaikan (bantuan); Parameter |url-status= yang tidak diketahui akan diabaikan (bantuan)
^Miller, Barton P.; Cooksey, Gregory; Moore, Fredrick. "Studi Empiris tentang Ketangguhan Aplikasi MacOS dengan Pengujian Acak"(PDF). Proceedings of the 1st international workshop on Random testing - RT '06. ACM Press. hlm. 1, 2. doi:10.1145/1145735.1145743. ISBN159593457X. Diarsipkan dari versi asli(PDF) tanggal 21 Juni 2010. Kita kembali lagi, kali ini menguji... Mac OS X milik Apple. [...] Meskipun hasilnya cukup wajar, kami kecewa menemukan bahwa keandalannya tidak lebih baik daripada alat-alat Linux/GNU yang diuji pada tahun 1995. Kami kurang yakin apa yang diharapkan ketika menguji aplikasi berbasis GUI; hasilnya ternyata lebih buruk dari yang kami harapkan.Parameter |tahun= yang tidak diketahui akan diabaikan (bantuan); Parameter |tempat-penerbitan= yang tidak diketahui akan diabaikan (bantuan)
^ abPopp, Dr. Karl Michael (2015). Praktik Terbaik untuk Penggunaan Komersial Perangkat Lunak Sumber Terbuka. Norderstedt, Jerman: Buku on Demand. ISBN978-3738619096.