This translation may not reflect the changes made since 2002-08-26 in the English original.

Please see the Translations README for information on maintaining translations of this article.

Proyek GNU

by Richard Stallman

Semula diterbitkan dalam buku Open Sources

Masyarakat Pertama Berbagi Perangkat Lunak Bebas

Ketika mulai bekerja di MIT Artificial Intelligence Lab (lab AI) tahun 1971, daku menjadi bagian dari sebuah masyarakat yang telah bertahun-tahun berbagi perangkat lunak. Budaya berbagi perangkat lunak ini memang tidak terbatas pada kelompok kami; namun sudah berlangsung sejak adanya komputer—serupa dengan berbagi resep makan yang berlangsung semenjak manusia memasak. Namun, kelompok kami-lah yang lebih sering melakukannya lebih dari yang lain.

Lab AI tersebut menggunakan sistem operasi timesharing bernama ITS (the Incompatible Timesharing System) yang dirancang dan ditulis oleh para hacker lab (1) pada mesin Digital PDP-10, salah satu komputer besar pada zaman tersebut. Sebagai anggota kelompok tersebut, hacker sistem lab, tugas daku ialah memperbaiki kinerja sistem.

Perangkat lunak kami tidaklah kami sebut sebagai “perangkat lunak bebas”, sebab istilah tersebut belum ada; dan pada saat itu memang semua perangkat lunak begitu. Jika ada yang dari universitas atau perusahaan lain ingin memasang dan memanfaatkan sebuah program, kami mempersembahkannya dengan senang hati. Jika melihat ada yang menggunakan program yang aneh dan menarik, anda selalu dapat meminta dan melihat kode program tersebut, sehingga dapat membacanya, merubahnya, atau meng-kanibal bagian untuk membuat sebuah program baru.

(1) Penggunaan istilah “hacker” yang berarti “pembobol keamanan” merupakan kekacauan ciptaan sebagian media. Kami, para hacker menolak penggunaan arti negatif tersebut, dan tetap menggunakan kata tersebut dengan arti, “seseorang yang senang memrogram dan menikmati kecanggihan pemrogramannya tersebut”.

Runtuhnya Masyarakat Tersebut

Keadaan berubah secara drastis di awal 1980an saat Digital menghentikan pembuatan seri PDP-10. Arsitekturnya sebenarnya mantap dan canggih untuk ukuran tahun 1960an, namun memiliki keterbatasan pada perluasan ruang alamat seiring dengan teknologi memori tahun 1980an. Dengan sendirinya, hampir semua program pendukung ITS menjadi kadaluarsa.

Masyarakat hacker lab AI pun telah bubar sebelumnya. Tahun 1981, perusahaan spin-off Symbolics telah memperkerjakan hampir seluruh hacker dari lab AI, dan sisa penghuni lab AI tidak mampu bertahan (buku Hackers, karangan Steve Levy, memaparkan kejadian ini, serta memberikan gambaran jelas perihal masyarakat ini dan tujuannya). Ketika lab AI membeli PDP-10 baru (1982), pengelolanya memutuskan untuk menggunakan sistem operasi time sharing Digital yang tidak bebas, dari pada ITS.

Komputer modern pada zaman tersebut, seperti VAX dan 68020, dilengkapi dengan sistem operasi masing-masing, namun tidak satu pun merupakan perangkat lunak bebas: anda harus menandatangani perjanjian menjaga rahasia (nondisclosure), walau pun hanya untuk mendapatkan salinan executable.

Dengan kata lain, langkah pertama untuk menggunakan sebuah komputer ialah berjanji untuk tidak menolong sesama tetangga. Bergotong-royong pun dilarang. Aturan yang dibuat oleh para pemilik perangkat lunak ialah, “Jika anda berbagi dengan tetangga anda, maka anda merupakan pembajak. Jika anda ingin perubahan (perangkat lunak), maka anda harus mengemis kepada kami (para pemilik perangkat lunak).”

Gagasan sistem sosial perangkat lunak berpemilik—sebuah sistem yang mengatakan bahwa anda tidak diperkenankan untuk berbagi dan mengubah perangkat lunak—merupakan sistem anti-sosial, tidak etis, singkatnya salah, mungkin telah mengagetkan sebagian para pembaca. Namun, istilah apa lagi yang harus digunakan untuk sebuah sistem yang memecah-belah masyarakat serta membuat para pengguna tak berdaya? Para pembaca yang terkejut akan pandangan ini mungkin telah menganggap sistem sosial perangkat lunak berpemilik sebagai fitrah, atau menilainya berdasarkan ketentuan bisnis perangkat lunak berpemilik. Para penerbit perangkat lunak berpemilik telah bekerja lama dan keras untuk meyakinkan masyarakat bahwa itu merupakan satu-satunya cara melihat masalah ini.

Ketika para penerbit perangkat lunak berbicara perihal “menegakkan hak” mereka atau “menghentikan pembajakan”, yang mereka katakan sebetulnya nomor dua. Pesan yang sesungguhnya dari pernyataan mereka ialah anggapan yang sudah mestinya begitu dari sananya; bahwa masyarakat seharusnya menerima anggapan tersebut tidak secara kritis. Jadi, marilah kita mencermati anggapan yang mereka gunakan.

Salah satu anggapan yang digunakan ialah bahwa perusahaan perangkat lunak memiliki hak dasar yang tidak perlu dipertanyakan untuk memiliki perangkat lunak, sehingga mereka berkuasa di atas segala penggunanya (dan jika ini benar, seberapa pun merusaknya, kita memang tidak dapat menentangnya). Padahal, undang-undang dasar Amrik dan tradisi hukum menolak pandangan tersebut; hak cipta bukan merupakan hak dasar, namun merupakan hak monopoli buatan pemerintah yang membatasi hak dasar para pengguna untuk melakukan penyalinan.

Anggapan tak tertulis lainnya ialah bahwa satu-satunya hal yang penting pada sebuah perangkat lunak ialah perkerjaan apa yang diperbolehkan untuk dilakukan—yaitu bahwa kita para pengguna komputer seharusnya tidak peduli perihal bagaimana bentuk rupa masyarakat kita.

Anggapan ketiga ialah bahwa tidak akan tersedia perangkat lunak berguna (atau, tidak akan ada program yang dapat melakukan sebuah tugas tertentu), jika kita tidak menyerahkan kekuasaan dari para pengguna terhadap sebuah program kepada sebuah perusahaan. Anggapan ini mungkin kelihatan masuk akal, terutama sebelum gerakan perangkat lunak bebas menunjukkan bahwa kita dapat membuat banyak perangkat lunak bebas bermanfaat tanpa perlu merantai penggunanya.

Jika kita menolak anggapan tersebut, serta menilai masalah ini berdasarkan anggapan jujur dan masuk akal yang mengutamakan para pengguna, kita akan tiba pada kesimpulan yang berbeda. Para pengguna komputer seharusnya bebas untuk mengubah program sesuai dengan kebutuhan mereka, serta bebas untuk berbagi perangkat lunak, sebab membantu sesama merupakan landasan dari masyarakat.

