96年11月4日執筆

Linuxの未来


はじめに

編集から「Linuxの将来とか、そういったことで何でも良いですから」と言わ れたので、「じゃあ「Linuxの未来」ってことで」とゆーことで、お話しした いと思います。

当然のことながら、私は予言者でも何でもないわけですから、ここに書くのは 「未来予想」ではなく、「未来をこのようにしよう」というビジョンを示すこ とを目的としています。もちろんこれは私の主観に過ぎませんから、Linus自 身がどう思っているとか、Linux界全体としてどうかというのとはまた別です し、「日本Linuxユーザ会理事長」として書くものでもありません。あくまで 私個人が「こうなればいいな」ということを、「こうしたら実現出来るんじゃ ないかな」ということで書くに過ぎません。だから、他の人は他のビジョンを 持つかも知れません。それは当然のことです。

Linuxの過去

未来の話をする前に、今まではどうであったかについて、ちょっと触れておき ましょう。もっとも、この辺のことは色々な人が色々な形で紹介して来ました し、もう皆さん御存知なはずですから、あまり多くを語ってもしょうがないで しょう。ですから、ここでは単なる歴史ではなく、現在につながる大きな事件 だけについて見てみましょう。

Linux産まれる

1991年の春頃と言われていますが、Linuxが世に出ました。最初はごく少数の ものでしかありませんでしたが、多くの人を引きつけ、私が始めて触ったVer 0.95(1992年の春頃)にはtsx-11やsunsiteと言った、現在Linuxアーカイブで有 名なサイトには、Linuxのディレクトリがあり、非常に多くのプログラムが置 かれていました。当時で既にtsx-11のディレクトリには100MBを越えるファイ ル群がありました。

元々発表されたのがcomp.os.minixというMinixのNGでしたので、色々と議論を まき起こしたりもしましたが、Minixでは飽き足らない人々がどんどんLinuxを 使うようになりました。また、「UNIXは永遠の憧れ」と思っていた人も、「自 分のPCの上で動く、無料で使えるがある!」ということで、Linuxをインストー ルするようになりました。

とは言え、今の諸々のパッケージのように、「インストーラ動かせば、後は寝 ていても出来る」といったものとは随分違いました。それでも現在「タコ」と 呼ばれている人々の先祖にあたるような人も興奮しながら入門したものです。

SLS誕生

今日の「Linuxのインストール」と言えば、SlackwareでもRedHatでも、「フロッ ピで起動して、後はインストーラが色々やってくれる」ものが普通です。これ は場合によってはMS-DOSあたりを自分でインストールするよりも簡単に環境が 構築出来ます。特にネットワークを使うとなると、MS-DOSだと色々付加パッケー ジを入手したり、640KBの壁に悩んだりしなくてはなりませんから、Linuxの方 がずっと楽ではないかとさえ思えます。

しかし、ごく初期のLinuxには、そのようなものはありませんでした。ではど うやってインストールしたかと言うと、Linusが`bootimage'と`rootimage'と いう2つのファイルをリリースしていていました。これをそれぞれをフロッピ にrawiteで書き込み、bootimageを入れたフロッピを入れてリセットすると kernelが読み込まれてLinuxが起動し、その後rootimageを入れたフロッピを入 れると、いくつかのコマンドが使えるようになるので、それを使って、自分自 身をハードディスクにコピーしたり、他のソフトを持って来るのに使ったりし て、自分で動く環境を徐々に構築して行くのが普通でした。ごく初期の rootimageにはtarすら入っていないため(Minixとのクロス環境で構築するのが 普通だったようです)、外からプログラムを持ち込むのには随分と工夫をして 入れたものでした。

同じ頃世に出た386BSDは、リリースされているアーカイブを展開すると、自動 的に全ての環境が構築されましたから、それと比べてもあまり簡単なものでは ありませんでした。

入れ方の苦労とは別に「いったい何をどこに入れたら良いのか」ということも 結構大きな問題でした。*BSDは「BSDの標準」というものがありましたから、 makeはBSDのを入れ、そのディレクトリはどこで... ということが決まってい ましたが、Linuxは当時も今もkernelだけのシステムですから、BSDのように入 れるべきものと入れるべき場所といったものが、きちんとなっているものでは ありませんでした。これがまた結構泣かされるものでした。慣れてしまえば選 別も出来るようになりますが、それでも自分向けの環境を作るには自分でコン パイルしたりして、何日もかかったものです。

