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プロジェクトにはさらに多くの更新が必要な初期カーネルが存在していた。
カーネルとコンパイラが完成すれば、GNUはプログラム開発用として利用可能であった。GNUの主な目標は他の多くのUNIXシステムのようにアプリケーションを作成することであった。GNUはUNIXプログラムを起動することが可能であったが、UNIXとは異なっていた。GNUはUNIXより長いファイル名とファイルバージョン番号、そして耐衝撃性ファイルシステムを組み込まれた。GNUプロジェクトへ他者からのサポートと参加を得るためにGNU宣言が書かれた。人々はGNUプロジェクトに資金、コンピュータの部品、さらにはコードやプログラムを書くための時間を寄付することができた。
GNUプロジェクトのあらゆる面における起源と開発については、Emacsヘルプシステム内にある詳細な物語で共有されている（これは C-h g でEmacsエディタコマンドdescribe-gnu-projectを起動することで表示される）。この物語はGNUプロジェクトのウェブサイトにある詳細な歴史と同じものである。

GNU宣言

リチャード・ストールマンはGNUプロジェクトへのサポートと参加を増やすためにGNU宣言を書いた。GNU宣言で、ストールマンはソフトウェアユーザーに対する4つの本質的な自由を列挙した。それらの自由とは、目的のためにプログラムを実行する自由、プログラムのメカニックを研究して修正する自由、コピーを再配布する自由、そして公共利用のために修正したバージョンを改善し変更する自由である。これらの自由を実現するためにはユーザーが全てのコードにアクセスできるようにする必要があった。コードを自由なままで公開することを保障するため、ストールマンはソフトウェアとそのコードから派生した将来世代のソフトウェアを公共利用のために自由なままにできるための、GNU General Public Licenseを作成した。

GNU FSDG

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の基礎として使われた。

フリーソフトウェア

GNUプロジェクトはユーザーが複製し、編集し、そして配布する自由があるソフトウェアを使用する。ユーザーが個人のニーズに合うようソフトウェアを変更することが可能であるという意味で自由である。プログラマーがフリーソフトウェアを獲得する手段は、それを得る場所に依存する。フリーソフトウェアはプログラマーに友人やインターネットを通じて提供されるかもしれないし、あるいはソフトウェアを購入するためにプログラマーが働いている会社から提供されるかもしれない。

フリーソフトウェア運動

GNUプロジェクトの生産活動のほとんどは本質的に技術的なものであるが、それらは社会的、倫理的、および政治的な取り組みとして送り出された。GNUプロジェクトはソフトウェアとライセンスを生み出すのと同様に多数の文書を公開している。それらの文書のほとんどはリチャード・ストールマンにより作成された。

コピーレフト

コピーレフトとは、プログラマー達の間でソフトウェアを自由に使用し続けることを補助するものである。コピーレフトにより、プログラムやそのコードを使用し、編集し、そして再配布するための法的権利が、配布条件を変更しない限り誰にでも与えられる。結果として、ソフトウェアを獲得した誰もがユーザー以外の人間ができる自由と同じ自由を法的に獲得する。
GNUプロジェクトとFSFは、「強い」コピーレフトと「弱い」コピーレフトとを区別することがある。「弱い」コピーレフトプログラムは通常、そのプログラムを配布する人間によりフリーではないプログラムとリンクすることを許可される。一方、「強い」コピーレフトプログラムはこのようなリンクを厳しく禁止する。GNUプロジェクトが生産するものはほとんど強いコピーレフトに基づきリリースされるが、弱いコピーレフトやパーミッシブ・ライセンスに基づきリリースされるものもある。

GNU

GNUプロジェクトの最初の目標は、完全にフリーソフトウェアで構成されるオペレーティングシステムを作成することであった。1992年にGNUプロジェクトは、カーネルであるGNU Hurdを除く全ての主要なオペレーティングシステムコンポーネントを完成した。1991年にはリーナス・トーバルズが独自にLinuxカーネルの開発を始めており、1992年にはLinuxカーネルのバージョン0.12がGNU General Public Licenseに基づきリリースされ、この最後の空白を埋めた。LinuxとGNUを組み合わせることで、世界初の完全にフリーソフトウェアで構成されたオペレーティングシステムとなった。LinuxカーネルはGNUプロジェクトの一部ではないが、GCCや他のGUNプログラミングツールを使用して開発され、GNU General Public Licenseに基づきフリーソフトウェアとしてリリースされた。

戦略的プロジェクト

1990年代中期以降、多くの企業がフリーソフトウェア開発に資金援助しており、フリーソフトウェア財団はその資金をフリーソフトウェア開発に関連する法的・政治的サポートに回した。ソフトウェア開発はそのころから既存プロジェクトの保守が主になり、新規プロジェクトはフリーソフトウェアのコミュニティへの重大な脅威が存在する場合だけ立ち上げた。GNUプロジェクトの最も注目すべきプロジェクトの1つはGNUコンパイラコレクションであり、そのコンポーネントは多くのUnix系システムの標準コンパイラシステムとして採用されている。

GNOME

GNOMEデスクトップの企画はGNUプロジェクトによって開始された。これはもう1つのデスクトップシステムであるKDEが人気となったものの、その利用にはプロプライエタリ・ソフトウェアであったQtのインストールが必須だったためである。KDEとQtを人々がインストールしなくて済むようにするため、GNUプロジェクトは同時に2つのプロジェクトを開始した。1つはHarmonyツールキットである。これはQtのフリーソフトウェアによる代替品を作るプロジェクトである。このプロジェクトが成功していたら、KDEに関する問題は解決していただろう。もう1つのプロジェクトがGNOMEで、同じ問題を別の角度から解決しようとした。すなわち、KDE全体を代替し、しかもプロプライエタリ・ソフトウェアに依存しないものを作るという試みである。Harmonyプロジェクトは進歩しなかったが、GNOMEは非常にうまく開発された。なお、KDEが依存していたプロプライエタリ・コンポーネント (Qt) は後にフリーソフトウェアとしてリリースされた。

GNU Enterprise

GNU Enterprise (GNUe) は1996年に開始されたメタプロジェクトであり、GNUプロジェクトのサブプロジェクトとみなすことができる。GNUeの目標はフリーな「エンタープライズクラスのデータ対応アプリケーション」（企業資源計画など）を作成することである。GNUeは（GNOMEプロジェクトが複数のデスクトップソフトウェアの集合であるのと同様に）GNUシステム用のエンタープライズソフトウェアを1つのコレクションとして集めるよう設計されている。

Gnash

GnashはAdobe Flash 形式で配布されるコンテンツを再生する。GNUはGnash開発時、これを重要プロジェクトに位置付けていた。OSやブラウザがフリーソフトウェアのものを使っていても、アドビ製のプロプライエタリなプラグインをインストールして使っているユーザーが多かったためである。

評価

2001年、GNUプロジェクトは「研究と商業開発の生成を可能にした、その自由に利用できる再配布可能と変更可能なソフトウェアの偏在性、広さ、品質」によりUSENIXの貢献賞（Lifetime achievement award）を受賞した。