GNU

GNU ialah sebuah sistem pengendalian perisian bebas. Namanya ialah akronim rekursif bagi "GNU's Not Unix" (iaitu "GNU bukannya UNIX") yang telah dipilih kerana reka bentuknya seakan-akan dengan UNIX tetapi tidak mengandungi sebarang kod UNIX. Sistem GNU yang digabungkan dengan Linux, sebuah inti pihak ketiga, merupakan sebuah sistem pengendalian yang paling banyak digunakan di dunia. Gabungan ini biasa digelarkan secara mudah sebagai "Linux" sahaja. 

Rancangan untuk sistem pengendalian GNU diumumkan pada bulan September 1983 oleh Richard Stallman, dan kerja untuk membangunkan perisian dimulakan pada bulan Januari 1984.  Projek untuk membangunkan GNU telah digelarkan sebagai Projek GNU, dan semua atur cara yang diterbitkan di bawah Projek GNU digelarkan pakej GNU atau atur cara GNU.

Sejarah
Projek GNU diumumkan pada 27 September 1983 dalam portal  net.unix-wizards dan kumpulan berita net.usoft.  Pembangunan perisian bermula pada 5 Januari 1984 sewaktu Stallman meletakkan jawatannya di Institut Teknologi Massachusetts supaya universiti itu tidak boleh menuntut hak milik atau bercampur tangan dengan pengedaran GNU sebagai perisian bebas. Sebutan yang tepat untuk GNU ialah g'noo (IPA: ), dengan bunyi "g" yang keras untuk membezakannya daripada perkataan "new" dalam bahasa Inggeris. Menurut Stallman, nama ini diilhami oleh pelbagai permainan dengan kata-kata, termasuknya lagu Gnu.

Matlamatnya ialah untuk mewujudkan sebuah sistem pengendalian perisian yang benar-benar bebas. Stallman hendak pengguna-pengguna komputer berasa bebas, seperti pada zaman 1960-an dan 1970-an: bebas untuk membelajari kod sumber perisian yang digunakan oleh mereka, bebas untuk mengubah suai tindakan perisian, dan bebas untuk menerbitkan versi-versi terubah suai untuk perisian. Falsafah ini diterbitkan pada Mac 1985 sebagai Manifesto GNU.

Kebanyakan perisian harus ditulis semula tanpa sebarang asas, tetapi sewaktu terdapatnya komponen perisian serasi yang wujud, ia digunakan. Dua contoh ialah sistem set taip TeX dan Sistem X Window. Kebanyakan GNU ditulis oleh sukarelawan; sebilangan pada masa lapang mereka, dan sebilangan dibayar oleh syarikat-syarikat yang lain. Pada Oktober 1985, Stallman memulakan Yayasan Perisian Bebas (FSF). FSF menggajikan pembangun-pembangun perisian untuk menulis perisian yang diperlukan untuk GNU pada pertengahan dan akhir dekad 80-an. Pada kemuncaknya, yayasan itu menggajikan 15 orang kakitangan. FSF juga memegang hak cipta untuk sebilangan pakej perisian GNU. Kebanyakan pakej GNU dilesenkan di bawah Lesen Awam Am GNU (GNU GPL), sedangkan beberapanya menggunakan Lesen Awam Kecil GNU (GNU LGPL), dan sedikit menggunakan lesen-lesen perisian bebas.

Untuk memudahkan orang-orang yang hendak bertukar kepada GNU, keputusan telah dibuat untuk menjadikan GNU serasi dengan UNIX yang merupakan perisian pengendalian berhak milik yang popular pada waktu itu. Reka bentuk UNIX terbukti stabil dan oleh sebab ia adalah bermodul, ia dapat dilaksanakan semula bahagian demi bahagian.

Sewaktu GNU semakin terkenal, perniagaan-perniagaan bermula menyumbang kepada pembangunan atau penjualan perisian GNU serta membekalkan sokongan teknikal. Yang paling terkenal dan berjaya daripada perniagaan itu ialah Cygnus Solutions yang kini merupakan sebahagian Red Hat.