Penjelasan lengkap yang merupakan alasan dari kesimpulan ini, dapat diikuti di http://www.gnu.org/philosophy/why-free.html.

Pilihan Nurani Penentu

Dengan bubarnya kelompok tersebut di atas, melanjutkan seperti biasa menjadi tidak mungkin. Malahan, daku menghadapi pilihan nurani penentu.

Pilihan termudah tentunya bergabung ke dunia perangkat lunak berpemilik, menandatangi perjanjian menjaga rahasia dan berjanji untuk tidak menolong sesama hacker. Besar kemungkinan, daku juga akan mengembangkan perangkat lunak yang akan diluncurkan dengan perjanjian menjaga rahasia, sehingga menambah tekanan agar yang lain turut mengkhianati rekannya.

Daku mungkin saja mencari nafkah dengan cara ini, dan mungkin saja tetap ceria menulis program. Namun daku pula menyadari bahwa kelak menjelang akhir hayat dan karir, daku akan melihat ini sebagai masa membangun dinding pemisah manusia, dan akan merasa telah membuat dunia ini menjadi tempat yang buruk.

Daku pernah mengalami sendiri akibat dari sebuah perjanjian menjaga rahasia, ketika seseorang menolak memberikan kami di lab AI MIT, kode program untuk mengendalikan printer kami (tidak tersedianya beberapa fitur tersebut mengakibatkan ketidaknyamanan penggunaan printer tersebut). Jadi, daku tidak dapat meyakinkan diri sendiri bahwa perjanjian menjaga rahasia tersebut tidak berakibat apa-apa. Daku menjadi sangat murka ketika dia menolak berbagi dengan kami, namun daku tidak mau membalas dendam dengan berbuat yang sama.

Pilihan lainnya, secara pasti namun kurang menyenangkan, dengan meninggalkan bidang komputer. Dengan cara ini, ketrampilan daku tidak akan disalah-gunakan, namun akan tetap terbuang sia-sia. Memang tidak akan dipersalahkan sebagai pemecah-belah dan penghambat para pengguna komputer, namun kejadian tersebut tetap akan terjadi.

Jadi, daku mencari jalan bagaimana caranya, agar seorang pemrogram dapat berkarya demi kebaikan. Ku bertanya pada diriku, apakah ada sebuah atau beberapa program yang dapat ditulis, sehingga dapat menciptakan sebuah masyarakat seperti sebelumnya?

Jawabannya jelas: pertama-tama dibutuhkan sebuah sistem operasi. Ini merupakan perangkat lunak penting agar komputer dapat digunakan. Dengan sebuah perangkat lunak sistem operasi, kita akan dapat membangun kembali masyarakat hacker—serta mengundang siapa pun untuk bergabung. Dan siapa pun akan dapat menggunakan komputer tanpa harus berjanji untuk berkhianat pada sesamanya.

Sebagai pengembang sistem operasi, ketrampilan daku memang sesuai sekali. Walau pun tidak yakin akan berhasil, daku menyadari bahwa ini merupakan tugas panggilan. Nama GNU dipilih berdasarkan tradisi pada hacker, sebagai singkatan rekursif dari “GNU's Not Unix” (GNU Bukan Unix).

Sebuah sistem operasi bukan saja berarti kernel, yang hanya berfungsi mengendalikan program lainnya. Pada tahun 1970an, setiap sistem operasi betulan—seperti ITS, Multics, VMS, Unix— menyertakan command processor, assembler, kompiler, interpreter, debugger, editor teks, mailer, dan lainnya. Tentunya, GNU harus menyertakannya pula.

Belakang, daku mendengar kata-kata ini, dikutip dari Hillel (1):

Jika daku bukan untukku sendiri, siapakah akan buatku?
Jika daku hanya untukku, siapakah daku?
Jika tidak sekarang, kapan?

Keputusan untuk memulai proyek GNU berdasarkan semangat yang serupa.

(1) Sebagai ateis, daku bukan pengikut kepemimpinan agama mana pun, namun terkadang saya mengagumi beberapa perkataan yang diucapkan.

Bebas Seperti Dalam Kebebasan

Istilah “perangkat lunak bebas” sering kali disalah-artikan—serta tidak berkaitan dengan harga. Ini mengenai kebebasan. Jadi, berikut ini merupakan definisi dari perangkat lunak bebas.

Karena “bebas” merujuk pada kebebasan, tidaklah terdapat kontradiksi antara berjualan salinan dan perangkat lunak bebas. Bahkan, kebebasan berjualan salinan menjadi penentu: kumpulan perangkat lunak bebas yang dijual di CD-ROM menjadi penting untuk masyarakat, dan berjualan tersebut menjadi cara utama untuk menghimpun dana pengembangan perangkat lunak bebas. Jika tidak termasuk dalam himpunan tersebut, maka tidaklah dapat dikatakan sebagai perangkat lunak bebas.

Karena kebingungan terhadap kata “bebas” ini, banyak yang mencari kata alternatif, namun hingga kini belum ditemukan kata yang lebih cocok. Khasanah bahasa Inggris yang kaya, namun tidak ada kata sederhana yang mencerminkan arti “bebas”. Kata-kata seperti “merdeka”, “kemerdekaan”, “terbuka” dapat berarti lain atau pun mengandung kelemahan lainnya.

Perangkat Lunak GNU dan sistem GNU

Mengembangkan sistem seutuhnya merupakan maha-proyek. Agar terjangkau, daku memutuskan untuk mengadaptasi perangkat lunak bebas yang ada, jika memungkinkan. Umpamanya, sejak awal diputuskan untuk menggunakan TeX sebagai pengatur teks utama; beberapa tahun kemudian, diputuskan untuk menggunakan sistem X Window dari pada membuat sistem window sendiri untuk GNU.

Karena keputusan ini, sistem GNU tidaklah sama dengan koleksi semua perangkat lunak GNU. Dalam sistem GNU terdapat program yang bukan merupakan perangkat lunak GNU, program yang dikembangkan oleh pihak dan proyek lain untuk keperluan mereka sendiri, namun kita dapa gunakan karena merupakan perangkat lunak bebas.

Perluncuran Proyek

Pada bulan Januari 1984, daku berhenti kerja dari MIT, serta memulai menulis perangkat lunak GNU. Meninggalkan MIT diperlukan, agar MIT tidak dapat menghalangi pendistribusian GNU sebagai perangkat lunak bebas. Jika saya tetap menjadi karyawan, MIT mungkin akan menganggap turut memiliki perangkat lunak tersebut, serta dapat saja turut menentukan ketentuan pendistribusiannya, bahkan mengubahnya menjadi perangkat lunak berpemilik. Padahal, daku tak berniat membuat karya besar ini menjadi sia-sia karena tidak dapat digunakan untuk membangun sebuah masyarakat yang berbagi perangkat lunak.

Namun, Prof. Winston, ketika itu kepala lab AI MIT, berkenan mengundang daku untuk tetap menggunakan lab tersebut.

