UbuntuでLinuxライフ

コラム

GNU/Linux名称論争

GNU と Linux の間にはいろいろと難しい問題がある。
少しこれらの歴史を遡ってみたい。

UNIX誕生

1970年代初め、AT&Tのベル研究所でUNIXというOSが完成する。
このOSは元は個人が趣味で作ったものだったが、その出来のよさから
研究所から支援を受けて開発が進められることとなった。

ちなみにこの頃はまだ、UNIXの著作権が今ほどはうるさくなかったため、
ハッカーにとってUNIXは良いハック対象だった。

1980年代になるとAT&Tが本格的にUNIXビジネスを開始し、
UNIXは厳しいライセンスの元で管理されるようなる。

これを受けてハッカーたちは
「自分たちの手で1からunixのようなシステムを作ろう」
と考えるようになる。

それがGNUであり、BSDだった。

この頃GNUは「gcc」というコンパイラや、開発環境の「emacs」など、
数々の優れたソフトウェアを生み出した。しかしながらカーネル「Hurd」の
開発が難航し、「unix互換OS」自体はなかなか完成しなかった。

Linuxの台頭

1990年代になり、同じくunixライクなOSを目指したリーナスは、
まずカーネルを作った上でメーリングリストで共同開発を呼びかけた。

これに対し、多くのハッカーや企業がこの呼びかけに応じた。
ハッカーにとっては趣味みたいなものだが、企業からすると
安価なunixシステムは魅力的なビジネスターゲットだった。

開発は進み、GNUなどのソフトウェアを乗せることで実用的なシステムは
一応構築可能となった。「一応」というのは、当時のLinuxはシステム構築作業が
難解を極め、かなりのスキルが必要とされていたからである。

そこで企業は、カーネルや周辺ソフトウェア、そして便利なインストーラーを
パッケージにして提供し、サポートするビジネスを開始した。
これが近代的な Linuxディストリビューション である。

この「Linuxディストリビューション」は当時としては非常に革新的だった。

ライセンス問題で裁判が泥沼化したBSD、相変わらず「Hurd」が完成しないGNUを追い抜き
Linuxは「実用的で安価なunix」として一世を風靡した。

GNU/Linux名称論争

しかし、当時の「Linux」ディストリビューションは、蓋を開けてみると
GNUのソフトウェアがかなりの比重を占めていた。

GNUプロジェクトとしては複雑だろう。

使われること自体は歓迎すべきなのだが、皆はそのシステムを「Linux」と呼ぶ。
GNUの功績の評価が低いのではないか。

そこでGNUプロジェクトの創始者リチャード・ストールマンは
このシステムを「GNU/Linux」と呼ぶように呼びかけた。
しかしその名称を使う人は一部に止まり、ほとんどの人が「Linux」と言いつづけた。

当然GNUにとってはおもしろくない。

ここに「Linux」か「GNU/Linux」かで名称論争が勃発する。

「ですから、誰がそのシステム内のプログラムを書いたかという判断基準で
そのシステムの名前を一つ選ぶということであれば、もっともふさわしい選択は
「GNU」ということになるでしょう。

しかし、私たちはこの問題をそのように考えるのが正しいとは思いません。
GNU プロジェクトはなにか特定のソフトウェアパッケージを開発するプロジェクトでは
ありませんでしたし、今もそうではありません。 GNU プロジェクトは、C コンパイラ
を開発しましたが、GNU は C コンパイラを開発するプロジェクトではありませんでした。
同様に、私たちはテキストエディタを開発しましたが、 GNU はテキストエディタを
開発するプロジェクトではなかったのです。 GNU プロジェクトの目標は、完全なフリーの
Unix ライクなシステム を開発することです。

(略)

Linus Torvalds が Linux を書いたとき、彼は最後の大きな欠落を埋めました。
そして人びとは、Linux を GNU システムと一緒にすることで完全なフリーのシステムを
手に入れることができたのです。それこそが、Linux をベースとした GNU システム
(短くは GNU/Linux システム) にほかなりません。」

Richard Stallman著 Linux と GNU プロジェクト より引用
http://www.gnu.org/gnu/linux-and-gnu.ja.html

両者の違い

GNUプロジェクトはあくまで自前でのシステム構築にこだわった。
そしてそれがGNUシステムの完成を遅らせた。

GNUの思想はかなり激しい。

UNIXが自由に使えなくなったことの反動か、フリーでないソフトウェアを一切認めない。
むしろ、そういったものを潰そうと考えている節がある。

一方Linuxは「楽しくハックする」というのが原動力であり、GNUだろうと
プロプライエタリ(非フリー)だろうと便利ならば使えばいい、というスタンスである。

自社製のプロプライエタリなソフトを付加して提供しようとする企業としては、
GNUプロジェクトに参加するよりもLinux側につく方が都合がよかった。
そこで多くの企業がLinux開発に流れた。

今、これらのシステムがLinuxと言われるのは、要は
「リーナスの呼びかけに応じた人たちが作ったシステムだから」
というところに集約されるだろう。

GNUは支持されなかったのだ。

とはいえ今のLinuxディストリビューションがあるのはGNUの功績と言っても差し支えない。
特に当時はコンパイラが非常に高価で、自由に使えるものがほとんど存在しなかった。
フリーで高品質なコンパイラGCC(GNU C Compiler)を作っただけでも、その功績は計りしれない。
また開発環境のemacsも、ハッカーの間では圧倒的な人気を誇るソフトウェアである。

もう少しGNUが妥協していれば、今あるシステムは「Linux」ではなく
「GNU」と呼ばれていたかもしれない。

コラム