GNU
しかしながらGNU Hurd以外のカーネルもGNUソフトウェアと共に利用できる。そのようなカーネルとして最も有名なものはLinuxカーネルである。GNUのカーネルにLinuxカーネルを用いるのが一般的な理由は、GNUのカーネルがGNUの中で最も成熟していない部分のためである。GNUソフトウェアとLinuxカーネルを組み合わせたものが一般的に知られるLinuxである(あまり一般的ではないがGNU/Linuxと呼ばれることがある。この呼称についてはGNU/Linux名称論争を参照すること)。
GNUには人間が容易にコンピュータにインストールして利用可能な完全なオペレーティングシステムとするためのコンポーネントである、完全な機能を持ったカーネルが未だに欠けたままである。実際には、使用可能なGNUベースオペレーティングシステムのほとんどがLinuxディストリビューションである。LinuxディストリビューションにはLinuxカーネル、GNUコンポーネント、およびGNUプロジェクト以外のフリーソフトウェアプロジェクトによるソフトウェアが多く含まれている。
プロジェクトの創設者であるリチャード・ストールマンは、GNUを「社会的目的のための技術的手段」として考えている。
前述したサードパーティーコンポーネントを除くGNUのコードの大部分はボランティアが書いたものであり、具体的には個人が余暇時間内や会社の業務内で書いた部分、および教育機関や非営利団体が書いた部分で構成されている。1985年10月、ストールマンはフリーソフトウェア財団 (FSF) を創設した。1980年代後半から1990年代にはFSFがソフトウェア開発者を雇い、GNUで必要となるソフトウェア作成を行わせた。
GNUプロジェクトの初期の計画では、BSD 4.4-Liteのカーネルを採用することになっていた。しかし、バークレーのプログラマの協力が得られなかったため、ストールマンは1988年にカーネギーメロン大学が開発したMachカーネルを採用することにした。ただし、MachにはAT&T由来のコードが使われていたため、それを取り除いてフリーソフトウェアとして使えるようになったのは1990年である。HurdのアーキテクトだったThomas Bushnellは後に、BSDカーネルの採用を見送ったことでプロジェクトは大きく後退しており、そういう意味でもBSDカーネルを採用すべきだったと述べている。
カーネルの設計は、GNUの中でもUNIXから最も大きく異なる部分である。GNUのカーネルはマルチサーバ型マイクロカーネルであり、従来のUNIXカーネルの持つ機能をサーバと呼ばれる複数のプログラムで構成している。Machのマイクロカーネルは非常に低レベルのカーネル機能しか提供していないため、GNUプロジェクトではカーネルの上位レベルの部分を一種のユーザープログラムの集合体として開発しなければならなかった。
GPLは最も一般的に使用されるフリーソフトウェアライセンスである。GPLでは、著作物の受領者はそれを実行し、複製し、修正し、再配布できるが、その再配布物のライセンスに制限を加えることを許さない。この思想はコピーレフトと呼ばれることが多い。
1991年、GNU CライブラリをプロプライエタリソフトウェアとリンクできるようにするためにLibrary General Public Licenseとして知られるGNU Lesser General Public License (LGPL) が書かれ、さらにGNU GPLのバージョン2がリリースされた。2000年には文書用にGNU Free Documentation Licenseが書かれた。GPLとLGPLは2007年にバージョン3に修正され、ユーザーが自身のデバイスで修正されたソフトウェアの実行を妨げるハードウェアの制限(英語版)からユーザーを保護するための条項が追加された。
GNUプロジェクトのライセンスは、GNU独自のソフトウェアパッケージだけではなく、GNUが直接的には作成していないソフトウェアプロジェクト(あるいはパッケージ)でも使用されている。GNUソフトウェアと組み合わせて使用されることが多いソフトウェア、例えば、Linuxカーネルなどがその代表である。一方、対照的に、Unix系のGUI環境を構築するX Window Systemは、Linuxディストリビューションでも標準的に使用されてきたソフトウェアパッケージであるが、こちらはGNUライセンスではなく、パーミッシブ・ライセンスに基づいてライセンスされる。前者が多数派であり、後者は少数派である。