Beberapa langkah Pertama

Beberapa saat sebelum memulai proyek GNU ini, kudengar perihal Free University Compiler Kit (Perangkat Kompiler Universitas Bebas), yang juga dikenal dengan VUCK (dalam bahasa Belanda, perkataan “free” dimulai dengan v). Kompiler ini dirancang untuk menangani aneka bahasa, termasuk C dan Pascal, serta mendukung berbagai arsitektur mesin. Kutanyai sang pengarang apakah GNU boleh menggunakannya.

Dengan ketus, dijawab bahwa universitasnya memang bebas, namun kompilernya tidak. Jadi, kuputuskan bahwa program pertama proyek GNU seharusnya kompiler aneka bahasa untuk berbagai arsitektur perangkat keras.

Dengan harapan tidak perlu menulis sendiri seluruh kompiler, kugunakan kode program kompiler Pastel, yang dikembangkan menggunakan ekstensi bahasa Pascal oleh Lawrence Livermore Lab. serta merupakan kompiler aneka arsitektur. Kutambahkan front end C, serta kumulai porting ke komputer Motorila 68000. Namun terpaksa dibatalkan, karena sang kompiler membutuhkan beberapa megabytes ruang stack, padahal sistem Unix 68000 hanya membolehkan 64k.

Kutemukan bahwa kompiler Pastel tersebut mem-parse seluruh berkas kesebuah pohon sintaks (syntax tree), lalu mengubah seluruh pohon sintaks tersebut menjadi sebuah mata rantai “instruksi”, lalu membangkitkan seluruh berkas keluaran, tanpa pernah membebaskan memori. Walhasil, disimpulkan bahwa perlu penulisan kompiler baru dari nol. Kompiler baru ini sekarang disebut dengan GCC; tanpa menggunakan bagian apa pun dari kompiler Pastel. Namun kuberhasil mengadaptasi serta menggunakan front end C yang sempat kutulis. Namun, ini baru terjadi beberapa tahun kemudian; pertama-tama daku mengerjakan GNU Emacs.

GNU Emacs

Kumulai mengerjakan GNU Emacs sejak September 1984, dan awal 1985 sudah dapat digunakan. Ini memungkinkan daku untuk mulai menggunakan sistem Unix untuk keperluan pengeditan. Karena tidak pernah berniat untuk belajar menggunakan vi atau ed, daku sebelum itu menggunakan mesin-mesin lainnya.

Banyak yang mulai tertarik untuk menggunakan GNU Emacs, sehingga timbul permasalahan bagaimana cara mendistribusikannya. Tentu saja, ada salinan yang ditempatkan pada server anonymous ftp MIT yang kugunakan (Komputer ini, prep.ai.mit.edu, menjadi situs pendistribusian ftp GNU yang utama; sebelum kami menggunakan server ftp kami yang baru). Namun pada saat tersebut, banyak yang tidak memiliki sambungan Internet sehingga tidak dapat ftp. Jadi, apa yang dapat dilakukan untuk mereka?

Dapat saja kukatakan, “Cari teman yang punya akses net serta mau membuatkan salinan untuk anda.” Atau, apa yang sebelumnya dilakukan terhadap PDP-10 Emacs: “Kirimkan tape serta amplop berperangko dan alamat anda, dan akan kukirim balik GNU Emacs”. Namun karena tidak punya pekerjaan, serta sedang berikhtiar bagaimana caranya mendapatkan uang dari perangkat lunak bebas: kuumumkan bahwa untuk setiap pengiriman tape dikenakan biaya US$ 150. Dengan sendirinya, ini merupakan usaha pendistribusian perangkat lunak pertama, jauh sebelum perusahaan-perusahaan dewasa ini yang mendistribusikan sistem GNU berbasis Linux.

Apakah sebuah program bebas untuk setiap pengguna?

Jika sebuah program merupakan perangkat lunak bebas begitu diedarkan pengarangnya, tidaklah berarti bahwa akan tetap menjadi perangkat lunak bebas untuk semua yang memiliki salinan tersebut. Umpamanya, perangkat lunak public domain (perangkat lunak tanpa hak cipta) merupakan perangkat lunak bebas; namun siapa pun dapat membuat modifikasi berpemilik dari perangkat tersebut. Demikian pula, banyak program bebas dengan hak cipta namun diedarkan menggunakan lisensi sederhana yang mengizinkan modifikasi berpemilik.

Contoh dari permasalahan ini ialah sistem X Window. Sistem yang dikembangkan MIT ini diedarkan sebagai perangkat lunak bebas dengan lisensi sederhana. Berbagai perusahaan komputer mengadaptasi sistem X ini, dan disertakan dalam sistem Unix berpemilik mereka, dalam bentuk biner saja, serta dilindungi dengan menggunakan perjanjian menjaga rahasia yang serupa. Salinan X tersebut tidak lagi perangkat lunak bebas, seperti halnya Unix mereka.

Para pengembang sistem X Window tidak menganggap ini sebagai masalah—mereka memperkirakan serta menerima hal ini. Tujuan mereka bukanlah kebebasan, namun hanyalah “sukses”, yang diartikan dengan “digunakan secara luas”. Mereka tidak peduli apakah para pengguna memiliki kebebasan, asalkan jumlahnya banyak.

Ini menjurus ke situasi paradoks dari dua cara berbeda untuk menghitung jumlah kebebasan terhadap sebuah pertanyaan: “Apakah program ini bebas?” Jika menilai dari kebebasan ketentuan pendistribusian sistem, anda akan mengatakan bahwa X merupakan perangkat lunak bebas. Namun jika diukur dari kebebasan dari para pengguna, X dapatlah dikatakan sebagai perangkat lunak berpemilik. Kebanyakan para pengguna X menjalankan versi berpemilik yang merupakan bagian dari sistem Unix mereka, dan bukan menjalankan versi bebasnya.

Copyleft dan GNU GPL

Tujuan dari GNU ialah memberikan kebebasan kepada para pengguna, dan bukan untuk menjadi terkenal. Jadi, kami membutuhkan ketentuan distribusi yang mencegah perangkat lunak GNU menjadi berpemilik. Cara ini kami namakan “Copyleft”.(1)

Copyleft memanfaatkan aturan copyright (Hak Cipta), namun untuk tujuan yang bertolak belakang: bukan berarti untuk menjadi milik pribadi, namun agar perangkat lunak tetap bebas.

Intinya, copyleft memberi izin untuk menjalankan program, melakukan penyalinan, modifikasi, serta mengedarkan hasil modifikasi tersebut—tanpa menambahkan aturan penghalang kebebasan. Jadi, kebebasan yang merumuskan “perangkat lunak bebas” terjamin untuk siapa pun yang memiliki salinan; dan merupakan hak yang tidak dapat dibatalkan.