そのような時、ちょうどkernelがVer 0.96の頃ですが、「SLS」というパッケー ジが登場しました。これは現在使われているSlackwareやRHS等パッケージの原 形とでも言うべきもので、内容やインストール方法も現在のものとだいたい同 じようなものです。色々苦労して環境を構築していた当時にしてみれば、たっ た30枚程のフロッピを順番に入れるだけで、gccも動けばXも動く環境が構築出 来るというのは、本当に夢のような話でした。何しろバラバラのファイルを苦 労して入手して来なくても、「1セット」を入手すれば、何でも揃いましたし、 一々tarを実行しなくてもインストーラが自動的にファイルを展開してくれて ました。

このSLSは便利な環境を提供してくれたと共に、一つのパラダイムシフトを我々 に提示してくれました。それは、

と言ったことです。このパラダイムシフトが今日のLinuxの隆勢の一つの要因 となったことは明らかですし、後で述べる「JE」のようなものを作る余地を与 えてくれたものでもありました。

kon誕生

LinuxとSLSによって、自分の家でも使えるUNIXが出来るとなると、次に欲しく なるのは日本語環境です。もちろんその頃からXは動いていましたから、kterm やMule等を使って日本語を出すのは可能でした。しかし、Xを快適に動かすに は最低12MBは必要でした。当時は今と違いメモリは結構高価だったので、出来 ればコンソールで日本語を出したいと思ったものでした。

当時、PC-DOSは「特別なハードウェアを持たなくても、グラフィック機能を使っ て日本語を出す」という機能を実現していました。つまりDOS/Vとゆー奴です ね。同じような手法でMinixに日本語表示機能を付けたものが「Minix/V」とし て作られました。これと同じようなことをやって、Linuxにも日本語を表示さ せたいということを思った人が何人かいたようです。Minix/Vのようにkernel 内に実装したLinux/Vというアイディアもありましたが、実際に最初に世に出 たのは真鍋さんの作ったkonという日本語コンソールでした。

日本語コンソールが出来てしまえば、後はMuleやNEmacsを動かせば、日本語の 編集が出来ます。skkやwnnやCannaを動かせば日本語が入力出来るようになり... といったことで日本語環境が構築出来るようになりました。古典的なUNIXの常 識では、ここまで出来ていれば満足でした。

JE誕生

Linuxで日本語を扱うための環境は徐々に整いつつあった時、真鍋さんが 「Linuxで動くソフトのリストを作りたい」ということで、主に国産のソフト のリストを作り始めました。私は真鍋さんではありませんから、彼の心の中で どのようなことがあったかについて、詳しいことは知りませんが、それからし ばらくしてSLSにadd onして日本語を使うための「JE」がリリースしました。 JEのごく初期の版は、今あるようなインストーラもなく、SLSのインストーラ に依存したものでしたし、パッケージングの稚拙さはありましたが、「インス トールするだけで日本語がバリバリ使えるパッケージ」は非常に画期的でした。 何しろ古典的UNIXの常識では、「ソフトは自分でコンパイルするもの」でした から、このようなものをバイナリで配布するなんてことはとても考えつくよう なことではなかったからです。

JEが出来てからの日本語環境構築は、

  1. まずSLSをインストールする
  2. JEをインストールする

だけで終わりです。これで表示から処理までの、今日普通に日本語処理用とし て存在するプログラムは、ほぼ全部動くようになります。これは非常に画期的 なことでした。

しかも、JEは独立したパッケージではなく、他のパッケージのadd onとして作 られていました。この方法は元のパッケージとは別にインストールしなくては ならないという欠点はありましたが、逆に多くのパッケージと組み合わせるこ とが可能でもありました。実際、初期のJEはSLSのことを考えて作られたもの ですが、後に出たSlackwareにもインストール出来ましたし、ちょっと工夫す るだけでYggdrasilにも対応出来ました。とにかく、このJEのお陰でLinuxは日 本で認知されたOSとなることが出来たと言っても過言ではないでしょう。

商用アプリの誕生

