この問題についてもっと学ぶには、わたしたちのページのLinuxとGNUプロジェクトについて、なぜGNU/Linux?、GNUについてなにも聞いたことがないGNUユーザをご覧ください。
ほかの多くのみんなが“Linux”と単に呼ぶシステムにわたしたちがGNU/Linuxという名前を用いて、また推奨するのを見るとき、人々は多くの疑問を持ちます。ここではよくある質問とわたしたちの答えを示します。
公正を鑑みれば、少なくとも同等の言及があって然るべきでしょう。
LinuxとGNUシステム と GNUについてまったく聞いたことのないGNUユーザにもっと詳しい説明があります。また、GNUプロジェクトは、その歴史について説明しています。
システムをGNU/Linuxと呼ぶことは、わたしたちのコミュニティを構築するわたしたちの理想主義の役割を認識させます。そして、この考えの実際の重要性を公衆に認識させるのに役立ちます。
LinuxをGNUシステムと組み合わせた人々は、かれらの活動が達するところについて知りませんでした。かれらは注意を一つの部品に集中し、それがLinuxでした。そして、組み合わせの多くがGNUであることを見出していませんでした。かれらは、それを“Linux”と呼び始めました。かれらが行ったことには、その名前は適合しないにもかかわらずにです。この何が問題なのかをわたしたちが知り、人々にその慣習を改めるようお願いするまでには何年もかかりました。それまでに、混乱は大きく有利なスタートをしていたのです。
システムを“Linux”と呼ぶほとんどの人々は、それが正しくない理由についてなにも聞いたことがありません。ほかの人々がその名前を使うのを見て、正しいに違いないと仮定します。“Linux”という名前は、システムの出自について間違った絵を広めもしました。なぜなら、人々はシステムの歴史を名前に適したものと考えがちだからです。たとえば、人々は、リーナス・トーバルズが1991年にその開発を始めたとしばしば信じています。この間違った絵は、システムを“Linux”と呼ぶべきであるという考えを補強します。
このファイルの中のたくさんの疑問は、人々が慣習的に使ってきた名前を正当化しようとする試みを反映しています。
人々が全体のシステムを“Linux”と呼ぶとき、結果として、カーネルと同じ名前で全体のシステムを呼ぶのです。これは多くの種類の混乱をもたらします。なぜならば、ある文章がカーネルについてなのか全体のシステムについてなのかは、専門家だけが言えることだからです。全体のシステムを“GNU/Linux”と呼び、カーネルを“Linux”呼ぶことにより、この曖昧さを回避することができます。
リーナス・トーバルズは1990年のフィンランドでのGNUについての講演で部分的に影響を受けました。この影響がなかったとしても、かれはUnixライクなカーネルを書くことができたでしょうが、おそらく自由ソフトウェアではなかったと考えられます。1992年にリーナスがGNU GPLのもとリリースして、Linuxは自由となりました。(バージョン0.12のリリースノートを参照してください。)
トーバルズがLinuxをなにか別の自由ソフトウェアライセンスでリリースしたとしても、自由なカーネルそれだけでは、世界を大きく変えることはできなかったでしょう。Linuxの重要性は、より大きなフレームワーク、すなわち、完全に自由なオペレーティングシステムGNU/Linuxに適合することから来ているのです。
しかし、わたしたちがこのように言うのを嫌う人々がいます。時々、そういう人々は対応としてわたしたちを押しやります。ときには、そういう人々はあまりにも無礼で、わたしたちを脅して黙らせようとしているのかと考えざるを得ないほどです。そういう脅しでわたしたちを黙らせることはできませんが、コミュニティを分裂させてしまいがちです。ですから、わたしたちは、あなたがたがかれらに(そういった脅しを)止めるよう、説得できることを望みます。
しかし、これはわたしたちのコミュニティの分裂の二次的な原因に過ぎません。わたしたちのコミュニティの大きな分裂は、自由ソフトウェアを社会的かつ倫理的課題として評価しつつプロプライエタリなソフトウェアを社会的な問題と考える人々(自由ソフトウェア運動の支持者)と、実際的な利益だけと現在の自由ソフトウェアを効率的な開発モデルを引く人々(オープンソース運動)の間にあります。
この見解の相違は、名前の問題だけではありません。基本的な価値の違いなのです。コミュニティにとって、この相違についてよく考えることは重要なことです。「自由ソフトウェア」と「オープンソース」は二つの立場の旗印です。なぜ、オープンソースは自由ソフトウェアの的を外すのかをご覧ください。
この価値に関する見解の相違は、わたしたちのコミュニティにおいてGNUプロジェクトの役割についてどれくらい注意を払うかどうかによって部分的には分けられました。自由に価値を置く人々はそのシステムを“GNU/Linux”と呼ぶことが多く、システムが“GNU/Linux”であると学んだ人々は、わたしたちの自由とコミュニティの理念の議論に注意を払うことが多くあります(これがそのシステムの名前の選択が社会に実際の差異を引き起こすという理由です)。しかし、すべての人がシステムの本当の由来と正しい名前を知っても、おそらく、見解の相違は、なお、存在するでしょう。なぜなら、この問題は実在のものだからです。この問題は、自由に重きを置くわたしたちがすべての人を説得するか(容易なことではありません)、完全に敗北してしまうか(そうでないことを希望します)、そのどちらかまでなくなりません。
これを言うのはおそらく、知りあいのギークのことを念頭に置くギークでしょう。ギークはGNUについてしばしば知ってますが、多くはGNUがなにであるかについて完全に間違った考えを持っています。たとえば、多くは、GNUが“tools”のコレクションだと考えていたり、ツールを開発するプロジェクトだと考えています。
この質問の文言は、典型的ですが、もうひとつのよくある考え違いを描き出しています。なにかを開発する「GNUの役割」について語るとき、GNUが人々のグループであることを仮定しています。GNUはオペレーティング・システムです。開発の活動あるいは何かほかの活動についてGNUプロジェクトの役割について語ることは意味がありますが、GNUの活動については意味をなさないでしょう。
先進国のほとんどの人々は、“Windows”システムはマイクロソフトによって作られたことを知っています。ですから“Microsoft Windows”を“Windows”と短縮することは、システムの性質と出自について誰かを惑わせることはないでしょう。“GNU/Linux”を“Linux”と短縮することは、システムがどこから来たかについて間違った考えを与えてしまうでしょう。
この質問はそれ自体、紛らわしいものです。GNUとマイクロソフトは同じ種類のものではありませんから。マイクロソフトは会社です。GNUはオペレーティング・システムです。
GNUプロジェクトはGNUオペレーティング・システムから名づけられました。それは、GNUシステムを開発するプロジェクトです。(1983年の最初の声明を参照ください。)
わたしたちは、GCC、GNU Emacs、GAS、GLIBC、BASHなどのプログラムを開発しました。なぜならGNUオペレーティング・システムにはそれらが必要だったからです。GCC(GNUコンパイラ・コレクション)はGNUオペレーティング・システムをわたしたちが書くためのコンパイラです。わたしたち、GNUプロジェクトに働くたくさんの人々は、Ghostscript、GNUCash、GNU ChessそしてGNOMEもGNUシステムのために開発しました。
カーネルはオペレーティング・システムのプログラムの一つです。マシンのリソースを実行するプログラムに割り当てるプログラムです。カーネルはまた、ほかのプログラムの実行を開始したり、止めたりすることを取り扱います。
問題を複雑にするのは、「オペレーティング・システム」の用語を「カーネル」を意味して使う人々がいることです。この用語の使い方の両方とも何年も前に遡ります。「オペレーティング・システム」を「カーネル」を意味するものとして使うのは、80年代のシステム設計の数多くの教科書に見られます。同じく、80年代、「Unixオペレーティング・システム」はシステムのプログラム全体を含むものとして理解されていて、バークレイ版Unixはゲームでさえも含んでいました。わたしたちはGNUをUnixライクなオペレーティング・システムにすると意図していました。そして、「オペレーティング・システム」という用語を(Unixと)同じように使っています。
人々が「Linuxオペレーティング・システム」について話すほとんどの場合、「オペレーティング・システム」をわたしたちと同じ意味で使っています。つまり、プログラムのコレクション全体を意味しているのです。もし、それがあなたが意味するものならば、“GNU/Linux”と呼んでください。カーネルだけを意味する場合、“Linux”は正しい名前ですが、「カーネル」とも言ってソフトウェアのどれを意味しているか曖昧さを回避するようにしてください。
プログラムのコレクション全体を示すのに、「オペレーティング・システム」の代わりにたとえば「システム・ディストリビューション」といった、ほかの用語を用いることを好むのであれば、それは構いません。その場合、GNU/Linuxシステム・ディストリビューションについて語ることになるでしょう。
家はたくさんの小さな一般的部品から構築され、切断され本来あるところへと組み込まれます。下から上へと組み込まれていかなければなりません。ですから、基礎が構築されてなければ、本質的な部分は構築されることができず、地面の穴だけしかできません。
対して、オペレーティング・システムは複雑なコンポーネントからなり、どの順番でも開発することが可能です。ほとんどのコンポーネントを開発したとき、ほとんどの仕事はなされたと言えるでしょう。これは、家というよりは国際宇宙ステーションに似ています。宇宙ステーションのモジュールのほとんどが軌道に乗り、ほかの重要なモジュールを待っているとき、1992年のGNUシステムのようだと言えるでしょう。
この基準はとても厳しく、どの貢献者の貢献を判断するにも正しい方法ではありません。
リーナス・トーバルズは、わたしたちが用いているオペレーティング・システムに重要な貢献をしました。GNUプロジェクトはそれよりも早く開始され、より多く貢献しました。“GNU/Linux”の名前はそれぞれにクレジットを与えています。
GNUシステムをインストールのためにパッケージしてリリースしようと期待していましたが、その計画はある出来事によって追い越されました: 1992年、Linuxを含むGNUの一種が、ほかの人々によって、既にパッケージされたのです。1993年に開始し、Debian GNU/Linuxと呼ばれる、より良く、より自由なGNU/Linuxディストリビューションを作る努力をわたしたちはスポンサーしました。Debianの創始者はすでにその名前を選択していたのです。わたしたちはかれにそれを単に“GNU”と呼ぶことを要請しませんでした。なぜなら、それは、GNU Hurdカーネル(まだできていなかった)のシステムの版の名前のためだったからです。
GNU Hurdカーネルは、充分に完成しませんでした。わたしたちは、それで作業するのに感心がある人々にだけそれを推奨します。ですから、わたしたちは、GNU HurdカーネルでGNUをパッケージしたことは決してありません。ですが、Debianはこの組み合わせをDebian GNU/Hurdとしてパッケージしてます。
わたしたちは今、先進的なSchemeベースのパッケージマネージャGuixと、それをベースとしたGuixシステム・ディストリビューション(GuixSD)と呼ばれる完全なシステム・ディストリビューションを開発しています。そして、これにはGNUシステムの主要な部分を再パッケージすることが含まれます。
わたしたちは“GNU”の名の元に“GNU”をパッケージする最終ステップを踏み出していません。しかし、これがGNUはどういった種類のものかを変えることはありません。GNUはオペレーティング・システムの一つです。
この二つの言い方は同じように使われるので、「Linuxカーネル」という表現は「Linuxのカーネル」という意味に簡単に誤解されてしまい、あたかもLinuxがカーネル以上のものに違いないと言外の意味を表現してしまいます。この誤解の可能性を回避するためには「そのカーネルLinux」あるいは「Linux、そのカーネル」というように言ったり書いたりすることがよいでしょう。
このシステムの最短の正しい名前は“GNU”ですが、下記に示す理由により、わたしたちは“GNU/Linux”と呼びます。
“GNU”が“Glinux,”のなかにははっきりと現れませんから、ほとんどの人は気がつかないでしょう。“GliNUx,”と大文字にしたとしてもほとんどの人は、GNUを示すものが入っているとわからないでしょう。
これは、“GNU/Linux,”と書くけれども“GNU/”をとても小さく印刷してほとんどの人が読めないという状況と同程度でしょう。
“GNU”と言ったりタイプするにはたった一秒しかかかりません。わたしたちが開発したシステムに感謝するなら、わたしたちの仕事を認めるのに一秒かけてもらえないでしょうか?
実は、“GNU/Linux”は4音節だけです。“Unfortunately”は5音節ですが、人々は、この語を使うのを嫌がる兆候をなんらみせてません。
「マシュー」を省略することはストールマンの性格、出自、思想、あるいは目的について、なんら重要なことをごまかしていません。“GNU”を省略することはGNU/Linuxシステムについて重要なことがらをごまかしています。
これはよくある誤信を隠す方法の一例です: 誤解を招くアナロジーのなかに埋めるのです。よりよいアナロジーは「ストールマンを『トーバルズ』とよぶべきではないですか?」ではないでしょうか。
ですから、“Linux”と呼ぶことの使用料を支払うのを避けるために、システムを単に“GNU”として参照したい場合、わたしたちはあなたを批判しないでしょう。
謝意を示すことにより強く感じるのであれば、システムの名前のなかで、二次的な貢献者について示すことを必要だと感じるかもしれません。もしそうであれば、わたしたちはそれに反論するべくもありません。X11がシステムの名前に値すると感じて、GNU/X11/Linuxと呼びたいのであれば、そうしてください。Perlについてもっと主張すべきだと感じて、GNU/Linux/Perlと書きたいのであれば、そうしてください。
GNU/X11/Apache/Linux/TeX/Perl/Python/FreeCivのような長い名前は馬鹿げたものになりますから、どこかの点で、しきい値を設定し、たくさんのほかの二次的な貢献については省略せざるをえないでしょう。しきい値の設定について明確な正しい点はありませんから、どこに設定しても、わたしたちはそれに反論しません。
異なるしきい値のレベルは、システムについての名前について異なる選択を導き出すでしょう。しかし、ありうるどのしきい値のレベルでも、公正さの懸念と謝意を示す結果とならない一つの名前が、“Linux”です。主要な貢献(GNU)を省略して、ひとつの二次的な貢献(Linux)にすべての謝意を示すというのは公正とはなりえません。
GNUが異なるのは、単なる貢献するプログラム以上、単なる貢献するプログラムのコレクション以上のものだということです。GNUはシステムが作られたフレームワークなのです。
今日ではGNUはシステムの一部に過ぎませんし、Linuxはそれよりもさらに小さい部分です。しかし、それらはシステムの中心部分をなします。システムはそれらを組み合わせて作られるのです。ですから“GNU/Linux”の名前は、今もなお、適切です。
GNUは、Red Hat やNovellと同列ではありません。それは会社や組織ではなく、活動でもありません。GNUはオペレーティング・システムです。(わたしたちがGNUプロジェクトについて話すとき、GNUシステムを開発するプロジェクトを参照しています。) GNU/LinuxシステムはGNUをもとにしたものですから、その名前にGNUがあって然るべきです。
そういった会社の多くのGNU/Linuxシステムに対する貢献は、GCCやGNOMEを含む、さまざまなGNUパッケージにのコードに対して行われています。GNU/Linuxと言うことは、そういった会社と同様にほかのGNU開発者に謝意を示すことになります。
LinuxはGNUのパッケージではありません。すなわち、それはGNUプロジェクトの保護の元開発されたものではなく、あるいはGNUプロジェクトのために特に貢献されたものでもありません。リーナス・トーバルズはLinuxを自分自身のプロジェクトとして独立して書きました。ですから、「GNUパッケージのLinux」は意味として正しくありません。
わたしたちはカーネルLinuxのGNUの固有の版について話しているのではありません。「標準」版は不自由なファームウェア「ブロブ」を含むため、自由なGNU/LinuxディストロはLinuxの別の版を有します。これがGNUプロジェクトの一部であれば、それは“GNU Linux”と考えられるでしょうが、それではあまりにも複雑ですから、わたしたちはそのように呼ぼうとはしません。
わたしたちが話しているのはGNUの版です。Linuxをカーネルとして持つことにより区別される、オペレーティング・システムです。スラッシュはこの状況に適合します。なぜなら、それは、「組み合わせ」を意味するからです。(「入力/出力」を考えてみてください。) このシステムはGNUとLinuxの組み合わせであり、“GNU/Linux”なのです。
「組み合わせ」を表現するにはほかの方法もあります。プラスの記号がより明確だと考えるならば、それを使ってください。フランス語ではハイフンで“GNU-Linux”とするのが明解でしょう。スペイン語では、わたしたちは時々“GNU con Linux”と言います。
「グヌー スラッシュ リヌックス」と発音してください。スラッシュを発音しないと、人々は “GNU Linux” と言っていると考えてしまいますから、このコンビネーションにはふさわしくありません。
英語のルールにしたがうと、“GNU Emacs”の構文では“GNU”が“Linux”を修飾します。これは、GNUパッケージの、Emacsと呼ばれるプログラムを述べるのに正しい方法です。
“GNU/Emacs”はオペレーティング・システムGNUとプログラムのEmacsの組み合わせを意味してしまうでしょう。それは、このプログラムに適合しませんから、“GNU/Emacs”はこのプログラムを指すのに間違った方法です。
主要な貢献について第一に触れるのは正しく適切なことです。システムに対するGNUの貢献は単にLinuxよりも大きく先んじたというだけでなく、実に全体の活動をわたしたちが開始したのです。
加えて、“GNU/Linux”はLinuxが最下位のレベルであり、GNUが技術的に上位のレベルを埋めるという事実をよく表します。
しかしながら、あなたがシステムを“Linux/GNU”と呼ぶことを好むのであれば、通常人々が行う、GNUにまったく触れずにあたかも全体のシステムがLinuxであるかのように扱う方法よりもだいぶ良いでしょう。
もし、GNU/Linuxディストロを“Foobar BSD”と呼べば、あなたはそれは間違いだと言うでしょう。「このシステムはBSDではない」と言うのではないでしょうか。えぇ、Linuxでもありません、よ。
それは“Foobar Linux”ディストロを作った人々がよくある間違いを繰り返えしたことを意味しています。わたしたちは、Debian、Dragora、Musix、Trisquel、そしてVenenuxがGNU/Linuxをその公式名称の一部として採用したことを高く評価し、もしあなたが異なるディストリビューションに関係しているならば、あなたが同じようにすることを推奨するよう希望します。
かれらが“GNU”を“Foobar Linux”と変えることによって間違った情報を広め、かれらのバージョンを“Foobar Linux”と呼ぶ際には、あなたがそれを“Foobar GNU/Linux”と呼ぶことによって、その間違った情報を修正することが正しいことです。
わたしたちはかれらを正しいことを行うようにさせることはできませんが、わたしたちは、道が容易ならざるからといって、すぐにあきらめるような類の輩ではありません。IBMやRed Hatのように、あなた自身の処置は影響力が大きくないかもしれませんが、あなたはそれでも役立つことができます。わたしたちは一緒に状況を変え、会社がシステムを“GNU/Linux”と呼んでより多くの利益をあげるようにできるのです。
問題は、どのようにしてこれを変えようとするかなのです。
LinuxとともにGNUを使っているほとんどのコミュニティがシステムが何であるかを理解していないという状況で、これらは実のところGNUではないと言って、混ぜ物をした版を自分のものでないとすることは、利用者に自由により価値を置くことをなんら教えることがないでしょう。かれらは意図されたメッセージを受けとることがないでしょう。かれらは、単に、そのシステムがGNUであると最初から考えていない、と反応するだけでしょう。
こういった利用者を、自由との関連を知るように導く方法は、実に逆のものです。それらのシステムの版はGNUの版であり、利用者の自由のためにまさに存在するシステムをもとにしているのです。この理解によって、不自由なソフトウェアを含めたディストリビューションを、邪道なもの、混ぜ物をしたGNUの版と認識することができるのです。正しく適切な「Linuxの版」と考えるのではなくて。
GNU/Linuxユーザ・グループを始めることはとても役立ちます。システムをGNU/Linuxと呼び、GNUプロジェクトの理想を活動の基礎として掲げるのです。あなたの地域のLinuxユーザ・グループに上記の問題がある場合、そのグループの方向性(と名前)を変えるよう運動するか、新しいグループを作ることをわたしたちは提案します。より表層的な目標に焦点を当てる人々は、その見解に関して権利を有しますが、かれらがあなたを引きずるようにさせないで!
GNU/Linuxのディストリビューションを開発することについて言えば、Debian GNU/Linuxの初期の開発に資金を投入し、わたしたちは既に一度実施しています。今、再度することは、あまり有用と思えません。それはたくさんの仕事で、新しいディストリビューションが、ほかのディストリビューションよりも本質的な実際の優位性がない限り、どの目的にも適合しないでしょう。
代わりに、わたしたちはgNewSenseやUtutoのような100%自由なGNU/Linuxディストリビューションの開発を手助けしています。
もし、すでに存在するGNU/Linuxの版を“GNU”として再ラベルするのであれば、それは、GNUシステムの版を“Linux”とラベルすることに似たこととなってしまいます。これは正しいことではありませんから、そのように行動することはしたくありません。
こういった変更を行った人々は、わたしたちと協力することについて関心を持ちませんでした。そのうちのひとりは、かれは「Linuxユーザ」なので、GNUプロジェクトと仕事をすることに感心がないと実際言いました。これはショックでした。GNUパッケージをほかのシステムに移植した人々は通常、かれらの変更が取り込まれるようにわたしたちと仕事をしたいと考えたからです。しかしながら、そうした人々、主にGNUをもととしたシステムを開発していた人々は、わたしたちと仕事をしたくないという最初の(で、現在も実際には唯一の)グループでした。
これが、わたしたちが最初に、GNUシステムの版を“Linux”と人々が呼ぶのを見た経験です。そしてこの混乱はわたしたちの仕事を妨害するものでした。システムを“GNU/Linux”と呼ぶようにお願いするのは、この問題と、“Linux”という誤称によって引き起こされるほかの問題へのわたしたちの対応です。
実際はわたしたちはそうしてません。わたしたちは開発者とディストリビュータに1994年にプライベートにこの話を始めました。そして、1996年に公開のキャンペーンとしました。それが必要な限りわたしたちは続けます。
GNU、オペレーティング・システム、はたくさんの異なるプログラムから構成されます。GNUのうちのプログラムのいくつかは、GNUプロジェクトの一部として書かれたり、プロジェクトへの貢献されたものです。これらはGNUパッケージで、“GNU”をしばしばその名前に用います。
GNUプロジェクトに貢献し、GNUパッケージにしたいと決定するのはプログラムの開発者です。あなたがプログラムを開発し、GNUパッケージとしたいのであれば、<gnu@gnu.org>まで連絡ください。わたしたちはそれを評価し、わたしたちにとって必要かどうか決定します。
GPLのもとリリースされる個々のプログラムのすべてにGNUの名前をつけることは公正とは言えないでしょう。あなたがプログラムを書いてGPLのもとリリースする場合、それは、GNUプロジェクトがそのプログラムを書いたり、あなたがわたしたちのために書いたことを意味しません。たとえば、カーネルLinuxはGNU GPLのもとリリースされていますが、リーナスはGNUプロジェクトの一部としてそれを書いたわけではありません。かれはその仕事を独立して実行しました。GNUパッケージでないならば、GNUプロジェクトはその謝意を受けることはできませんし、“GNU”をその名前につけることは適切ではないでしょう。
対して、わたしたちは、それぞれのプログラム、システムに含まれるすべてのプログラムとしてではなく、GNUオペレーティング・システム全体として、全体の謝意を受ける資格があります。このシステムがシステムとして存在するのは、わたしたちの決意と根気ゆえなのです。それは1984年に開始されました。Linuxが始まる何年も前です。
Linuxが人気を得ることになったオペレーティング・システムは、基本的にGNUオペレーティング・システムでした。それはカーネルが異なるので完全に同一ではありませんが、ほとんど同一のシステムでした。それはGNUの一種です。GNU/Linuxシステムでした。
Linuxはそのシステムの派生に主に用いられ続けています。今日のGNU/Linuxシステムの版にです。これらのシステムにアイデンティティを与えるのは、その中心であるGNUとLinuxであり、Linuxそれだけではないのです。
GNUのコードはまったくUnixからは来ていませんが、GNUはUnix互換のシステムです。ですからGNUのアイデアと仕様の多くはUnixから来ています。“GNU”の名前、「GNUはUnixではない(“GNU's Not Unix”)」は、このUnixへの謝意を示すおもしろい方法で、70年代に始まった再帰頭辞語のハッカーの伝統にしたがっています。
そうした再帰頭辞語の最初は、TINT (“TINT Is Not TECO”)でした。TINTの作者は、TECOの別の実装を書き(既に様々なシステムに多くの実装がありました)、「なにかほかのTECO」というようなつまらない名前で呼ぶのではなく、かっこいいおもしろい名前を考えたのです。(これがハッキングが意味するところ、すなわち、おちゃめな機巧です。)
ほかのハッカーがその名前をとても楽しみ、この方法を真似しました。すでに存在するプログラム(たとえばその名前を“Klever”としましょう)と同じようなプログラムを一から書いたとき、再帰頭辞語をその名前とする、たとえば“MINK”(“MINK Is Not Klever”)とするのが、伝統となりました。これと同様の精神で、わたしたちはUnixのわたしたちの代替を“GNU's Not Unix”と呼んだのです。
歴史的に、Unixを開発したAT&Tは、同様なシステムの名前に“Unix”を使って謝意を示すことを誰にも欲しませんでした。Unixから99%コピーされたシステムにもです。AT&Tは、実際、AT&Tへの謝意をこの方法で示す人は誰でも訴えると脅しました。すべてのさまざまなUnixの変更版(Unixと同様、すべてプロプライエタリです)が完全に異なった名前で“Unix”を含まないのはこのためです。
BSDシステムはUCバークレイで80年代に不自由なソフトウェアとして開発されました。そして90年代初め自由になりました。自由なオペレーティングシステムとして今日存在するものは、ほとんどの場合、GNUシステムの一種か、BSDシステムの一種のどちらかです。
人々は時々、BSDもGNU/LinuxのようにGNUの一種ですかと質問します。BSDはGNUではありません。BSDの開発者は、GNUプロジェクトの例により、コードを自由ソフトウェアとすることに啓発されたでしょう。また、GNU活動家からの明確なアピールが、かれらが(システムを自由ソフトウェアとすることを)始めるべく説得するのに役立ったでしょう。しかし、コードはGNUと重なるところはほとんどありません。
今日のBSDシステムはいくつかのGNUパッケージを含みます。GNUシステムとその種が、いくつかのBSDプログラムを含むのと同じようにです。しかし、全体として見ると、それらは二つの異なるシステムで別々に発達してきたものです。BSD開発者はカーネルを書いてGNUシステムに加えたのではありませんから、GNU/BSDといった名前は状況に適さないでしょう。
GNU/LinuxとGNUのつながりはもっと近く、これが“GNU/Linux”の名前が適切である理由です。
NetBSDからのカーネルを利用したGNUの版があります。その開発者は、それを“Debian GNU/NetBSD”と呼んでいますが、“GNU/kernelofNetBSD”のほうがより正確でしょう。なぜなら、NetBSDは全体のシステムで、カーネルだけではないからです。ほとんどのシステムがGNU/Linuxと同じですから、これはBSDシステムではありません。
GNUはコミュニティによって保守されるオペレーティング・システムです。それには、(わたしたちが具体的なリストを保守している)GNUソフトウェア・パッケージよりもたくさんのものを含み、人々は常にもっと多くのパッケージを加えます。この変更にかかわらず、それはGNUシステムのままであり、Linuxを加えればGNU/Linuxとなります。GNUシステムの一部を使い、一部を除いたとして、「どれくらい」使っているとする意味のある方法はないでしょう。
パッケージのレベルを見れば、LinuxはGNU/Linuxシステムの中で一つの重要なパッケージです。一つの重要なGNUパッケージを含めるのは、わたしたちの同等の言及の要求を正当化するのに充分でしょう。
アンドロイドはGNU/Linuxシステムととても異なります。二つの間には共通のコードは少ししかありません。実際、共通にあるのはLinuxだけです。
全体のGNU/Linuxシステムを“Linux”と呼ぶ場合、「アンドロイドはLinuxを含むがLinuxではない、なぜなら通常のLinux[ママ]のライブラリとユーティリティ(GNUシステムを意味する)を有しないからだ」と言う必要があることを発見するでしょう。
アンドロイドは、GNU/Linuxがそうであるように、Linuxよりもたくさんのものを含みます。ないのはGNUシステムです。アンドロイドはそれをだいぶ異なるように動くGoogleのソフトウェアで代替します。アンドロイドをGNU/Linuxと変えているのはGNUの欠如ゆえです。
公衆はAndroidを使うことを“Linuxを使う”として話すことをとても奇異に思うでしょう。それは、会話をしてから、ある人の腸か、または、ある人の循環系と会話していた、というようなものです。
公衆は、それが本当はGNU/Linuxなのに、“Linuxを使う”という考えを、通常の誤解(“Linux”として全体のシステムをとらえる)で理解してしまうでしょう。
Androidの使用とGNU/Linuxの使用はまったく異なっており、自動車に乗るのと自転車に乗る違いのように異なります。前者が両方ともLinuxを含むといっても使うということでは二つは関係なく、自動車と自転車が両方とも金属の構造を持っているという事実は、使うということでは関係ありません。自動車と自転車を使うことを話したいのであれば、読者と言葉遊びでもしていない限り、「金属の物体に乗る」とは言わないでしょう。「車を使う、自転車を使う」というでしょう。同様に、GNU/Linuxを使うこととAndroidを使うことを話すのに明確な方法は、「GNU/LinuxとAndroidを使う」です。
リーナスは自由ソフトウェア運動の理想について公式にかれの見解の相違を表明しています。かれは不自由なソフトウェアを仕事として何年も開発し(“Linux”Worldショーで多くの聴衆に向かってそう言いました)、かれとともに仕事をするために不自由なソフトウェアを使うようにLinuxカーネルの仲間の開発者を公式に招きました。かれはもっと先に行って、技術者と科学者は技術的な仕事の社会的な結果について考慮すべきだという人々を非難しました。原子爆弾の開発から社会が学んだ教訓を拒否したわけです。
自由なプログラムを、学ぶためや楽しみのためを動機として書くことは、なにも間違っていません。そういった理由のためにリーナスの書いたカーネルは、わたしたちのコミュニティへの重要な貢献でした。しかし、こういった動機は完全に自由なシステムであるGNU/Linuxが存在する理由ではなく、将来に渡ってわたしたちの自由を保証してくれるものではありません。リーナスはかれ自身の見解を啓発する権利があるでしょう、しかし、人々は問題のオペレーティング・システムが自由の理想に由来するものであり、かれの見解に由来するものではないと知るべきです。
彼は最初からこれを認識していました。もっとも古いLinuxのリリースノートでこう言っています: 「linuxと一緒につかうほとんどのツールはGNUソフトウェアで、GNUコピーレフトの元です。これらのツールは配布には入っていませんので、より多くの情報は僕(あるいはGNU)に頼んでください。」
GNU HurdをLinuxと競争するに足るに充分に良くすることは大きな仕事で、明確に必要というわけではありません。カーネルとしてのLinuxで倫理上間違っているたった一つのことは、ファームウェア「ブロブ」の同梱だけであり、この問題に対する最適の修正は、そのブロブの自由な代替を開発することです。
それはなかなか人々の意識に入っていかないので、効果的ではなく、確実に伝搬しないでしょう。あなたの説明を聞いた人々の何人かは注意を引かれ、システムの由来について正しい絵を学ぶでしょう。しかし、システムについてかれらが語るときにいつでもほかの人にその説明を繰り返すことは期待できません。単に“Linux”と呼ぶかもしれません。特に意図がない限り、かれらは間違った絵を広める手助けをしてしまうでしょう。
たくさんの時間を費やすのでそれは不効率です。“GNU/Linux”と言ったり書いたりするのは一日に数秒で、数分ではありません。ですから、もっとたくさんの人々にこのやり方で到達することができます。あなたが書いたり、話したりするときに、LinuxとGNU/Linuxの区別をすることは、GNUプロジェクトを効果的に手助けするもっとも簡単な方法です。
なぜ、人々がわたしたちを笑いものにするような結果に時々導くようなお願いをするリスクをわたしたちは取るのでしょうか? それはGNUプロジェクトを助ける有用な結果をしばしばもたらすからです。わたしたちは、わたしたちの目標を達成するために不当な扱いのリスクを享受します。
皮肉にも不公正な状況が起こっているのを見た場合、だまって座っていないでください。お願いがなぜ正当とされるのかを人々が知るとき、見識のある人々は笑うのを止めるでしょう。
すでにほとんど非協力的な人々を遠ざけることについて心配することはありません。それを続ける人々に対してわたしたちが怒らず、大きな問題を訂正するのを阻止されるままでいるのは自滅です。ですから、わたしたちは誤称を訂正するよう続けるのです。
少なくとも二つの異なるBSDライセンスがあることに注意してください。明確にするために、どちらであるか指定せずに「BSDライセンス」という用語を使わないでください。
わたしたちがそうするようにあなたもその論拠に反対することを望みます。
ほとんどの人が持っていた、プロプライエタリなソフトウェアは正当で容認できるという確信を、まず否定することなしには、わたしたちは自由のオペレーティング・システムを開発することができなかったでしょう。
わたしたちは、あなたが正否を問題とする人であることを希望します。