Linuxとは -- なぜLinuxが普及したか
最近、LinuxというOSが注目を集めています。これには以下の理由があると言わ れています。よく言われるのが、
- 基本的なOSの機能を持ちながら無料である
- WindowsNTよりも安定なことが多い
- オープンソースである
- 小型軽量である
あたりでしょうか。これらのうちのどれが原因でLinuxが注目を集めたかと言え ば、どれか特定の原因ではなく、それぞれの相乗効果によるものが大だと思われ ます。
- いわゆるfree softwareではあるが、あまり難しい「掟」がなかった
- コミュニティー自身が「普及」ということに熱心であった
- 最初から商業的利用に寛容であった
- 商用に使われながら、常にfree softwareであり続けた
これらは技術的なものではありませんが、今日の「Linuxブーム」を解く鍵であ ると思います。(1)〜(4)はもっぱら技術的な理由ですが、これらについては、 FreeBSDを始めとしていくつかあるBSDの流れを組むfree OSでも同じですから、 実は(5)〜(8)の方が大きいようにも思われますので、ここでは特にこれらについ て解説します。
free softwareでありながら、あまり厳しい「掟」がなかった
free software自体は、プログラムというものが世の中に存在した頃から存在し ていました。むしろごく初期のプログラムは全てがfree softwareだと言っても 過言ではありませんでした。その後にプログラムが商品として価値を持つように なり、商用のソフトウェアが生まれましたが、それとは別の流れでfree softwareは存在し続けていました。色々な事情からこのfree softwareは一種の コミュニティを形成し、そのコミュニティの文化と共に育てられました。
このコミュニティのうち、一番有名かつ有力なものはFSFを中心としたGnuと呼ば れる一連のソフトウェアのコミュニティです。ここでは一種の原始共産主義的な コミュニティが形成されており、要約すると
- ソフトウェアは水や空気と同じような共有物である
- 共有物そのものに対価を要求するのはナンセンスである(ただし、サポート やサービスと言った特定の相手向けに対価を要求するのは構わない)
- ソフトウェアは共有物であるから、全ては公開されなくてはならない
- 共有物は勝手に私物化されてはならない
といったような「掟」が存在しています。この方針に従い、GPLというライセン スの元にFSFによって公開された一連のソフトウェアがGnuと言われるもので、 gcc(Cコンパイラ)やEmacs(高性能エディタ)の他UNIXに元々あるコマンドの機能 強化版など、多くの高性能プログラムが存在しています。これらは非常に高性能 で、gccはたいていのメーカ製のCコンパイラよりも良いコードを出しますし、 Emacsは「UNIX上でエディタというソフトウェア商品を存在させなくなった」と 言われる程の使い勝手と拡張性を持っています。そしてそれらは全てソースコー ドが公開されていて、改変再配布の自由が保証されています。
このように非常に強力なソフトウェアが事実上無料で公開されているのは、エン ドユーザにとっては非常に嬉しいことですが、反面「ソフトウェアは公開された ものであり続けなければならない」「ソフトウェアそれ自体に対価を要求しては いけない」ということは、ビジネスとして採り入れることはなかなか難しいのも のです。また、GPLには「ウィルス性」と呼ばれる性質があり、「GPLのソフトウェ アを組み込んだソフトウェアもまたGPLでライセンスされなくてはならない」と いうことになっています。そのため、商用ソフトウェアの世界ではあまり利用さ れていませんでした。
Linuxはkernelそれ自身はGnuのソフトウェアと同じようにGPLによってライセン スされていますが、その上で動くソフトウェアに対してはGPLであることを要求 していません。あらゆる異なったライセンス条件のソフトウェアの存在を許容し ています。そのため、商用のソフトウェアをLinuxの上で動かすにあたっても、 公開され続けなければならないことも、対価を要求してはならないこともなく、 いわゆる「ソフトウェアビジネス」を行うにあたって特に障害となるような「掟」 は存在していません。そのため安心して「商売」を行うことが出来ますから、商 業利用を前提としたメーカ参入が可能となります。
コミュニティーが「普及」ということに熱心であった
Linuxは元々、一学生であったLinusの個人著作物でした。当時のLinusは学部生 ですから、過去に多くの人に知られるような実績のある先生でもなければ、 BSDのようなブランド的チームの一員でもありませんでした。ですから、Linuxが 公開された当時、多くの人にとっては「何それ?」という状態でした。また最初 に存在を公開したのがcomp.os.minixというMinixに関するnews groupであり、そ の仕様が「完全32bit、仮想記憶対応」ということを除けばMinixに劣ると思われ る面が多かったため、Minixの作者であるAndrew S. Tanenbaumによって、けちょ んけちょんにけなされていました。Tanenbaumは当時既にOSの権威として著名な 先生でしたから、Linuxは「権威によって否定されたOS」であったわけです。
また、ほぼ同じ時期、BSD NET2 releaseをベースにPCに移植されたBSDである 「386BSD」というOSがリリースされました。これは当時正統派とされていた BSDの直系の子孫にあたるOSですから、いわゆる「ブランドもののOS」でした。 多くの「UNIXハッカー」はBSDが好きですから、386BSDは多くの人に支持される かのように思われました(私も一時は386BSDを使ってデバイスドライバを書いた り、Emacsを動かしたりしていました)。
このようにして、Linuxはその生まれた時から、権威によって否定されたり、よ り人気の高いライバルが存在していたりして、普及はなかなか難しい状況になっ ていました。しかしLinuxコミュニティの人々はそのような状況に反発するがご とくに、「普及」ということに熱心に取り組み始めました。
- 初心者の許容
- コミュニティーによるサポート
- ドキュメントの整備
といった、ソフトウェアそのものとは直接関係のない領域まで手を伸ばして改良 を続けて行ったわけです。
前述のように、元々free softwareは「コミュニティ」の中のものであり、利用 するということはイコールそのコミュニティと文化を共有するという面があった わけですが、Linuxでは従来からのそれとは異なった文化を持った人々に対して も、ソフトウェアが利用されることを推進して行ったのです。
もっとわかりやすく言えば、それまではfree softwareを使うためには、 hackerであることが前提でした。そのためfree softwareを使う人に対して、利 用者であると共にhackerであることを要求していたわけです。しかし、実際にコ ンピュータを利用したい人が常にhackerであるとは限りません。そしてLinuxは このあたりの層の人々を取り込むように普及の対象を拡げたわけです。「わから ないなら使うな」的な文化の世界から「わからなくても使えるようにする」とい うことで、従来のhacker的コミュニティを超えた世界に使われるように努力して 行ったわけです。
Linuxはごく初期の頃を除けば、かなり初期からバイナリ形式でのシステムの配 布が行われていました。これは当時のfree softwareの多くがソース形式のまま で流通していたことから見ると一つの革命的なものでした。
前にも書いたように、「ソースを共有する」というこ とは「コミュニティの文化(の一部)を共有する」とい うことでもあり、それまでの「文化」にあったように、
- 基本ソース公開
- 基本自助サポート(つまりいわゆるサポートなし)
- わからない人は使わない
といったfree softwareの世界の「暗黙の了解」を前提としていました。しかし、 バイナリ形式で配布されている場合、「自助サポート」の前提となるソースコー ドが存在しないわけですから、ある程度自助努力にも限界が生じてしまいます。 このため従来あったような形での自助努力が期待出来ない、つまり何らかのサポー トが必要となります。これが従来の文化の中では、「バイナリを入手してもソー スを探して読めば良い」とか「ソース付属のドキュメントさえあれば何とかなる」 ということになっているはずなのですが、バイナリを喜んで使い人はその辺の文 化を理解してない人も少なくなかったため、今までとは違ったサポートのパラダ イムが必要となりました。このサポートのしかたは、従来のfree softwareの文 化というよりは、むしろ商用ソフトウェアの文化に近いものがありました。なぜ なら、多くの商用ソフトウェアはソース公開がない代わりに、ドキュメントがしっ かりしていたり、サポートが付いていたりするのが普通だからです。Linuxは本 来free softwareであるものにまで、このような手法を取り込むようになったの です。
最初から商業的利用に寛容であった
Linuxはライセンスの点で「原理的に商業的利用が可能」ということの他に、 Linuxユーザ自身が商業的利用に対して寛容であったことも、商業的利用を促進 する大きな原因であったと言えます。これは前述の「普及に熱心であった」とい うことにも深く関係してきます。
いわゆる「エンドユーザ」的な層が増えた結果、商用ソフトウェアの延長のよう な感覚で使う人が増えて来ました。またコミュニティもそのような対応を行うの が自然であるかのように変化して行きました。もちろんfree softwareは本来ユー ザだとかメーカだとかという観点は存在せず、「コミュニティ」という一種の共 同体で使われて来たものであるのは事実ですし、「コミュニティ」としては商用 ソフトウェアのエンドユーザ感覚で来られても困るのは事実なのですが、現実問 題としてそのような層の人も多く入って来るようになりました。
このような状況になると、感覚的な部分では商用ソフトウェアとの心理的な障壁 はなくなります。その結果「原理的に可能」ということもあいまって、かなり早 い時期から商用ソフトウェアは存在していました。
また、Linuxは比較的初期の頃から、安定性が高く正しく設定して使えば商用 UNIXと同じ程度の信頼性を確保することも不可能ではありませんでした。その上 で商用のソフトウェア製品が載っているわけですから、ローコストでUNIX環境を 構築するには都合の良いものでしたし、その品質も商業的利用をするには十分な ものでした。その結果、商用で使おうという動きが少なからず起こるようになり ました。Linuxにはそれを妨げる「掟」は存在していません。
Linuxにはランセンス一つを取り挙げても、様々な形態があります。kernelは最 初の方で述べたようなGPLによってライセンスされますが、BSD由来のソフトウェ アはBSDライセンスによってライセンスされます。また完全に著作権を放棄した PDSも存在していますし、商用ソフトウェアは商業的立場を保護するようなラン センス条件を持っています。それ以外でも多くのライセンス条件が存在していま す。ライセンス条件はソフトウェアに対する価値感の表現でもありますから、こ れだけでも多くの価値感が存在していることがわかると思います。同じように Linuxそのものに取り組む態度も、hackerからエンドユーザに至るまで、実に様々 な態度立場が存在していて、それぞれはそれぞれの価値感の下に取り組んでいま す。
このように元々多様な価値感を肯定して来たLinuxですから、声高に「free softwareを商用に使うのはけしからん」と言う人もあまりいませんでした。もち ろん皆無ではありません。そういった「free software原理主義」的価値感が存 在するのもまたLinuxですから。
商用に使われながら、常にfree softwareであり続けた
最初の方に述べたように、LinuxのkernelはGPLの元に公開されています。そのた め、商業的に利用するようになっても、特定の企業や団体に属するものとするこ とが出来ません。ですから、Linuxは常に公共物としてのLinuxであり続けること が出来ます。そのため、いろいろな改良は公開されているわけですから、常に開 発者であるLinusにfeed backすることが可能になり、それによってLinuxは成長 し続けることが出来たのです。
また、これは同時に「亜流を作らない」ということにも繋がります。成長過程で どこかの企業に取り込まれて公開されなくなってしまえば、そこから先は別の道 を歩むことになります。つまり「○○版Linux」といったものが存在してしまう わけです。そして成長すればする程元とかけ離れ、互換性の問題を起こすように なるかも知れないことは、想像に難くないことですが、GPLは公開を強制してい ますから、「本家」が吸収の努力を怠らない限りは、亜流は出来ないことになり ます。Linuxはkernelだけではなく、主な核となるソフトウェアはみな「原則公 開のライセンス」の下に配布されていますから、利用の妨げとなるような無意味 な亜流は存在しなくなります。その結果、全てのLinuxユーザに対して、全く同 じkernelやライブラリを提供し続けることが可能になりました。
このようにいろいろとLinuxが普及した要因を挙げて行くと、様々な事柄が実に 絶妙な組み合わせで行われていることがわかります。単に「無料の高性能OS」と いうこととか、「Windowsに対抗しうるOS」ということだけで普及したわけでも ありません。