Linuxは元々freeなkernelでした。これはもちろん現在でもYesです。また、 Linuxで使われるほとんどのコマンドが、やはりfree softwareであることも、 紛れもない事実です。つまり、全てがfreeなもので構築されたOSだったのです が、インストールが簡単になったり、安定性が増すことにより、ユーザが増え た結果か「Linux上で商用ソフトがあってもいいんでないか?」と思ったベン ダが、商用ソフトを販売するようになりました。つまり「freeなプラットホー ムの上で動く商用ソフト」が出たということです。よく使われるもののを挙げ るなら、MathematicaやAcc-Xといったものです。www.linux.or.jpで使われて いるマシンは、私の運用環境でもあるわけですが、この上のX serverはAcc-X のものを使っています。

「freeなOSの上で商用のアプリが動く」今となってはこれは当然のことですが、 当時としてはかなりのショックでした。良いとか悪いとかではなく、「そーゆー ことが出来るのか」という、純粋なショックでした。確かにLinuxはこのよう な使い方を禁じてはいませんでしたが、ちょっと虚を突かれたような気がしま した。このことは同時にGnu的な「free software原理主義」とは違った哲学の 提示でもありました。

また、その商用アプリの値段もショックでした。従来、UNIX用のアプリは同じ アプリのMS-DOS等の版に比べて、数倍以上するのが当然でした。しかし、 Linux上に出て来た商用アプリは、MS-DOS版と大差ない値段でした。ある見方 をすれば、「LinuxはMS-DOS並に普及するというマーケッティングをされた」 という意味でもあります。従来UNIX用のアプリの値段が高いのは、「複数ユー ザで使えるから」というのが表向きの理由でしたが、実際には「市場性」によ るものが大きかったからです。つまり、Linuxは「真にパーソナルなUNIX」と いう位置付けを市場がしたというわけです。

Linuxの今日

「未来」などと言いながら、長々と昔話を書いてしまいましたが、「過去」が あって「今日」がある。「今日」があって「未来」があるわけです。つまり、 「過去」の結果として「今日」があるわけですから、ここで「Linuxの今日」 ということで昔話のまとめをしたいと思います。

  1. LinuxはMinixから産まれたが、同時に「無」から産まれた
  2. Linuxはその生まれた時から「タコ」がいて、「タコ」と共に育って 来た。
  3. Linuxはkernelしか存在しない。そこでシステムとして成り立つため には、多くのプログラムを組み合わせなくてはならない。これがパッ ケージである。
  4. Linuxは日本語が使える。日本語パッケージもある。
  5. Linuxには商用アプリもある。つまり、freeの良さだけではなく、商 用の良さも持っている。
  6. LinuxはUNIXであってUNIXでない。確かにUNIXと同じ部分もあるが、 それ以外の部分もある。

今まで挙げて来たのは、Linuxの文化的側面が主ですが、これとは別に技術的 な進歩ももちろんして来ました。ちょっと挙げてみると、

  1. POSIXの実装
  2. アプリを他のOSからの移植性しやすくする
  3. ダイナミックロードのより良い実装
  4. 多くのデバイスのサポート
  5. 多くのファイルシステム形式のサポート
  6. より良いネットワークコード
  7. Intel以外のCPUへの移植性の考慮
  8. より効率の良いコード
  9. 新技術(SMP等)の導入

などがあります。もちろんこれらも忘れてはならないLinuxの「進歩」である ことには違いはありませんし、未来について考える時の重要なファクタである ことも事実です。

Linuxの未来

過去の話から、Linuxがどのような方向性を持って育って来たか、だいたいわ かったと思います。それでは、「この先になにがあるか?」ということを考え てみたいと思います。

数の論理

今後Linuxを使う人はもっと増えて来るでしょう。またもっと増えなくてはな りません。これは2つの理由からです。

一つは利用者が増えれば、「マーケット」として無視出来なくなるということ です。そうすれば、ハードウェアでもソフトウェアでも、もっと「Linux向け」 のものが増えて来るはずです。そうすれば、freeものではカバーしきれないソ フトウェアが使えるようになったり、「ボードメーカの作ったLinux用ドライ バ」とかが使えるようになる可能性が出て来るわけです。実際このようなもの は現在でもいくつか存在していますから、マーケットとしてもっと大きくなれ ば、多くの企業が参入して来るでしょう。そうすれば、Linux上でもっと色々 なことが出来るようになることでしょう。

