GNU
Perancangan dan penerapan

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 [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 dengan Version 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 programer Berkeley [butuh rujukan]
, 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&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.
Lihat pula: GNU/Linux naming controversy