Agar copyleft efektif, versi yang termodifikasi mesti bebas pula. Ini akan menjamin bahwa karya kami (dan turunannya) akan tersedia untuk masyarakat setelah diterbitkan. Bagi para relawan pemrogram yang meningkatkan kinerja perangkat lunak GNU, copyleft-lah yang mencegah para majikan untuk berkata, “Kamu tidak boleh berbagi perubahan tersebut, sebab kami akan menggunakannya untuk versi berpemilik program kami.”

Permintaan bahwa perubahan harus bebas pula merupakan hal mendasar, jika kita ingin menjamin kebebasan untuk semua pengguna program tersebut. Perusahaan yang mem-port sistem X Window untuk perangkat lunak dan keras mereka, biasanya melakukan sedikit perubahan. Perubahan tersebut biasanya kecil dibandingkan dengan sistem X secara keseluruhan, namun tidak trivial. Jika melakukan perubahan dapat menjadi alasan untuk penolakan kebebasan, hal tersebut akan dengan mudah dimanfaatkan siapa pun sebagai alasan.

Masalah lainnya ialah menggabungkan program bebas dengan kode tidak bebas. Hasil paduan tersebut pasti tidak bebas; semua kebebasan yang tidak ada pada bagian tidak bebas tersebut menjadi berlaku pada keseluruhannya. Mengizinkan perpaduan tersebut bagaikan membuat lubang besar pada sebuah kapal hingga tenggelam. Jadi, prasyarat penting copyleft ialah untuk menutup lubang tersebut: apa pun yang ditambahkan atau dikombinasikan dengan program copyleft harus sedemikian rupa hingga versi kombinasi tersebut harus bebas dan copyleft.

Implementasi copyleft yang kami gunakan untuk hampir semua perangkat lunak GNU ialah GNU General Public License (Lisensi Publik Umum GNU), atau disingkat GNU GPL. Terdapat jenis lain dari copyleft yang digunakan untuk hal khusus. Manual GNU juga ter-copyleft, namun lebih sederhana, karena kerumitan GNU GPL tidak diperlukan untuk manual.

(1) Pada tahun 1984 atau 1985, Don Hopkins (seorang yang penuh gagasan) mengirimkan daku sebuah surat. Pada amplopnya dituliskan beberapa kalimat menarik termasuk: “Copyleft—all rights reversed.” Lalu, kugunakan istilah “copyleft” untuk konsep distribusi yang sedang dikembangkan pada saat itu.

The Free Software Foundation—Yayasan Perangkat Lunak Bebas

Seiring dengan pertumbuhan penggunaan Emacs, banyak yang turut serta terlibat dalam proyek GNU, dan kami memutuskan bahwa tiba saatnya untuk mencari dana lagi. Jadi, tahun 1985 kami mendirikan Free Software Foundation (FSF, Yayasan Perangkat Lunak Bebas), sebuah organisasi amal tax exempt (dapat digunakan untuk pemotongan pajak) untuk pengembangan perangkat lunak bebas. FSF juga mengambil alih usaha distribusi tape Emacs; serta kemudian menambahkan perangkat lunak bebas lainnya (GNU dan non-GNU), serta berjualan manual bebas pula.

FSF pun menerima donasi , namun kebanyakan pemasukan berasal berjualan— salinan perangkat lunak bebas, serta layanan berhubungan lainnya. Kini, FSF berjualan CD-ROM kode program, CD-ROM dengan biner, manual yang tercetak rapih (dan bebas di distribusi ulang dan dimodifikasi), serta distribusi Istimewa (Deluxe: kami buatkan seluruh koleksi kami pada perangkat keras pilihan anda).

FSF memperkerjakan karyawan yang menulis dan memelihara sejumlah paket perangkat lunak GNU. Dua unggulan utama ialah C library dan shell. GNU C library merupakan sesuatu yang dijalankan oleh setiap program sistem GNU/Linux untuk berkomunikasi dengan Linux. Perangkat tersebut dikembangkan oleh staf FSF, Roland McGrath. Shell yang digunakan pada kebanyakan sistem GNU/Linux ialah BASH, Bourne Again Shell(1), yang dikembangkan oleh karyawan FSF, Brian Fox.

Kami membiayai pengembangan program tersebut karena tujuan proyek GNU bukan hanya pengembangan alat bantu. Tujuan kami ialah sebuah sistem operaso lengkap, dan program tersebut diatas diperlukan untuk tujuan tersebut.

(1) “Bourne Again Shell” merupakan lulucon untuk nama “Bourne Shell”, yang merupakan shell umum pada Unix.

Dukungan Perangkat Lunak Bebas

Filosofi perangkat lunak bebas menolak sebuah kebiasan berbisnis yang tertentu, namun tidak menolak bisnis itu sendiri. Jika bisnis tersebut menghormati kebebasan para pengguna, kami ucapkan semoga mereka berhasil.

Berjualan salinan Emacs memperlihatkan salah satu cara berbisnis perangkat lunak bebas. Ketika FSF mengambil alih usaha tersebut, daku harus mencari cara lain mencari nafkah. Kutemukan bahwa termasuk hubungan antara berjualan layanan dan perangkat lunak yang dikembangkan; seperti ajar-mengajar: bagaimana caranya memrogram Emacs, dan bagaimana caranya men-set GCC, serta pengembangan perangkat lunak, seperti porting GCC kesebuah arsitektur baru.

Dewasa ini, setiap jenis bisni perangkat lunak bebas telah diterapkan oleh beberapa perusahaan. Beberapa diantaranya mendistribusikan kumpulan perangkat lunak bebas pada CD-ROM; lainnya berjualan dukungan mulai dari menjawab pertanyaan para pengguna hingga; memperbaiki bugs, serta menambahkan fitur baru. Kami pun mulai mendapatkan perusahaan perangkat lunak bebas yang berbasis peluncuran produk perangkat lunak bebas baru.

Namun awas! Ada beberapa perusahaan yang mengasosiasikan dirinya dengan istilah “open source”, padahal berbisnis perangkat lunak tidak bebas yang jalan bersamaan dengan perangkat lunak bebas. Mereka bukanlah perusahaan perangkat lunak bebas, namun perusahaan perangkat lunak berpemilik yang produknya berusaha merampas kebebasan para penggunanya. Mereka menyebutnya “nilai tambah”, yang mencerminkan nilai yang mereka ingin kita terima: kenyamanan di atas kebebasan. Jika kita lebih menghargai kebebasan, kita seharusnya menyebut mereka dengan produk “perampas kebebasan”.

Tujuan Teknis

Tujuan utama GNU ialah menjadi perangkat lunak bebas. Jadi, walau pun GNU tidak memiliki keunggulan teknis atas Unux, GNU akan memiliki keunggulan sosial, yaitu mengizinkan para pengguna bekerja-sama, serta akan memiliki keunggulan etis, yaitu menghormati kebebasan para pengguna.

Namun, wajarlah jika menggunakan standar kebiasaan baik yang ada untuk GNU—umpamanya, alokasi struktur data dinamis untuk menghindari sembarang batasan ukuran statik, serta penggunaan seluruh kode 8 bit, jika diperlukan.