もう一つは「MSの暴走」を止めることが出来るかも知れないということです。 この場でMSの悪口を言うことは、単なる紙面のムダに過ぎないので、詳しくは 書きません。ただ、Linuxという勢力が無視出来ないくらい大きくなれば、MS も変な暴走が出来なくなるかも知れません。あるいはUNIXが復権出来るかも知 れません。

今、普通のPCには全てMSの製品が入っています(Linuxだけなんて「普通」じゃ ないってのが世間の常識のはずです)。しかし、それで誰もが満足しているわ けではありません。たとえMSが好きな人でも、世の中には選択枝がMSしかない わけですから、MSを牽制することも出来ません。しかし、Linuxが別の選択枝 として浮上した時は、MSもユーザを無視した商品作りは出来なくなるでしょう。 だから、Linuxが普及することは、MSひいきの人にとっても悪くないことなの です。

より多くの商用ソフト

Linux上にはfreeで色々なソフトがあることは御存知のことと思います。あま りに沢山あるので、「free softwareだけあれば何でも出来るのではないか?」 と誤解してしまうくらいです。確かにfree softwareで多くのことが出来ます が、それで満足出来る人は、実は少数ではないかと思います。

今Window上では普通に存在しているのに、Linux上にないソフトをちょっと挙 げてみましょう。

今のところ、free softwareとしてLinux上にはこれらが完全に満たされるよう なソフトは存在しませんし、作られているという話を聞きません。いずれも技 術的な問題もさることながら、「完成品としての完成度を求めるのが難しい」 ものばかりです。また、OCRや翻訳システムとなると、辞書のように作るのに マンパワーが必要になるもので、ちょっとfree softwareで期待するのは無理 な注文かも知れません。このような部分には、商用ソフトが出ることが期待さ れるわけです。

「このようなソフトはWindowsの上で動いていれば十分で、何もLinux上で動く 必要はない」という意見は確かにあります。しかし、LinuxはUNIXであると同 時に「パーソナルOS」なわけです。ネットワークの向こうで動いているOSとい う使い方も確かにありますが、たいていは「机の上のPC」で動いているわけで す。つまりはWindowsやMacと同じ条件で動いているわけですから、これらのア プリが動いても何ら不思議はないし、その方が自然なわけです。

「何もそこまで」という声もわかります。しかし、一度Linuxの環境に慣れて しまえば、一々Win95をrebootするのって面倒ではありませんか?

より容易なインストール

Linuxを使う上で一番問題となることがインストールでしょう。これは慣れて しまった人にとってはどうということではありませんし、他のOS(Win95とか) と比べて、そう極端に難しいものではないと思います。RHSやCalderaあたりが すんなりとインストール出来た時は、もうほとんど何も考えなくて良いくらい です。しかし、そうであっても多くの人がつまづくのは、このインストール作 業です。

理由や対策は色々考えられるでしょうが、とにかくインストールはもっと簡単 になるべきでしょうし、またそのことは可能です。

また、それと同時に「プリインストールマシン」ももっと増えるべきでしょう。 買って来てスイッチを入るだけで使えるようになれば、インストールの悩むか ら完全に解放されるのですから。

あまり大きな声では言えませんが、私の家にもWin95のマシンがあります。家 内が自分で使うパソコンが欲しいというので、買って来たものです(実際には 子供の玩具になってます)。実のところ私はWin95のことはさっぱりわかりませ ん。会社ではWin95上のアプリは使っていますが、Win95自体のことはほとんど わかりません。会社のWin95を自宅のLinuxにpppで接続しようとした時は、そ れこそ1日仕事でした。そんな私のところでもWin95とそのアプリがまがりな りにも動いているのは、プリインストールの威力です。おそらくWin95のイン ストールも慣れてしまえば簡単なことなのでしょうが、それが出来ない私にとっ ては、まさにプリインストール様様です。これと同じことがLinuxにも言える のではないかと思います。

商用サポート

Linuxを本当に使っている人は、Linuxがどんなに便利かよく知っていると思い ます。慣れてしまうと何でもかんでもLinux上でやりたくなります。また、そ れが嬉しくてどんどん周囲の人に勧めたりもします。仲間が増えると色々好都 合ですから、「布教」を始める人も出て来ると思います。そして、ついには基 幹業務までLinuxにさせたくなるでしょう。

