GNU
GNU (diucapkan, atau di beberapa negara/nju/) adalah suatu sistem operasi komputer yang sepenuhnya terdiri dari perangkat-perangkat lunak bebas. Namanya merupakan akronim berulang untuk GNU's Not UNIX (GNU bukanlah UNIX); nama itu dipilih karena rancangannya mirip Unix, tetapi berbeda dari UNIX, GNU tidak mengandung kode-kode UNIX. Pengembangan GNU dimulakan oleh Richard Stallman dan merupakan fokus asli Free Software Foundation (FSF).
GNU dikembangkan oleh Proyek GNU, dan program-program yang dirilis di bawah bantuan proyek bernama "paket-paket GNU" atau "program-program GNU". Komponen-komponen dasar sistem ini terdiri dari GNU Compiler Collection (GCC), GNU Binary Utilities (binutils), shell bash, GNU C library (glibc), dan GNU Core Utilities (coreutils).
GNU selalu dikembangkan. Kendati hampir semua komponen telah lama dirampungkan dan telah digunakan untuk proses produksi selama satu dasawarsa atau lebih, kernel resminya, GNU Hurd, tidaklah lengkap dan tidak semua komponen GNU dapat berjalan dengannya. Dengan demikian, kernel Linux sebagai pihak ketiga paling banyak dipakai untuk menggantikannya. Sementara kernel ini tidak secara
resmi diadopsi oleh proyek GNU, beberapa perangkat lunak pihak ketiga disertakan, misalnya X.Org yang dirilis oleh X Window System dan sistem typesetting TeX. Banyak program GNU juga telah diportasi ke beberapa sistem operasi lain, misalnya Microsoft Windows, varian BSD, Sun Solaris, dan Mac OS.
Lisensi Publik Umum GNU (GPL), LGPL, dan Lisensi Dokumentasi Bebas GNU (GFDL) ditulis untuk GNU, tetapi juga dipakai oleh banyak proyek yang tidak bersangkutan.
Perencanaan untuk sistem operasi GNU diperkenalkan kepada khalayak ramai pada 27 September 1983, melalui newsgroup net.unix-wizards dan net.usoft oleh Richard Stallman. Pengembangan perangkat lunak mulai dikembangkan pada 5 Januari 1984, ketika Stallman keluar dari pekerjaannya di Laboratorium Kecerdasan Buatan, Institut Teknologi Massachusetts, jadi mereka tidak dapat mengakui kepemilikan atau mengganggu penyebaran GNU sebagai perangkat lunak bebas. Richard Stallman
memilih nama GNU dengan menggunakan permainan kata-kata, termasuk lagu The Gnu. Tujuannya adalah untuk mewujudkan sistem operasi yang sepenuhnya bebas. Stallman ingin para pengguna komputer bebas, seperti pada era 1960-an dan 1970-an- bebas mempelajari kode sumber perangkat lunak yang mereka gunakan, bebas berbagi perangkat lunak dengan orang lain, bebas memodifikasi perilaku perangkat lunak, dan bebas merilis
versi-versi perangkat lunak yang mereka modifikasi. Filsafat ini kemudian diumumkan sebagai GNU Manifesto pada Maret 1985.
Pengalaman Richard Stallman dengan Incompatible Timesharing System (ITS), sistem operasi kuno yang ditulis menggunakan bahasa assembly (rakitan) yang menjadi usang karena dihentikannya PDP-10, arsitektur komputer tempat ditulisnya ITS, mengarah kepada suatu keputusan bahwa sistem portabel adalah sebuah keperluan. Oleh karena itulah GNU sebagian besar kompatibel dengan Unix. Di waktu yang sama, Unix telah
menjadi sistem operasi tak bebas yang umum dipakai. Perancangan Unix telah terbukti kokoh, dan modular, jadi perancangan tersebut dapat diterapkan kembali bagian demi bagian.
Banyak perangkat lunak yang diperlukan harus ditulis dari "scratch" (goresan awal), tetapi komponen-komponen bebas kompatibel yang ada juga dipakai, misalnya sistem typesetting TeX, dan X Window System. Sebagian besar dari GNU ditulis oleh sukarelawan; pada waktu luangnya, beberapa lagi dibayar perusahaan, lembaga pendidikan, dan organisasi nirlaba lainnya. Pada Oktober 1985, Stallman
mendirikan Free Software Foundation (FSF). Di penghujung 1980-an dan awal 1990-an, FSF menyewa para pengembang perangkat lunak untuk menulis perangkat-perangkat lunak yang diperlukan GNU.
Karena GNU meraih kemasyhuran, badan-badan usaha yang berminat mulai menyokong pengembangan atau menjual perangkat lunak GNU dan dukungan teknisnya. Yang paling mengemuka dan berjaya dari semua itu adalah Cygnus Solutions, kini bagian dari Red Hat.
Perencanaan awal untuk GNU adalah supaya kompatibel dengan Unix, sambil menambahkan perbaikan yang berguna. Sejak 1990, sistem GNU memiliki editor teks yang ekstensibel (Emacs), compiler optimisasi yang sangat berjaya (GCC), dan sebagian besar pustaka inti dan utilitas distribusi Unix standar. Sebagai tujuannya untuk mewujudkan sistem operasi yang sepenuhnya bebas- lebih daripada keharusan menuliskan
keseluruhan sistem operasi bebas- Stallman berupaya menggunakan perangkat lunak yang sudah ada ketika hal itu mungkin. Pada 1980-an terdapat sedikit perangkat lunak bebas, tetapi telah ada X Window System untuk tampilan grafis, sistem typesetting TeX, dan kernel mikro Mach. Komponen-komponen ini diintegrasikan ke dalam GNU.
Di dalam Manifesto GNU, Stallman menuliskan bahwa "sebuah kernel permulaan ada, tetapi ada lebih banyak fitur yang diperlukan untuk mengemulasi Unix". Dia merujuk kepada TRIX, sebuah kernel panggilan prosedur jarak jauh yang dikembangkan di Institut Teknologi Massachusetts, yang para penulisnya telah memutuskan untuk menyebarkannya sebagai perangkat lunak bebas, dan kompatibel dengan Version 7 Unix. Pada Desember
1986, upaya telah dilakukan untuk memodifikasi kernel ini. Tetapi, para pengembang sebenarnya berpendapat bahwa hal ini tidaklah berguna sebagai titik permulaan, terutama karena kernel itu hanya bekerja pada "sebuah peti 68000 yang mahal dan tidak jelas" dan kemudian harus diportasi ke arsitektur lainnya sebelum dapat digunakan.
Perencanaan dini Proyek GNU adalah untuk mengadaptasi kernel BSD 4.4-Lite untuk GNU. Tetapi karena minimnya kerjasama dari para programer Berkeley, sejak 1998 Stallman beralih menggunakan Mach kernel yang dikembangkan di Universitas Mellon Carnegie, kendati rilisnya sebagai perangkat lunak bebas ditunda sampai 1990 sambil para pengembangnya bekerja untuk menghilangkan kode-kode yang patennya menjadi milik
AT dan T. Thomas Bushnell, arsitek perintis Hurd, berkata di dalam peninjauannya bahwa keputusan untuk memulai sebuah kernel baru sebagai ganti mengadaptasi karya BSD telah cukup memundurkan proyek, dan oleh karena itulah proyek ini harus menggunakan kernel BSD.
Perancangan kernel ini merupakan permulaan terbesar GNU dari Unix "tradisional". Kernel GNU merupakan Microkernel multiserver, dan terdiri dari sehimpunan program yang memanggil server-server yang memberikan fungsionalitas yang sama sebagai kernel Unix tradisional. Karena kernel mikro Mach, menurut perancangannya, hanya menyediakan fungsionalitas kernel tingkat-rendah, Proyek GNU harus mengembangkan bagian-bagian tingkatan yang lebih
tinggi dari kernel itu, sebagai kumpulan program-program pengguna. Mulanya, kumpulan ini disebut Alix, tetapi pengembang Thomas Bushnell lebih suka memanggilnya Hurd, jadi nama Alix dipindahkan ke suatu subsistem dan sebenarnya menghilang sama sekali. Sebenarnya, kemajuan pengembangan Hurd menjadi sangat lamban karena isu-isu teknis yang terus saja muncul.
Meskipun pada 2002 Stallman secara optimistik memperkirakan dirilisnya GNU/Hurd, pengembangan dan perancangan lebih jauh masih saja diperlukan. Rilis terbaru dari Hurd adalah versi 0.2. Versi tersebut cukup stabil, cocok untuk penggunaan di dalam aplikasi-aplikasi non-kritikal. Sejak 2005, Hurd lamban dikembangkan, dan kini merupakan kernel resmi sistem GNU. Ada juga proyek yang berjalan dengan cara memportasi sistem GNU ke kernel-kernel FreeBSD, NetBSD, dan OpenSolaris.
Setelah kernel Linux dapat digunakan dan dialihkan ke lisensi perangkat lunak bebas, kernel itu menjadi host yang paling lazim untuk perangkat lunak GNU. Proyek GNU menggulirkan istilah GNU/Linux untuk sistem-sistem demikian.
Proyek GNU menganjurkan para penyumbang untuk menyerahkan hakcipta paket-paket GNU ke Free Software Foundation, kendati bukan keharusan.