Selain itu, kami menolak fokus Unix terhadap ukuran memori kecil, dengan tidak mendukung mesin 16 bit (pada saat itu telah menjadi jelas bahwa mesin 32 bit akan menjadi biasa pada saat GNU selesai), dan kami tidak berusaha membatasi penggunaan memori, kecuali jika melampai satu megabyte. Untuk program yang tidak begitu membutuhkan penanganan berkas besar, kami menanjurkan agar membaca seluruh berkas tanpa harus khawatir terhadap I/O (keluaran/masukan).

Keputusan ini memungkinkan kebanyakan program GNU mengungguli program asli Unix dalam kehandalan dan kecepatan.

Sumbangan Komputer

Seiring dengan peningkatan reputasi proyek GNU, banyak yang mulai menawarkan donasi mesin Unix. Hal ini sangat bermanfaat, sebab cara termudah mengembangkan komponen GNU ialah mengerjakannya pada sebuah sistem Unix, lalu mengganti komponen tersebut satu per satu. Namun mereka melontarkan masalah etis: apakah kami berhak memiliki salinan Unix untuk keperluan tersebut.

Unix pada saat tersebut (dan hingga kini) merupakan perangkat lunak berpemilik, dan filosofi proyek GNU ialah menghindari penggunaan perangkat lunak berpemilik. Namun, dengan alasan yang sama dapat disimpulkan bahwa pelanggaran tersebut diperbolehkan, kusimpulkan bahwa sah-sah saja menggunakan paket berpemilik, jika hal tersebut genting untuk pengembangan perangkat lunak bebas pengganti, sehingga akan menghentikan penggunaan perangkat lunak berpemilik.

Namun, walau pun merupakan pelanggaran yang beralasan, tetap merupakan pelanggaran. Dewasa ini, kita tidak perlu lagi menggunakan salinan Unix, sebab kami telah menggantikannya dengan sistem operasi bebas. Jika ktia tidak dapat menggantikan sistem operasi sebuah mesin, kami akan mengganti mesin tersebut.

Daftar Tugas GNU

Seiring dengan kelangsungan proyek GNU, serta penambahan komponen sistem yang ditemukan atau pun dikembangkan, disadari bahwa akan bermanfaat jika dibuatkan sebuah daftar sisa komponen yang belum ada. Kami kemudian mempekerjakan para pengembang untuk menulis bagian yang belum ada tersebut. Daftar tersebut kemudian dikenal dengan nama daftar tugas GNU (The GNU Task List). Selain komponen Unix yang belum ada, kami pun mencatat beberapa proyek perangkat lunak dan dokumen yang bermanfaat, dan kami pikir, sistem lengkap yang sebaiknya kami punyai.

Dewasa ini, nyaris tak ada komponen Unix yang tertinggal di daftar tugas GNU—kebanyakan telah rampung, selain beberapa yang kurang penting. Namun daftar tersebut kini penuh dengan proyek-proyek yang beberapa menyebutnya dengan “aplikasi”. Program apa pun yang akan digunakan selain segelintir pengguna, akan bermanfaat jika ditambahkan pada sebuah sistem operasi.

Bahkan permainan (games) pun ada pada daftar tugas—dan telah ada sejak awal. Dalam Unix ada permainan, wajarlah kalau GNU pun mengadakan. Namun, di sini tidak ada masalah kompatibel, sehingga kami tidak meniru permainan yang ada di Unix. Jadi, kami mendaftar bebagai permainan yabg berbeda, yang mungkin disukai oleh para pengguna.

GPL pada library GNU

GNU C Library menggunakan copyleft jenis khusus yaitu GNU Library General Public License, yang memberikan izin untuk link perangkat lunak berpemilik dengan library tersebut. Mengapa ada pengecualian ini?

Hal ini bukan masalah prinsip; tak ada prinsip yang mengatakan bahwa hasil perangkat lunak berpemilik berhak menggunakan kode program kami (Buat apa berkontribusi pada sebuah proyek namun menolak berbagi dengan kami?). Menggunakan LGPL untuk C library, atau library mana pun, merupakan strategi.

C library melakukan tugas generik; setiap sistem berpemilik atau kompiler akan datang dengan C library. Jika C library kami hanya tersedia untuk perangkat lunak bebas saja, maka ini tidak akan memberikan perangkat lunak bebas keunggulan apa pun—malahan akan membuat orang tidak tertarik sama sekali untuk menggunakannya.

Terdapat satu sistem yang menjadi pengecualian: yaitu sistem GNU (dan ini termasuk GNU/Linux), GNU C Library merupakan satu-satunya C Library. Jadi, ketentuan distribusi dari GNU C Library ditentukan dengan apakah ada kemungkinan untuk mengkompail sebuah program berpemilik untuk sistem GNU. Tak ada alasan etis untuk mengizinkan aplikasi berpemilik pada sistem GNU, namun secara strategis, pelarangan dapat menyebabkan lebih banyak orang menjadi enggan untuk menggunakan sistem GNU dari pada jumlah peningkatan pengembangan aplikasi bebas. Itulah mengapa penggunaan Library GPL merupakan strategi C Library.

Untuk library lainnya, keputusan strategis akan ditetapkan kasus demi kasus. Jika sebuah library melakukan tugas khusus yang dapat membantu penulisan jenis program tertentu, mengedarkannya dibawah GPL (membatasi untuk program bebas saja), akan merupakan upaya untuk menolong pengembang perangkat lunak bebas lainnya, dengan memberikan keunggulan terhadap perangkat lunak berpemilik.

Umpamanya GNU Readline, sebuah library yang dikembangkan untuk menyediakan pengeditan baris pada BASH. Readline diedarkan dengan GNU GPL, dan bukan Library GPL. Ini akan mengurangi penggunaan Readlin, namun tidak merupakan kerugian bagi kami. Setidaknya ada satu aplikasi berguna yang memanfaatkan Readlin, dan ini merupkan keunggulan bagi masyarakat.

Para pengembang perangkat lunak berpemilik mempunyai keunggulan yang diberikan uang; jadi para pengembang perangkat lunak bebas perlu memiliki keunggulan pula. Mudah-mudahan suatu hari, kita akan memiliki sebuah koleksi library GPL yang tidak ada versi berpemiliknya, menyediakan modul-modul bermanfaat untuk membangun perangkat lunak bebas; serta menambahkan keunggulan utama untuk pengembangan perangkat lunak bebas.

Menggaruk Yang Gatal?

Menurut Eric Raymond, “Setiap karya perangkat lunak yang bagus dimulai dengan kegatalan seorang pengembang.” Mungkin saja hal tersebut terkadang terjadi, namun banyak bagian penting dari perangkat lunak GNU dikembangkan untuk melengkapi sebuah sistem operasi bebas. Hal tersebut dirancang dengan matang, dan bukan sekedar dadakan.