ところが、ここでLinuxがfreeであるということが壁となって立ちはだかりま す。Linuxを基幹業務で使おうとした時に必ず、上司から、あるいはシステム 部門から、「そんなfree softwareなんか使って、品質は大丈夫か?」「サポー トは誰がするんだ?」「何かあった時の責任は誰が取るんだ?」ということを 言われます。Linuxを使っている人なら、品質面では商用OSをも凌駕するもの であることを知っていますし、下手なメーカサポートよりもInternet上での情 報交換の方が有用だということも知っています。「責任」は何だかんだ言って も、結局導入した人が取らなくてはならないのですから、free OSだろうと商 用OSだろうと、最後は同じです。

それでもやはり自分の技術には限界があります。個人の力には限界があります。 自分の手に負えないような問題が起きた時に「お金はいくらでも出すから何と かして!」という気分になることは、誰もが経験したことがあると思います。 そうなるとやはり心強いのは「金さえ出せば面倒見てくれる」という商用サポー トとなると思います。

ちゃんとしたサポートが提供されていれば、上司やシステム部門の攻撃もかわ すことが出来るでしょうし、頼りになるのは自分だけという状況もなくなると 思います。そうなるともっと多くの場面で安心してLinuxを使うことが出来る ようになるはずです。

商業利用

商用ソフトが出て来て、商用サポートがされるとなると、いよいよ本格的に商 用利用が可能になると思います。つまりは「Linuxによるシステムインテグレー ション」といったことの可能性が出て来るわけです。

Linuxの信頼性や性能はとっくの昔に商用レベルになっているわけですから、 これを商用にしない手はありません。しかも多くの部分がfree softwareで構 成されていますから、コストを押さえてシステム構築することが可能なはずで す。何よりも、本格的マルチタスクの可能なUNIXが、ライセンスの心配もなく どんどん使えるわけですから、何年か前には「夢」でしかなかったような、贅 沢なシステムもローコストで実現出来るはずです。

「free softwareでありながら商用に耐える」ということは、多くの人にLinux の実力を見せる機会にもなります。

自在にいじれるOSとして

これは私の仕事の話になるのですが、あるところでVOD(video on demand)シス テムを提案する機会がありました。そのため、いくつかのメーカのVOD製品を 調査しました。その中で、「VODに適したファイルシステム」とか「VODに適し たネットワーク」「VODに適したスケジューラ」という話が出て来ます。つま り、従来のOSではVODを始めとするマルチメディア応用には使えないという面 があるわけで、この辺をいろいろやるのがメーカのノウハウなわけです。

ここでLinuxに目をやってみれば、Linuxは元々kernelソースが公開されていま すから、内部はいじり放題です。ですから、Linuxを「マルチメディア向けOS」 に変身させることも、不可能ではありません。

この考えをさらに進めて行けば、より特定アプリケーションに適したOSに変化 させてから使うということも考えられます。もちろん小さなアプリケーション 向けに一々OSを調整するのも馬鹿げていますが、例えばデータベースサーバ向 けの調整とか、X端末向けの調整とかといったいじり方は十分考えられます。 そうすれば、意外なところでもLinuxは使われるようになるかも知れません。 技術的には既にかなりkernelそのものの部品化が進んでいますし、Mach server化がされていたりして、かなりいじりやすくなっています。

いくつかの方向を書いてみました。この中には「商用」というキーワードが多 く出て来たと思います。Linuxはfree softwareです。今まではそうでしたし、 今後もそうであることを期待します。Linuxがどこか特定の会社の持ち物になっ てしまうことはあってはなりませんし、仮にそういった動きがあった時には、 断固反対しなくてはなりません。

しかし、だからと言って従来のfree softwareの枠の中に置いておくのでは、 拡がりに限界が出来てしまいます。特にサポートに関連する部分では、ボラン ティアベースのものでは、継続性に不安があります(嫌になったらいつでも辞 めれる=辞められてしまうかも知れない)。そういったところに「商用」の良 い点を持ち込めることが出来るなら、より多くの発展が望めるのではないかと 思います。ですから、ここしばらくのLinuxは「freeと商用の融合」がテーマ なのではないかと思います。


もどる