Pelesenan
Untuk memastikan kebebasan perisian GNU, projek itu menerbitkan versi pertamanya untuk Lesen Awam Am GNU (GNU GPL) pada tahun 1989. Kini, lesen ini digunakan untuk kebanyakan atur cara GNU, bersama-sama dengan sebilangan besar atur cara perisian bebas yang bukan sebahagian projek GNU. Pada waktu ini, ia adalah lesen perisian bebas yang paling banyak digunakan di dalam dunia. Ia memberikan hak kepada semua penerima atur cara untuk menggunakan, mengubah suai dan menyebarkannya, tetapi menghalangi mereka daripada mengenakan sekatan lanjutan untuk salinan-salinan yang disebarkan oleh mereka. Gagasan ini dirujuk sebagai "hak cipta replika" ataupun "copyleft".

Reka bentuk dan pelaksanaan
Rancangan asal untuk GNU adalah untuk menjadikan kebanyakan atur caranya serasi dengan UNIX, sewaktu membuat penambahan yang berguna. Inti GNU pada waktu itu bertujuan untuk menjadi inti-mikro pelayan-berbilang, dan reka bentuk intinya merupakan penyimpangan GNU yang terbesar daripada UNIX "tradisional".

Hurd GNU menggunakan inti mikro (Mach pada waktu ini) dan terdiri daripada satu set atur cara, digelarkan "pelayan", yang memberikan kefungsian yang serupa dengan inti UNIX tradisional (atau Linux). GNU (menggunakan Hurd) dapat dicuba dengan penggunaan cakera padat berbut. (Sila lihat: Pautan luar).

Menjelang 1990, sistem GNU mempunyai tambahan untuk penyunting teks (Emacs), pengkompil mengoptimum (GCC), dan kebanyakan pustaka dan utiliti teras untuk edaran Unix yang piawai. Komponen utama yang masih tidak ada lagi ialah intinya. Dalam Manifesto GNU, Stallman menyebut bahawa "inti awal memang sedia ada tetapi banyak lagi ciri diperlukan untuk menandingi Unix." Beliau tengah merujuk kepada TRIX, sebuah inti panggilan tatacara jauh yang serasi dengan Unix Versi 7 dan yang diperkembangkan di dalam  MIT. Penulis-penulisnya telah memutuskan untuk mengedarkan inti itu secara bebas.

Pada Disember 1986, kerja bermula untuk mengubah suai inti ini. Bagaimanapun, pembangun-pembangun kemudian memutuskan bahawa ia tidak dapat digunakan sebagai titik permulaan, terutamanya kerana ia cuma dapat dilaksanakan melalui "peti 68000 yang mahal dan tidak diketahui ramai" dan justera itu, harus diportkan ke sistem seni bina yang lain sebelum ia dapat digunakan. Menjelang 1988, penghuluran mesej inti Mach yang dibangunkan di Universiti Carnegie Mellon telah dipertimbangkan sebagai ganti, walaupun penerbitan perisian bebas ditangguhkan sehingga 1990 untuk memberikan masa kepada pembangun-pembangun untuk mengeluarkan kod hak milik AT&T.

Oleh sebab inti mikro Mach telah direka bentuk semata-mata untuk membekalkan kefungsian inti pada aras rendah, Projek GNU harus membangunkan bahagian-bahagian aras tinggi untuk inti itu sebagai koleksi atur cara pengguna. Mula-mulanya, koleksi ini digelarkan "Alix", tetapi pembangun Michael Bushnell kemudian lebih suka akan nama Hurd. Oleh itu, nama Alix dialihkan ke sebuah subsistem dan kemudian dibuang sama sekali. Pembangunan Hurd kemudian dilambatkan atas sebab-sebab teknikal serta konflik personaliti.

GNU/Hurd merujuk kepada edaran OS GNU yang menggunakan Hurd GNU sebagai terasnya. Hurd GNU merupakan satu set atur cara atau perkhidmatan yang dilaksanakan atas inti mikro (GNU kini menggunakan inti mikro Mach GNU, tetapi usaha-usaha untuk memportkan Hurd kepada inti mikro keluarga L4 masih berlangsung). 