Umpamanya, kami mengembangkan GNU C library karena sebuah sistem serupa Unix memerlukannya. Demikian pula BASH karena sebuah sistem serupa Unix memerlukannya. Demikian pula GNU tar karena sebuah sistem serupa Unix memerlukannya. Begitu pula dengan program buatan daku—kompiler C GNU, GNU Emacs, GDB, dan GNU Make.

Beberapa program GNU dikembangkan untuk mengatasi ancaman tertentu terhadap kebebasan kami. Jadi, kami mengembangkan gzip sebagai pengganti program compress, yang akhirnya kalah karena paten LZW. Kami mendanai pengembangan LessTif, serta baru-baru ini memprakasi GNOME dan Harmony, sebagai jawaban untuk mengatasi beberapa masalah library berpemilik (lihat di bawah ini). Kami mengembangkan GNU Privacy Guard (GNUPG) sebagai pengganti perangkat lunak enkripsi yang tidak bebas, sehingga para pengguna tidak perlu memilih antara privasi dan kebebasan.

Tentu saja, penulisan program dapat menjadi daya pikat tersendiri, serta banyak penambahan fitur oleh para pengguna karena kebutuhan sendiri. Namun, hal itu belum tentu merupakan alasan mengapa program tersebut ada.

Perkembangan Tak Terduga

Pada saat awal proyek GNU, daku membayangkan bahwa kami akan mengembangkan seluruh sistem GNU, lalu meluncurkannya secara keseluruhan. Ternyata, bukan itu yang terjadi.

Berhubung setiap komponen sistem GNU diimplementasikan pada sebuah sistem Unix, setiap komponen tersebut dapat berjalan pada sistem Unix jauh sebelum sistem GNU selesai. Beberapa program menjadi populer, dan para pengguna mulai mem-port program tersebut—ke berbagai versi Unix yang kurang kompatibel, dan terkadang juga pada sistem lainnya.

Hal tersebut membuat program tersebut menjadi lebih canggih, serta menarik baik dana mau pun kontributur ke proyek GNU. Namun, hal ini juga mungkin menjadi penyebab keterlambatan perampungan sistem beberapa tahun. Para pengembang GNU terpaksa meluangkan lebih banyak waktu untuk pemeliharaan dan perbaikan, dari pada untuk merampungkan komponen yang belum ada.

GNU Hurd

Hingga 1990, sistem GNU hampir rampung; kecuali komponen utama: kernel. Diputuskan, bahwa kernel diimplementasikan sebagai kumpulan dari server proses di atas Mach. Mach merupakan kernel mikro yang dikembangkan oleh Universitas Carnegie Mellon serta kemudian Universitas Utah. GNU Hurd merupakan sebuah kumpulan server (yaitu Herd of GNUs) yang berjalan di atas Mach, serta menjalankan berbagai tugas kenel Unix. Awal pengembangan agak tertunda, berhubung kami menunggu pemenuhan janji bahwa Mach diluncurkan sebagai perangkat lunak bebas.

Salah satu alasan memilih rancangan ini ialah penghindaran yang sepertinya merupakan hal yang paling sulit untuk tugas ini: debugging program kernel tanpa source-level debugger. Bagian ini sudah pernah dilakukan sebelumnya, di Mach, dan kami mengharapkan untuk men-debug server Hurd menggunakan GDB sebagai pengguna biasa. Ternyata, hal ini membutuhkan banyak waktu, serta multithreaded server yang saling mengirimkan pesan merupakan hal yang sulit di-debug. Membuat Hurd bekerja sempurna telah berlangsung bertahun-tahun.

Alix

Kernel GNU semula bukan bernama Hurd. Nama aslinya Alix—dinamakan sesuai dengan nama wanita kesayanganku pada waktu itu. Dia, seorang administrator sistem, mengungkapkan bahwa namanya sesuai dengan pola nama versi Unix. Secara bercanda, dia mengatakan bahwa, “sesorang seharusnya menamakan kernel dengan nama tersebut.” Ku tak mengatakan apa-apa, namun memutuskan untuk memberikan kejutan dengan memberi nama kernel dengan Alix.

Hal tersebut tidak sepenuhnya terjadi. Michael (kini Thomas) Bushnell, pengembang utama kernel, lebih suka nama Hurd, serta menggunakan Alix sebagai sebuah bagian tertentu dari kernel—yang menangkap system calls serta melayani mereka dengan mengirimkan pesan kepada server HURD.

Sayangnya kami berpisah, serta Alix mengubah namanya. Secara terpisah, perancangan Hurd berubah sehingga C library akan mengirim pesan langsung ke para server, sehingga komponen Alix pun lenyap dari peredaran.

Namun sebelum hal-hal tersebut terjadi, seorang rekan Alix menemukan nama Alix dalam kode program Hurd, serta memberitahukan hal tersebut kepadanya. Jadi, nama tersebut melaksanakan tugasnya.

Linux dan GNU/Linux

GNU Hurd belum siap untuk penggunaan operasional. Untung, sebuah kernel lain telah siap. Tahun 1991, Linux Torvalds mengembangkan sebuah kernel kompatibel Unix dengan nama Linux. Sekitar 1992, penggabungan Linux dengan sistem GNU yang-belum-begitu-lengkap menghasilkan sebuah sistem operasi bebas (usaha penggabungan kedua hal tersebut merupakan sebuah hal yang cukup rumit). Berkat Linux, kita dapat menjalankan versi dari GNU dewasa ini.

Kami menamakannya sistem GNU/Linux, untuk menyatakan bahwa hal tersebut terdiri dari sistem GNU dengan kernel Linux.

Tantangan Masa Depan Kita

Kami telah membuktikan kemampuan kami untuk mengembangkan berbagai jenis perangkat lunak bebas. Ini tidak berarti bahwa kami tak terkalahkan atau terhentikan. Berbagai tantangan membuat masa depan penuh dengan ketidak-pastian; menghadapi tantangan tersebut membutuhkan upaya berkesinambungan dengan daya tahan yang kuat, terkadang selama bertahun-tahun. Ini membutuhkan orang-orang yang menghargai kebebasan mereka, serta tidak membiarkan ada yang merampas kebebasan tersebut.

Keempat bagian berikut ini akan membahas tantangan tersebut.

Perangkat Keras Rahasia

Para pembuat perangkat keras cenderung untuk menjaga kerahasiaan spesifikasi perangkat mereka. Ini menyulitkan penulisan driver bebas agar Linux dan XFree86 dapat mendukung perangkat keras baru tersebut. Walau pun kita telah memiliki sistem bebas yang lengkap dewasa ini, namun mungkin saja tidak di masa mendatang, jika kita tidak dapat mendukung komputer yang akan datang.

Ada dua cara penanggulangan masalah ini. Para pemrogram dapat melakukan rekayasa terbalik (reverse engineering) untuk mencari tahu cara mendukung perangkat keras tersebut. Namun, sebaiknya kita memilih perangkat keras yang didukung oleh perangkat lunak bebas. Jika kita cukup banyak, kerahasiaan spesifikasi dapat berubah menjadi kebijaksanaan bunuh diri.

