This translation may not reflect the changes made since 2011-09-20 in the English original.
Please see the Translations README for information on maintaining translations of this article.
Linux dan sistem GNU
oleh Richard Stallman
Untuk keterangan lebih lanjut lihat juga (Bahasa Inggris) GNU/Linux FAQ, dan Kenapa GNU/Linux?
Banyak pengguna komputer menggunakan hasil modifikasi dari sistem GNU secara rutin, tanpa menyadarinya. Versi modifikasi sistem GNU yang paling banyak digunakan saat ini adalah sistem yang disebut “Linux”, dan banyak penggunanya juga tidak sadar bahwa sistem tersebut pada dasarnya adalah sistem GNU, yang dikembangkan dari proyek GNU.
Sebenarnya Linux memang ada, dan pengguna-pengguna yang disebut di atas memang menggunakannya, tapi itu sebenarnya hanya bagian dari sistem yang mereka gunakan. Linux adalah kernel: program di dalam sistem yang mengatur alokasi mesin dengan program-program lain yang dijalankan. Kernel adalah bagian penting dari sebuah sistem operasi, tetapi tidak akan berguna jika dijalankan sendirian. Kernel hanya akan berguna di dalam sebuah sistem operasi yang sempurna. Penggunaan Linux umumnya dikombinasikan dengan penggunaan sistem operasi GNU: keseluruhan sistem adalah GNU yang ditambahkan dengan Linux, disebut GNU/Linux. Semua distribusi yang dikenal sebagai “Linux” sebenarnya adalah distribusi GNU/Linux.
Banyak penggunanya tidak mengerti perbedaan dari kernel, yang sebenarnya adalah Linux, dan keseluruhan sistem, yang juga mereka sebut “Linux”. Penggunaan nama yang rancu itu sama sekali tidak memberi pengertian. Umumnya mereka selalu berpikir bahwa pada tahun 1991 Linus Torvalds mengembangkan keseluruhan sistem operasi Linux (dengan hanya sedikit bantuan dari orang lain).
Para programmer umumnya mengerti bahwa Linux hanyalah kernel. Tetapi karena banyak pihak yang menyebut keseluruhan sistem sebagai “Linux”, bahkan para programmerpun menganggap bahwa keseluruhan sistem tersebut memang sengaja dinamakan sama dengan kernelnya. Sebagai contoh, mereka menganggap bahwa ketika Linus Torvalds selesai mengembangkan kernel Linux, para penggunanya mulai menemukan berbagai perangkat lunak yang cocok dengan kernel tersebut, dan akhirnya menganggap (tanpa alasan yang jelas) bahwa seluruh prasyarat untuk membangun sebuah sistem berbasis Unix yang lengkap telah tersedia.
Program-program yang mereka temukan memang bukan sebuah kebetulan—, karena itu adalah bagian dari sistem GNU yang belum terlalu sempurna. Perangkat lunak bebas yang sudah tersedia dikumpulkan dalam rangka menyempurnakan proyek GNU yang telah dikerjakan sejak 1984. di dalam GNU Manifesto (bahasa Inggris) kami memaparkan tujuan dari pengembangan sistem sistem bebas berbasis Unix, yaitu GNU. Di dalam Initial Announcement (bahasa Inggris) kami memaparkan rangkaian-rangkaian dari rencana awal pengembangan sistem GNU. Ketika Linux dirilis untuk pertama kalinya, sistem GNU sudah hampir selesai
Sebagian besar proyek pengembangan sebuah perangkat lunak bebas hanya untuk sebuah proses yang spesifik. Contohnya, Linus Torvalds hanya mengembangkan kernel berbasis Unix (Linux); Donald Knuth hanya mengembangkan sebuah text formatter (TeX); Bob Scheifler hanya mengembangkan sebuah sistem window (the X Window System). Hal di atas memperjelas kontribusi-kontribusi yang diberikan oleh masing-masing program yang dikembangkan tersebut.
Jika kita coba mengukur basarnya kontribusi dari proyek GNU, kira-kira sebesar apa? sebuah vendor CD-ROM menemukan bahwa di dalam “distribusi Linux”yang mereka gunakan, perangkat lunak GNU memiliki cakupan yang paling luas, sekitar 28% dari total source code, dan ini menjangkau komponen-komponen penting, yang wajib ada dalam sebuah sistem. Linux hanya berperan sekitar 3%. (proporsi tersebut tetap sama pada tahun 2008: di “pusat” repository gNewSense, Linux berperan 1.5% and paket-paket GNU berperan 15%). Jika sebuah sistem dinamakan berdasarkan besarnya kontribusi komponen-komponen di dalamnya, maka seharusnya namanya adalah “GNU”.
Lebih lanjut, proyek GNU sejak awal tidak ditujukan hanya untuk mengembangkan paket-paket program tertentu. Proyek GNU bukan bertujuan untuk membangun sebuahC compiler, walaupun kami memang melakukannya. Proyek GNU bukan bertujuan untuk membangun sebuah text editor, walaupun kami memang melakukannya juga. Tujuan utama dari proyek GNU adalah membangun sistem bebas berbasis Unix yang sempurna: GNU.
Banyak pihak yang telah mengembangkan program-program yang ada di dalam sistem, dan mereka semua pantas dihargai atas kontribusinya. Tetapi alasan di balik sebuah sistem terintegrasi—dan bukan sekedar kumpulan program —adalah karena proyek GNU memang membangun sistem seperti itu. Kami membuat sebuah daftar dari program-program yang dibutuhkan dalam sebuah sistem yang sempurna, dan kami secara sistematis mengembangkan, atau mencari pihak-pihak yang bisa menyediakan program-program yang dibutuhkan. Kami mengembangkan komponen yang penting (1) yang pasti diperlukan oleh sebuah sistem. Kenyataannya beberapa komponen, seperti programming tools, menjadi populer dengan sendirinya diantara para programmer, tapi kami juga mengembangkan komponen-komponen yang bukan tools (2). Kami bahkan mengembangkan sebuah permainan catur, GNU Chess, karena sebuah sistem yang sempurna juga membutuhkan permainan.
Di awal tahun 90an, kami telah berhasil menyatukan keseluruhan komponen-komponen di luar kernel. Kami baru saja mulai mengembangkan kernel, GNU Hurd, yang digunakan oleh Mach. Pengembangan kernel ini kenyataannya lebih sulit dari yang kami bayangkan. GNU Hurd mulai berfungsi secara penuh tahun 2001, tetapi masih belum cukup siap untuk digunakan oleh semua pihak secara umum.
Berkat Linux, kami tidak perlu menunggu rampungnya pengembangan Hurd. Saat Linux dirilis, secara tidak langsung Torvalds telah membantu penyempurnaan sistem GNU. Kombinasi Linux dan sistem GNU merupakan sebuah sistem yang sempurna: yaitu versi sistem GNU berbasis Linux, atau singkatnya sistem GNU/Linux.
Awalnya, proses penggabungan GNU dan Linux tidak mudah. beberapa komponen GNU (3) harus dimodifikasi agar bisa bekerja dengan Linux. mengintegrasikan sebuah sistem sebagai sebuah distribusi agar bisa “berjalan sendiri” juga bukan hal yang mudah. Hal itu membutuhkan penjelasan dalam proses install dan boot sistem tersebut— sebuah masalah yang saat itu belum terpikirkan solusinya, karena kami memang saat itu belum berpikir sampai ke situ. Pada akhirnya, bagian tersebut dikembangkan oleh masing-masing pihak yang mengembangkan distribusi-distribusi secara mandiri.
Proyek GNU mendukung sistem GNU/Linux setara dengan dukungan terhadap sistem GNU. FSF membiayai proses pengembangan ulang ekstensi-ekstensi Linux yang dari GNU C library, sehingga sekarang semuanya benar-benar terintegrasi,dan sistem GNU/Linux yang terbaru cukup menggunakan library tersebut tanpa perlu modifikasi lebih lanjut. FSF juga sempat membiayai tahap awal dari pengembangan sistem Debian GNU/Linux.
Sekarang telah tersedia banyak pilihan sistem GNU/Linux (yang disebut sebagai “distro”). Di dalam sebagian distro terdapat perangkat-perangkat lunak tidak bebas — yang dikembangkan oleh pengembang perangkat lunak komersial, berdasarkan penyesuaian dengan Linux, bukan GNU. Tetapi ada juga distro GNU/Linux yang 100% bebas. FSF mendukung fasilitas komputer untuk gNewSense.
Membuat sebuah distribusi GNU/Linux yang 100% bebas bukan hanya perihal tidak menggunakan program tidak bebas. Sekarang, Versi-versi Linux umumnya juga menggunakan program-program tidak bebas. program-program ini diatur untuk dimasukkan ke I/O device saat sistem start, yang juga termasuk di dalam "source code" Linux. Maka dari itu, proses maintenance distribusi bebas GNU/Linux berarti juga maintenance versi bebas dari Linux.
Terlepas dari apakah sistem yang digunakan adalah GNU/Linux atau bukan, diharapkan para pengguna tidak bingung dengan pernyataan publik yang selalumenyebut “Linux” secara rancu. Linux adalah kernel, sebuah bagian penting dari sistem. Keseluruhan sistem pada dasarnya adalah sistem GNU, yang ditambahkan dengan Linux. Ketika membicarakan tentang kombinasi sistem tersebut, lebih baik sebut sebagai sistem “GNU/Linux”.
Jika anda ingin menjelaskan tentang “GNU/Linux” maka mohon gunakan link ini sebagai referensi yang tepat: http://www.gnu.org/gnu/the-gnu-project.html. Jika yang dijelaskan adalah kernelnya, maka halaman referensi yang tepat adalah ini: http://foldoc.org/linux.
Tambahan
Selain GNU, terdapat sebuah proyek independen lain yang juga membangun sebuah sistem operasi bebas berbasis Unix. Sistem ini dikenal sebagai BSD, dan ini dikembangkan di UC Berkeley. Awalnya, sekitar tahun 80an, ini bukanlah sistem yang bebas, dan baru menjadi sistem yang bebas sekitar tahun 90an. Setiap sistem operasi bebas modern(4) dapat dipastikan merupakan varian dari salah satu sistem GNU atau sistem BSD.
Terkadang ada pihak yang bertanya apakah BSD adalah varian dari GNU seperti GNU/Linux. Para pengembang BSD memang membangun sistem mereka karena terinspirasi oleh proyek GNU, dan memang ada pihak dari GNU yang mempengaruhi mereka tetapi sistem yang mereka buat hampir tidak memiliki kesamaan dengan GNU. Tetapi sekarang sistem BSD menggunakan beberapa program GNU, dan juga sebaliknya.Kedua sistem tersebut adalah dua sistem berbeda yang berkembang secara terpisah juga. Para pengembang BSD tidak menulis kernel untuk dimasukkan ke sistem GNU, sehingga nama GNU/BSD tidak cocok disebutkan dari perspektif ini.(5)
Catatan:
- Komponen-komponen yang penting termasuk GNU assembler (GAS) and the linker (GLD), keduanya merupakan bagian dari paket GNU Binutils, GNU tar, dan sebagainya.
- Misalnya, Bourne Again SHell (BASH), PostScript interpreter Ghostscript, dan GNU C library bukanlah programming tools. Begitu juga dengan GNUCash, GNOME, dan GNU Chess.
- Misalnya, GNU C library.
- Sebuah sistem berbasis Windows yang hampir bebas juga telah dikembangkan, tetapi secara teknis itu sama sekali berbeda dengan GNU atau Linux. Sebagian besar kernel dari sistem Solaris juga telah dibebaskan, tetapi jika ingin membuat sebuah sistem operasi yang 100% bebas, selain untuk kernelnya, bagian-bagian lain pada akhrinya juga akan bergantung pada GNU atau BSD.
- Di lain pihak, Sejak artikel ini pertama kali ditulis, GNU C Library juga telah dimasukkan ke dalam kernel BSD, sehingga memungkinkan kombinasi sistem GNU dengan kernel tersebut. Sama seperti GNU/Linux, kombinasi ini jelas merupakan varian dari sistem GNU juga, dan pantas disebut GNU/kFreeBSD and GNU/kNetBSD, tergantung dari kernelnya. Pengguna umumnya akan kesulitan membedakan GNU/Linux dan GNU/*BSD.