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, misalnyaX.Org yang dirilis olehX Window System dan sistem typesettingTeX. Banyak program GNU juga telah diportasi ke beberapa sistem operasi lain, misalnyaMicrosoft Windows, varianBSD,Sun Solaris, danMac OS.
Perencanaan untuk sistem operasi GNU diperkenalkan kepada khalayak ramai pada 27 September 1983, melaluinewsgroup net.unix-wizards dan net.usoft olehRichard Stallman.[2] Pengembangan perangkat lunak mulai dikembangkan pada 5 Januari 1984, ketika Stallman keluar dari pekerjaannya di LaboratoriumKecerdasan 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 laguThe Gnu.[3]
Tujuannya adalah untuk mewujudkan sistem operasi yang sepenuhnya bebas. Stallman ingin para pengguna komputer bebas, seperti pada era 1960-an dan 1970-an— bebas mempelajarikode 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 sebagaiGNU Manifesto pada Maret 1985.
Pengalaman Richard Stallman denganIncompatible Timesharing System (ITS), sistem operasi kuno yang ditulis menggunakanbahasa assembly (rakitan) yang menjadi usang karena dihentikannyaPDP-10, arsitektur komputer tempat ditulisnya ITS, mengarah kepada suatu keputusan bahwasistem portabel adalah sebuah keperluan.[4] Oleh karena itulah GNU sebagian besar kompatibel dengan Unix. Di waktu yang sama, Unix telah menjadi sistem operasitak bebas yang umum dipakai. PerancanganUnix telah terbukti kokoh, dan modular, jadi perancangan tersebut dapat diterapkan kembali bagian demi bagian.
Banyak perangkat lunak yang diperlukan harus ditulis dariscratch (goresan awal), tetapi komponen-komponen bebas kompatibel yang ada juga dipakai, misalnya sistem typesettingTeX, danX 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 mendirikanFree 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 adalahCygnus Solutions, kini bagian dariRed Hat.
Perencanaan awal untuk GNU adalah supaya kompatibel dengan Unix, sambil menambahkan perbaikan yang berguna. Sejak 1990, sistem GNU memilikieditor 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 adaX Window System untuk tampilan grafis, sistem typesettingTeX, dan kernel mikroMach. 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 kepadaTRIX[butuh rujukan], 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 denganVersion 7 Unix. Pada Desember 1986, upaya telah dilakukan untuk memodifikasi kernel ini. Namun, 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. Namun, karena minimnya kerjasama dari para programerBerkeley[butuh rujukan], sejak 1998 Stallman beralih menggunakanMach kernel yang dikembangkan diUniversitas Mellon Carnegie, kendati rilisnya sebagai perangkat lunak bebas ditunda sampai 1990 sambil para pengembangnya bekerja untuk menghilangkan kode-kode yang patennya menjadi milikAT&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.[5]
Perancangan kernel ini merupakan permulaan terbesar GNU dari Unix "tradisional". Kernel GNU merupakanMicrokernel 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 pengembangThomas Bushnell lebih suka memanggilnya Hurd, jadi nama Alix dipindahkan ke suatu subsistem dan sebenarnya menghilang sama sekali.[6] Sebenarnya, kemajuan pengembangan Hurd menjadi sangat lamban karena isu-isu teknis yang terus saja muncul.[7]
Meskipun pada 2002 Stallman secara optimistik memperkirakan dirilisnya GNU/Hurd,[8] 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-kernelFreeBSD,NetBSD, danOpenSolaris.
Setelahkernel 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,[9] kendati bukan keharusan.[10]
Undang-undang hakcipta memberi pemegang hakcipta secara signifikan untuk mengawasi dan mengendalikan penyalinan dan penyebaran suatu karya, tetapi FSF menuliskan sebuah lisensi untuk perangkat lunak GNU yang memberi izin kepada penerima untuk menyalin dan menyebarkan kembali perangkat lunak di bawah pasal-pasal yang sangat permisif. Di sebagian besar era 1980-an, tiap-tiap paket GNU memiliki lisensinya sendiri - Emacs General Public License, GCC General Public License, dan lain-lain. Pada 1989, FSF menerbitkan lisensi tunggal yang dapat mereka gunakan untuk semua perangkat lunak mereka, dan dapat digunakan oleh proyek-proyek non-GNU, yakniGNU General Public License (GPL).
Lisensi ini kini dipakai oleh sebagian besar program GNU, juga sejumlah program perangkat lunak bebas yang bukan bagian dari proyek GNU; biasa disebut sebagaiFree software license. Lisensi ini memberi hak kepada para penerima program untuk menjalankan, menyalin, memodifikasi, dan menyebarkannya kembali, tetapi melarang mereka menambahkan syarat tambahan pada salinan yang mereka sebarkan. Gagasan ini sering dinyatakan sebagaiCopyleft.
Pada 1991,GNU Lesser General Public License (LGPL), kemudian dikenal sebagaiLibrary General Public License, ditulis untuk beberapa pustaka tertentu. Pada 1991 juga dirilis versi 2 dari GNU GPL.GNU Free Documentation License (FDL), untuk dokumentasi, pada 2000. GPL dan LGPL adalah revisi terhadap versi 3 pada 2007, memperbaiki aplikabilitas internasional, dan menambahkan perlindungan bagi para pengguna, di manaperangkat keras yang mereka miliki membatasi perubahan perangkat lunak.
Sebagian besar perangkat lunak GNU disebarkan di bawah GPL. Sebagian kecil disebarkan di bawah GPL, dan lebih sedikit paket-paket disebarkan di bawahpermissive free software licenses.[11]
Banyak program GNU telah diportasi ke bermacam-macam sistem operasi lainnya, termasuk platform-platformproprietary, sepertiMicrosoft Windows danMac OS X. Mereka sering diinstal pada sistem-sistemUNIX yang proprietary sebagai pengganti untuk utilitas-utilitas proprietary, tetapi ini sering menjadi topik hangat di antara para pecandu, sebagai motif untuk mengembangkan program-program ini untuk menggantikan sistem-sistem itu dengan perangkat lunak bebas, tidak untuk memperbaikinya. Program-program GNU, yang berada di dalam kasus-kasus pertandingan, diuji untuk membuktikan diri lebih andal daripada saingan-saingannya, UNIX proprietary.[12]
Pada 2007, terdapat 319 paket GNU yang disediakan di situs pengembangan resmi GNU.[13]
Penggunaan bersama-samaLinux kernel sejauh ini menjadi vektor penyebaran terumum perangkat lunak GNU, meskipun kernel Linux itu sendiri bukan bagian dari GNU.
Logo GNU adalah sebuah kepalagnu. Lukisan logo yang terkenal ini pertama dibuat oleh Etienne Suvasa. Logo ini muncul di dalam perangkat lunak GNU dan di dalam dokumentasi elektronik dan tercetak untuk proyek GNU, dan juga dipakai di dalam bahan-bahan Free Software Foundation.[14]
↑Peter H. Salus."The Hurd and BSDI".The Daemon, the GNU and the Penguin. Diarsipkan dariasli tanggal 2023-07-10. Diakses tanggal2008-08-18.It is now perfectly obvious to me that this would have succeeded splendidly and the world would be a very different place today.
↑"Stallman describing Hurd progress". Diarsipkan dariasli tanggal 2009-03-12. Diakses tanggal2009-04-29.it took many many many years to get this kernel to run at all, and it still doesn't run well, and it looks like there may be fundamental problems with this design, which nobody knew about back in 1990.