Rekayasa terbalik merupakan pekerjaan yang besar; apakah terdapat cukup pemrogram untuk melaksanakan tugas ini? Ya—jika kita sanggup membangun opini kuat bahwa perangkat lunak bebas merupakan hal yang hakiki, maka driver tidak bebas akan merupakan hal yang tidak dapat diterima. Apakah kebanyakan diantara kita bersedia membayar ekstra, bahkan dengan waktu ekstra, sehingga kita mendapatkan driver bebas? Ya—jika makna dari kebebasan merupakan hal yang diterima secara luas.

Library Tidak Bebas

Library tidak bebas yang berjalan pada perangkat lunak bebas cwdapt menjadi perangkap bagi pengembang perangkat lunak bebas. Fitur menarik dari library tersebut merupakan umpan; jika anda menggunakannya; anda akan terperangkap, karena program anda tidak akan menjadi bagian yang bermanfaat bagi sistem operasi bebas (Tepatnya, kita dapat memasukkan program anda, namun tidak akan berjalan jika library-nya tidak ada). Lebih parah lagi, jika program tersebut menjadi terkenal, tentunya akan menjebak lebih banyak lagi para pemrogram.

Contoh pertama dari masalah ini ialah perangkat bantu Motif, saat 1980an. Walau pun pada saat tersebut belum ada sistem operasi bebas, telah menjadi jelas bahwa Motif berpeluang untuk menjadi masalah dikemudian hari. Proyek GNU menanggulangi ini dengan dua cara: meminta sejumlah proyek perangkat lunak bebas untuk mendukung perangkat bantu X dan Motif, serta menanyakan seseorang untuk menulis pengganti Motif yang bebas. Pekerjaan ini memakan waktu tahunan; LessTif, dikembangkan oleh para pemrogram Hungry (lapar), baru dapat mendukung kebanyakan aplikasi Motif ditahun 1997.

Antara 1996 dan 1998, kembali muncul perangkat bantu GUI yang tidak bebas yaitu Qt, yang digunakan pada sekumpulan perangkat lunak bebas, KDE.

Akibatnya, sistem GNU/Linux bebas tidak dapat menggunakan KDE, sebab tidak dapat menggunakan library Qt tersebut. Namun, beberapa distro sistem GNU/Linux yang tidak secara ketat mempermasalahkan perangkat lunak bebas—memasukkan KDE kedalam distro mereka—membuat sistem menjadi lebih mantap namun kurang bebas. Kelompok KDE secara aktif mengajak para pemrogram menggunakan Qt, serta jutaan “pengguna baru Linux” tidak pernah tahu bahwa ada masalah dengan hal ini. Keadaan menjadi menjengkelkan.

Masyarakat perangkat lunak bebas menjawab masalah ini dengan dua cara: GNOME dan Harmony.

GNOME, the GNU Network Object Model Environment (Jaringan Model Obyek Lingkungan GNU), merupakan proyek desktop dari GNU. Dimulai semenjak 1997 oleh Miguel de Icaza, serta dikembangkan dengan dukungan dari Red Hat Software. GNOME dimaksudkan untuk menyediakan fasilitas desktop, namun sepenuhnya menggunakan perangkat lunak bebas. GNOME pun memiliki keunggulan teknis, seperti mendukung berbagai bahasa, dan bukan hanya C++. Namun, tujuan utamanya ialah kebebasan: sama sekali tidak menggunakan perangkat lunak yang tidak bebas.

Harmony merupakan library kompatibel pengganti, dirancang agar memungkinkan untuk menjalankan perangkat lunak KDE tanpa Qt.

Pada bulan November 1998, para pengembang Qt mengumumkan perubahan lisensi, sehingga sepertinya Qt akan menjadi perangkat lunak bebas. Tidak ada kepastian, namun ku pikir ada kemungkinan hal ini terjadi karena tekanan masyarakat terhadap masalah Qt ketika belum menjadi perangkat lunak bebas (Lisensi baru tersebut tidak nyaman dan kurang adil, sehingga sebaiknya tetap saja menghindar Qt).

[Catatan tambahan: bulan September 2000, Qt diluncur-ulang menggunakan GNU GPL, yang intinya menyelesaikan masalah ini].

Apa yang akan kita lakukan pada godaan penggunaan library non-free berikutnya? Apakah seluruh masyarakat memahami perlunya penghindaran jebakan ini? Ataukah akan banyak diantara kita menggadaikan kebebasan demi kenyamanan, yang akan berakibat sebuah masalah besar? Masa mendatang kita tergantung pada filosofi kita.

Paten Perangkat Lunak

Ancaman terburuk yang perlu dihadapi berasal dari paten perangkat lunak, yang dapat berakibat pembatasan fitur perangkat lunak bebas lebih dari dua puluh tahun. Paten algoritma kompresi LZW diterapkan 1983, serta hingga kini kita tidak dapat membuat perangkat lunak bebas untuk kompresi GIF. Tahun 1998 yang lalu, sebuah program bebas yang menghasilkan suara MP3 terkompresi terpaksa dihapus dari distro akibat ancaman penuntutan paten.

Ada berbagai upaya menanggulangi paten: kita dapat mencarikan bukti bahwa sebuah paten tidak sah, atau kita mencari jalan alternatif untuk hal tersebut. Namun kedua upaya tersebut tidak selalu berhasil; ketika dua-duanya gagal, sebuah paten mungkin akan memaksa semua perangkat lunak bebas tidak memiliki fitur yang dibutuhkan para pengguna. Apa yang mesti dilakukan jika hal tersebut terjadi?

Bagi yang menghargai perangkat lunak bebas demi kebebasan akan tetap hanya memanfaatkan perangkat lunak bebas. Kita upayakan bekerja tanpa fitur paten tersebut. Namun bagi yang menghargai perangkat lunak bebas karena mengharapkan keunggulan teknis, besar kemungkinan akan menganggap sesuatu kegagalan jika ada halangan paten. Jadi, walau pun ada manfaatnya membicarakan keefektifan praktis dari model pengembangan “bazaar”, dan kehandalan serta kecanggihan dari beberapa perangkat lunak bebas, kita seharusnya tidak berhenti di situ. Kita juga harus berbicara perihal kebebasan dan prinsip.

Dokumentasi Bebas

Masalah terbesar dari sistem operasi bebas kita bukan perangkat lunak—namun kekurangan manual bebas baik yang disertakan dalam sistem kita. Pendokumenan merupakan bagian penting dari paket perangkat lunak mana pun. Paket perangkat lunak bebas utama tanpa disertakan dengan manual bebas yang baik, akan merupakan kendala utama. Dewasa ini terdapat banyak rintangan seperti itu.

Dokumentasi bebas, seperti halnya perangkat lunak bebas, merupakan masalah kebebasan, dan bukan harga. Kriteria untuk manual bebas mirip dengan perangkat lunak bebas: merupakan masalah memberi seluruh pengguna kebebasan tertentu. Distribusi ulang (termasuk penjualan komersial) harus diperbolehkan: baik secara on-line mau pun cetakan, sehingga manual dapat disertakan pada setiap program.

