GNU(グヌー)とは、誰でも自由に使い、改変し、再配布できるソフトウェアだけでコンピューターを動かせるようにすることを目指した、ソフトウェア開発プロジェクトのことです。1983年にリチャード・ストールマン氏が提唱し、現在のオープンソースの流れをかたちづくった取り組みとして知られています。
現実世界に例えると、料理のレシピを誰にでも公開し、自由に改良して配ってよいことにした料理人の集まりのようなものです。技術を独占せず、みんなで育てていく考え方が根底にあります。
名前の由来
GNUは「GNU is Not Unix(GNUはUnixではない)」の頭文字を取ったものです。名前の中に自分自身が登場するという、技術者らしい遊び心のある命名になっています。当時主流だったUnixと同じように使えるが、Unixそのものではない、という立場を表しています。
目指したもの
当時、コンピューターのソフトウェアは企業が権利を握り、中身を見ることも改変することもできないのが当たり前になりつつありました。これに対しGNUプロジェクトは、OSを構成するソフトウェアを一から自由なものとして作り直すという目標を掲げました。
「自由」の意味
GNUがいう「フリー(free)」は、無料という意味ではなく自由を指します。使う自由、中身を調べる自由、改良する自由、配布する自由の4つが柱です。「無料の(free)ビールではなく、言論の(free)自由のフリー」と説明されることがよく知られています。
GPLというライセンス
この考え方を実現するために作られたのが「GPL(GNU General Public License)」です。GPLのソフトウェアを改変して配布する場合、その改変版も同じ条件で公開しなければならないという決まりがあります。自由が次の利用者にも受け継がれるよう設計された仕組みです。
代表的なGNUのソフトウェア
| 名称 | 役割 | 使われている場面 |
|---|---|---|
| GCC | プログラムを実行できる形に変換する | LinuxやC言語の開発全般 |
| Bash | コマンドを解釈してOSに伝える | Linuxの標準的なシェル |
| Emacs | 文書やプログラムを書くエディタ | 開発者向けのテキスト編集 |
LinuxとGNUの関係
GNUプロジェクトは多くのソフトウェアを完成させましたが、OSの中核である「カーネル」の開発だけは長く難航していました。そこへ1991年、リーナス・トーバルズ氏が開発したLinuxカーネルが登場します。GNUのソフトウェア群とLinuxカーネルが組み合わさったことで、自由なOSが実現しました。
身近なところで動いているGNU
GNUのソフトウェアは、専門家だけのものではありません。Androidスマートフォンの内部や、家庭用ルーター、テレビなどの機器にも、GNU由来のソフトウェアが組み込まれていることがあります。意識しないまま日常的に使っているという点で、影響範囲は非常に広いプロジェクトです。
「GNU/Linux」という呼び方
私たちが「Linux」と呼んでいるOSは、厳密にはLinuxカーネルとGNUのソフトウェア群を組み合わせたものです。この経緯を尊重して「GNU/Linux」と表記すべきだ、という主張が今も存在します。呼び方の議論の背景には、こうした歴史があります。

コメント