GNUプロジェクト
1983年9月、リチャード・ストールマンはUsenetのメッセージにGNUプロジェクトのコーディングを開始する意図を発表した。
GNUプロジェクトが最初に開始したとき、このプロジェクトにはライティングエディタコマンド用のLISPが付属したEmacsテキストエディタ、ソースレベルデバッガ、Yacc互換のパーサジェネレータ、そしてリンカが存在していた。GNUのシステムではそのCコンパイラとツールがフリーソフトウェアであることが要求されたため、これらも開発する必要があった。1987年6月、GNUプロジェクトはアセンブラ、ほぼ完成されていた移植可能な最適化Cコンパイラ (GCC)、エディタ (GNU Emacs)、そして(ls、grep、awk、makeおよびldといった)様々なUNIXユーティリティ用のフリーソフトウェア(GNU Core Utilities など)を開発し蓄積していった。GNUプロジェクトにはさらに多くの更新が必要な初期カーネルが存在していた。
GNUプロジェクト製ではないプログラム - GNUプロジェクトの一部ではないがGNU General Public Licenseやその他のフリーソフトウェアライセンスに基づきリリースされた多数のフリーソフトウェアパッケージ。
GNUウェブサイト内にはプロジェクトの一覧が記載され、プロジェクトごとにある部分に必要なタスクを実行できるのはどのようなタイプの開発者であるかが詳細に述べられている。技術レベルの範囲はプロジェクトからプロジェクトへと投影されるが、プログラミングのバックグラウンド知識を持つ者誰もがプロジェクトを支援することが推奨されている。
Linuxカーネルとその他のプログラムとを組み合わせたGNUツールのパッケージングは通常Linuxディストリビューションと呼ばれる。GNUプロジェクトはGNUとLinuxカーネルとを組み合わせたものを "GNU/Linux" と呼び、さらに他の人々へもそのように呼ぶよう要請している。これがGNU/Linux名称論争の原因である。
今日、ほとんどのLinuxディストリビューションはGNUパッケージと、バイナリ・ブロブおよびプロプライエタリなプログラムを多数含んでいるLinuxカーネルとを組み合わせている。
GNUフリーシステム・ディストリビューション・ガイドライン(GNU Free System Distribution Guidelines、GNU FSDG)は、自由とみなされることは(GNU/Linuxディストリビューションのような)インストール可能なシステムディストリビューションにとって何を意味するのかを説明したり、ディストリビューションの開発者がそのディストリビューションを自由とみなされる資格を与えることを補助するために使われるシステムディストリビューションコミットメントである。
自由なディストリビューションとしては、主にGNUパッケージとLinux-libreカーネル(Linuxカーネルからバイナリ・ブロブ、難読化コード、そしてプロプライエタリなライセンスに基づくコードの部分を取り除いて修正したもの)とを組み合わせ、さらに(プロプライエタリソフトウェアを完全に避けて)フリーソフトウェアのみから構成されたディストリビューションが挙げられる。GNU FSDGを採用したディストリビューションには、gNewSense、Parabola GNU/Linux-libre、Trisquel GNU/Linux、Ututo(英語版)などがある。
FedoraプロジェクトのディストリビューションライセンスガイドラインがFSDGの基礎として使われた。