Izin untuk memodifikasi merupakan hal yang penting pula. Secara umum, ku tak percaya keperluan untuk memodifikas segala rupa artikel dan buku. Umpamanya, ku pikir tak ada yang merasa berkewajiban untuk memberi izin mengubah artikel seperti ini, yang mengungkapkan tidakan mau pun pandangan dari kami sendiri.

Namun, terdapat alasan tertentu mengapa kebebasan memodifikasi merupakan hal yang penting untuk dokumentasi perangkat lunak. Ketika terjadi perubahan perangkat lunak, serta menambah atau mengubah fitur-fiturnya, jika mereka apik, tentunya akan memodifikasi manualnya pula—sehingg mereka menyajikan dokumentasi yang akurat dan berguna bersama-sama dengan programnya. Sebuah manual yang tidak boleh diubah agar tetap akurat tidak akan bermanfaat bagi masyarakat.

Tidak ada masalah perihal pembatasan ketentuan mengubah berkas. Umpamanya, OK-OK saja kalau ada permintaan untuk tetap melampirkan ketentuan copyright (hakcipta) dari penulis asli, ketentuan distribusi, serta daftar lengkap pengarang. Demikian pula, seharusnya tidak apa-apa untuk meminta bahwa versi termodifikasi mencantumkan catatan bahwa telah dilakukan modifikasi, bahkan permintaan untuk tidak menghapus/ memodifikasi bagian-bagian tertentu dari dokumen, selama bagian tersebut membahas hal non-teknis. Pembatasan seperti ini tidak akan menhentikan para programmer untuk mengadaptasi manual agar sesuai dengan program. Dengan kata lain, ini tidak akan menghalangi masyarakat untuk memanfaatkan secara penuh manual tersebut.

Namun, harus dibolehkan untuk mengubah seluruh isi teknis dari manual, serta mendistribusikan hasilnya melalui media seperti biasanya; kalau tidak, pembatasan akan mengganggu masyarakat, manual menjadi tidak bebas, dan kita membutuhkan manual yang lain.

Apakah para pengembang perangkat lunak bebas memiliki kesadaran serta kehendak penuh untuk menulis seluruh manual bebas? Sekali lagi, masa mendatang kita tergantung pada filosofi.

Bicaralah Perihal Kebebasan

Dewasa ini terdapat kira-kira sepuluh juta pengguna sistem GNU/Linux seperti Debian GNU/Linux dan Red Hat “Linux”. Perangkat lunak bebas telah sedemikian canggihnya, sehingga didatangi secara berbondong-bondong oleh para pengguna semata karena alasan kepraktisan.

Dampak yang menguntungkan dari hal ini ialah: peningkatan minat mengembangkan perangkat lunak bebas, lebih banyak pengguna bisnis, serta daya tarik lebih untuk menganjurkan pengembangan perangkat lunak bebas komersial di sektor suasta (dari pada berpemilik).

Namun sejalan dengan peningkatan ini, kepedulian terhadap filosofi perangkat lunak bebas pun mengendur. Ini dapat menjadi masalah. Kemampuan kita untuk menghadapi tantangan dan ancaman tersebut di atas sangat tergantung keinginan mempertahankan kebebasan. Agar kita tetap berkeinginan untuk bebas, diperlukan upaya penyebaran hal tersebut kepada para pengguna baru tersebut.

Nyatanya kita gagal: upaya menarik pengguna baru jauh lebih pesat dari pada penyebaran filosofi kebebasan. Kita perlu melaksanakan keduanya, serta kita perlu menjaga keseimbangannya.

Open Source” (Terbuka)

Meyakinkan para pengguna baru perihal kebebasan menjadi lebih sulit di tahun 1998, ketika sebagian memutuskan untuk tidak lagi menggunakan istilah “perangkat lunak bebas”, dan menggantinya dengan “perangkat lunak open source” (Terbuka).

Beberapa yang lebih senang istilah ini berkilah bahwa ini menghindari istilah “bebas” sering diartikan “gratis”—tujuan yang absah. Lainnya, dengan sengaja mengesampingkan prinsip-prinsip gerakan perangkat lunak bebas dan proyek GNU, untuk menarik perhatian para eksekutif dan pengguna bisnis. Banyak diantara mereka lebih mengutamakan keuntungan dari pada kebebasan, di atas segalanya. Jadi, retorika “open source” berfokus pada kemungkinan pembuatan perangkat lunak yang canggih dan bermutu tinggi, dengan mengesampingkan hal-hal yang berhubungan dengan kebebasan, masyarakat, dan prinsip-prinsip.

Majalah-majalah “Linux” merupakan contoh nyata—mereka penuh dengan iklan-iklan perangkat lunak berpemilik yang jalan pada GNU/Linux. Jika “Motif” dan “Qt” berikut muncul, apakah majalah tersebut akan memperingatkan para pemrogram untuk menjauh dari program tersebut, atau mereka akan memuat iklan mereka?

Dukungan dari pelaku bisnis dapat membantu masyarakat dalam berbagai cara; asalkan semua sederajat, menjadi bermanfaat. Namun menarik dukungan mereka dengan mengabaikan kebebasan dan prinsip-prinsip dapat menjadi bencana. Ini akan merusak—bahkan lebih parah—keseimbangan dengan menghalangi masyarakat mendapatkan informasi yang betul.

“Perangkat Lunak Bebas” dan “Open Source” secara garis besar merupakan kategori perangkat lunak yang sama, namun sangat berbeda dalam hal prinsip dan nilai. Proyek GNU akan meneruskan penggunaan istilah “perangkat lunak bebas”, untuk menekankan ide kebebasan, dan bukan sekedar bahwa teknologi itu penting.

Cobalah!

Filosofi dari Yoda (“Tidak ada ‘coba-coba’”) terdengar enak, namun tidak untukku. Kebanyakan kerjaan daku dilakukan dengan harap-harap cemas apakah dapat terlaksana, serta tak yakin apakah tujuan akan tercapai. Namun tetap ku coba, sebab tidak ada yang dapat menghalangi. Terkadang keheranan sendiri, terkadang daku berhasil.

Terkadang daku gagal; beberapa cita-cita ku berantakan. Namun daku temukan ancaman-ancaman baru, sehingga ku siap untuk mencoba bertempur kembali. Sambil jalan, ku pelajari cara mengatasi ancaman, serta meminta para hacker lainnya untuk bergabung membantu.

Dewasa ini, daku bukan satu-satunya. Ini merupakan pelipur lara serta kegembiraan jika daku melihat sepasukan hackers bahu membahu mempertahankan ancaman. Namun ancaman selalu bertambah setiap tahunnya, dan kini Microsoft secara nyata mengancam masyarakat kami. Kita tidak dapat menganggap kebebasan sebagai sesuatu yang akan didapatkan begitu saja. Jika anda ingin mempertahankan kebebasan, anda mesti mempersiapkan untuk membelanya.