"GNU" dalam "Hurd GNU" menunjukkan bahawa ia merupakan sebahagian Projek GNU, sedangkan "GNU/Hurd" membezakannya sebagai salah satu daripada dua sistem GNU yang kini sedia ada — iaitu, sistem-sistem GNU berdasarkan Linux (atau "GNU/Linux"), dan sistem-sistem GNU berdasarkan Hurd (atau "GNU/Hurd"). Nama "GNU" sahaja merujuk kepada GNU/Hurd atau sistem GNU berdasarkan Hurd. "GNU/Linux" disebut sebagai "GNU-condong-Linux", atau lebih kerapnya, sebagai "Linux GNU". Bagaimanapun, FSF menegaskan bahawa, mengikut peraturan-peraturan bahasa Inggeris, "Linux GNU" merujuk kepada edaran inti Linux oleh projek GNU atau versi projek GNU; mereka mengatakan bahawa penggunaan nama "GNU/Linux" dapat menjelaskan bahawa seseorang tengah merujuk kepada gabungan inti Linux dengan perduaan GNU untuk membentukkan sebuah OS GNU yang lengkap. Linus Torvalds, penulis asal untuk inti itu, tidak bersetuju dengan istilah "GNU/Linux"; beliau lebih menyukai nama "Linux GNU" jika projek GNU "hendak edaran diri."

Pada tahun 1991, Linus Torvalds menulis inti Linux yang serasi dengan Unix. Walaupun pada asalnya, ia tidak merupakan perisian bebas, Torlvalds menukarkan lesennya kepada GPL GNU pada tahun 1992. Linux diperkembangkan dengan selanjutnya oleh pelbagai pengatur cara dalam Internet. Pada 1992, inti itu digabungkan dengan sistem GNU untuk menghasilkan sebuah sistem pengendalian fungsi penuh yang bebas. Sistem GNU yang amat biasa didapati adalah dalam bentuk ini yang dirujukkan sebagai "sistem GNU/Linux" atau "Edaran Linux". Sejak 2005, Hurd GNU merupakan inti rasmi untuk sistem GNU dan masih diperkembangkan secara perlahan-perlahan. Terdapatnya juga projek yang sedang mengerjakan pemportan sistem GNU kepada inti-inti FreeBSD dan NetBSD.

Perisian GNU

Komponen-komponen sistem GNU yang utama termasuk Koleksi Pengkompil GNU (GCC), Pustaka C GNU (glibc), penyunting teks Emacs GNU, dan atas meja grafik GNOME.

Kebanyakan atur cara GNU telah diportkan kepada sistem-sistem pengendalian yang lain dan kerapnya dipasang dalam sistem-sistem UNIX proprietari untuk menggantikan utiliti-utiliti  proprietari. Aturcara-aturcara GNU telah ditunjukkan dalam kes-kes yang dipertikaikan sebagai lebih boleh diharap berbanding atur cara UNIX proprietari yang serupa .  

Reputasi alat-alat pembangunan perisian GNU adalah amat baik di kalangan pengguna Linux; secara koleksi, ia digelarkan sebagai set alatan GNU. Merupakan cuma sebahagian kecil daripada seluruh sistem GNU, versi-versi GNU tidak serasi dengan POSIX. Dengan kepopularan sistem-sistem GNU/Linux, ramai pembangun telah memasangkan set alatan GNU dalam sistem-sistem lain untuk keserasian ataupun untuk mencapai sifat kesamaan melintasi pelantar. Banyak atur cara GNU telah diportkan kepada Microsoft Windows, Mac OS X, dan pelbagai pelantar proprietari. Bagaimanapun, ini sering merupakan topik yang hangat di kalangan peminat kerana tujuan untuk membangunkan aturcara-aturcara adalah untuk menggantikan sistem itu dengan perisian bebas, bukannya untuk mempertingkatkannya.

Senarai pakej yang terkenal dalam komuniti persisian bebas termasuk:

