Jabarkan Perancangan dan penerapan dari GNU

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. 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. 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&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.

Hak cipta, lisensi, dan pelayanan

Proyek GNU menganjurkan para penyumbang untuk menyerahkan hakcipta paket-paket GNU ke Free Software Foundation, kendati bukan keharusan.

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, yakni GNU 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 sebagai Free 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 sebagai Copyleft.

Pada 1991, GNU Lesser General Public License (LGPL), kemudian dikenal sebagai Library 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 mana perangkat 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 bawah permissive free software licenses.