Perisian sistem
Bison – penjana penghurai yang bertujuan untuk menggantikan yacc
Bash – petala pemerintah
BFD – pustaka fail objek
Classpath – pustaka-pustaka untuk bahasa pengaturcaraan Java
Coreutils – utiliti-utiliti Unix yang asas seperti cat, ls, dan rm
Emacs – penyunting teks yang boleh tambah dan boleh mendokumenkan diri 
glibc – bahasa pengaturcaraan C POSIX piawai, dengan kefungsian tambahan
gzip – pustaka dan atur cara untuk pemampatan data
Rantai alat GNU untuk pembangunan perisian:
Binutils GNU – penghimpun, pemaut, dan alat-alat berkait
Sistem bina GNU – Automake, Autoconf, Libtool
GCC – pengkompil mengoptimum untuk banyak bahasa pengaturcaraan, termasuk C, C++, Fortran, Ada, dan Java
GDB – penyahpepijat
MDK GNU – kit pembangunan untuk pengaturcaraan dalam MIX
Skrin – pemultipleks terminal
Texinfo – sistem dokumentasi untuk menghasilkan manual-manual dalam talian dan bercetak
GNU wget – dapatan semula fail lanjutan dari rangkaian-rangkaian dan Internet
GNUnet – rangkaian komunikasi setara berpencar yang direka bentuk semata-mata untuk menghalangkan penapisan
DotGNU – gantian untuk .NET
GNU Hurd – set pelayan berdasarkan inti mikro yang melaksanakan fungsi yang sama dengan inti Unix
Perisian penggunaan
GIMP – Atur cara pengolahan imej GNU
GLPK – pakej yang bertujuan untuk menyelesaikan pengaturcaraan linear (LP), pengaturcaraan integer campuran, dan masalah-masalah berkait yang lain.
Gnash – atur cara pemain untuk filem-filem dalam format Shockwave Flash; berdiri sendiri serta sebagai palam untuk Mozilla Firefox.
GMP – pustaka pengaturcaraan penghitungan berangka kepersisan sebarangan
GNOME – sekitaran atas meja grafik
GNU LilyPond – atur cara untuk merakamkan muzik lembaran
GNU Octave – atur cara untuk pengiraan berangka yang serupa dengan MATLAB
Adang Privasi GNU (GnuPG) – alat penyulitan bebas untuk menggantikan PGP
Robot GNU – permainan kecil tetapi sungguh menagihkan untuk pengaturcara-pengaturcara komputer
GSL – Pustaka Sains GNU
GNUstep – pelaksanaan piawai OpenStep untuk sebuah set alat pustaka dan pembangunan bagi penggunaan grafik
Guile – pentafsir bahasa pengaturcaraan skim tersirat

Projek GNU juga mengedarkan dan memberi bantuan untuk pembangunan pakej-pakej lain yang berasal dari tempat yang lain, umpamanya:
DDD – bahagian depan grafik untuk penyahpepijat
eCos – sistem pengendalian kecil untuk peranti-peranti tersirat
CVS – kawalan kod sumber

Sejak Januari 2005, terdapatnya sejumlah 288 pakej GNU yang dihoskan dalam tapak pengehosan GNU 
. Yang lain dihoskan di tempat yang lain.

Edaran GNU
Bee GNU/Hurd  
Debian GNU/Hurd 
Gentoo Tak Rasmi/Projek Hurd 
Superunprivileged.org's CD Hurd Berbut''
GNUAB Distro CD mini 
Gnuppix - yang menggunakan Hurd GNU untuk dilaksanakan atas inti mikro L4.

Edaran GNU yang menggunakan inti Linux

Ini merupakan kelainan GNU yang terpopular. Terdapatnya melebihi 300 edaran berdasarkan GNU dengan inti Linux. Sebilangan daripadanya yang paling banyak digunakan ialah:
Debian
Red Hat
Ubuntu
Linux SuSE
Linux Mandriva
Gentoo Linux
Slackware

Senarai lengkap boleh didapati di Distrowatch.com

Edaran GNU yang menggunakan inti *BSD
FreeBSD
NetBSD
OpenBSD

Edaran GNU yang menggunakan inti Solaris
GNU/Solaris: Nexenta

Lihat juga

Yayasan Perisian Bebas
Gerakan perisian bebas
Kandungan bebas
Piawai-piawai terbuka
Hak cipta replika (copyleft)
Lesen Dokumentasi Bebas GNU
Senarai pakej-pakej GNU

Pautan luar
Laman web rasmi GNU
Lajukan kod anda dengan Pemprofil GNU
Senarai mel serta perbincangan teknikal mengenai sistem GNU
Pengumuman Stallman mengenai projek GNU pada tahun 1983
Stallman memberikan pemerian peribadi yang terperinci mengenai projek dan sejarahnya
Ensiklopedia Sejagat Bebas dan Sumber Pembelajaran, esei Stallman mengenai ensiklopedia GNU
Port-port utiliti-utiliti GNU untuk Microsoft Windows
Savannah - Perkhidmatan-perkhidmatan pembangun GNU, dengan capaian untuk perisian-perisian seperti CVS yang serupa dengan SourceForge.
Richard Stallman terhadap hari jadi GNU yang ke-15  
Komuniti Perisian Bebas Selepas 20 Tahun: Dengan kejayaan yang amat besar tetapi tidak sempurna, apa sekarang?
Wiki HURD 
Simposium Mini Pembangun-pembangun Hurd FOSDEM 2005
CD Berbut Hurd GNU

Sistem pengendalian perisian bebas
Projek GNU
Ala UNIX