{ Halloween II -- 1.4}

Linux OS の競争力分析
――Java VM の二の舞か?

原文はhttp://www.opensource.org/halloween/halloween2.htmlをどうぞ。



原文:マイクロソフト社内部文書
注釈:エリック・S・レイモンド 翻訳:山形浩生 + yomoyomo


 

{ このメモは明らかに、ぼくが最初に注釈をつけたオープンソースについての「ハロウィーン文書」(いまではハロウィーン I; まずこっちを先に見てね)の続きとして書かれたものだ。ハロウィーン II は、元マイクロソフト社員から 1998 年 11 月 3 日にリークされた。ぼくがハロウィーン I を公開した三日後で、どうやら I の全国的なマスコミ報道の直接的な結果らしい。

こちらはハロウィーン I にくらべて、マイクロソフトの意図や戦略について述べている部分はずっと少ない。一方で、OS 顧客でマイクロソフトの信用度を Linux ベンダーの信用度とつきあわせて評価しようとしている人にとっては、もっと直接的に便利な文書となっている。

この文脈で見ると、Linux の市場シェア、性能、信頼性、サーバとしての有効性について、著者がきわめて肯定的な評価を下しているのは興味深い ―― これはマイクロソフトがいままで行ってきた、「まるで相手にしない」的な発言とはまったく逆のものになっている。

実際には、読者のみなさんは、ここでの肯定的な評価の多くは、まだ完全な事実よりは低いところでとどまっていることを念頭においたほうがいいだろう。それが物語っているのは現実というよりは、マイクロソフト社員が社内的にすらここまでしか認知できないという限界のほうなのだ。





さわりを引用すると……


 この文書のさわりを引用してみよう。リンクも埋め込んである。ちなみに、文中の「 OSS 」というのは、この著者流のオープンソース・ソフトの略。

* Linux はもっともできのいい UNIX であり、ミッションクリティカルなアプリケーションでも信頼されており、そして――オープンソースのコードゆえ――長期的な信用も持っており、それはその他多くの競合 OS をしのぐ。
* Linux に移行したときに必要となるような主要アプリケーションは、すでにフリーで提供されている。これには web サーバ、 POP クライアント、メールサーバ、テキストエディタなどが含まれる。
* 高度な Win32 GUI ユーザなら、(Linux のもとで)ほんの短い学習期間でそれなりの作業ができるようになるだろう。
* もともとこの試験用 PC でわたしは IE4/NT4 を走らせていたが、それと比較して Linux / Navigator の組み合わせは、単純な HTML + グラフィクスを描画するときには、少なくとも 30-40% の速度向上が感じられた。
* 長期的には、わたしの簡単な実験から見ても、確かに Linux はデスクトップ市場で成功する可能性を持っている。.
* 消費者に大好評。
* Linux の(現実か印象かは問わず) Windows NT に対する長所を挙げると(中略)カスタマイズの容易さ(中略)入手の容易さと信頼性(中略)スケーラビリティと性能(中略)相互運用性(後略)
* Linux は、たちあがりつつある thin サーバ市場で主要 OS として台頭している。
* 今日のサーバに対する要件をもとに、多くの高ボリュームアプリケーションで、Linux は商業的に開発されたサーバを立派に代替できるものとなっている。
* Linux への対抗手段として、特許権や著作権を使う有効性については、今後検討を要する。
* ただし、Compaq や Dell はたんに Linux の採用を確かな形で匂わせるだけで、OEM OS の価格を引き下げるよう主張できることに注意すべきである。
以上の引用をまとめるにあたって、単にハロウィーン I で見られる内容を繰り返しただけのものは省いてある。.


この文書の読み方

{}で囲んであって緑で書いてあるコメントはぼく (Eric S. Raymond)のもの。原文のなかで重要と思った部分は、赤くしておいた。コメントはこういう重要部分の近くに入れてある。このコメントの索引を順に読んでいくと、文書を一通り流し読みできる。

1 2 3 4 5 6 7 8 9


脅威の程度評価

 このメモは、Linux を止めるには標準プロトコルを「脱共有化(de-commoditized)」すればいい――つまり互換性のない拡張でゆがめて、その後で顧客をロックインするために使えばいい、という陰湿な提案を繰り返している。この脅威については、「ハロウィーン I」の注釈でくわしく論じておいた。

 このメモはまた、Linux は特許権侵害の訴訟を通じて攻撃すればいいという提案もしている。


この文書の履歴

1.1 -- 最初のバージョン、1998 年 11 月 3-4 日に作成。

1.2 -- コメントを大幅追加、1998 年 11 月 5 日。

1.3 -- 多少の訂正と追加、1998 年 11 月 6 日。

1.4 -- 多少の訂正と追加、1998 年 11 月 15 日。

1.5 -- マイクロソフトの開発者からのコメント追加、1999 年 9 月 18 日。

(註:何故、タイトルではバージョン1.4なのだろう)

}

 

 

Vinod Valloppillil (VinodV)

Josh Cohen (JoshCo)

Aug 11, 1998 - v1.00

 

マイクロソフト社外秘

Table of Contents

目次 *

Executive Summary *

Linux の歴史 *

Linux とはなにか *

Linux の歴史 *

組織 *

Linux の技術分析と OS の構造 *

ある配布パッケージの解剖 *

カーネル - GPL *

システムライブラリとアプリケーション - GNU GPL *

開発ツール (GPL) *

GUI / UI *

商業 Linux OS *

バイナリ互換 *

RedHat *

Caldera *

その他 *

商業 Linux ISV *

市場シェア *

インストールベース *

サーバ *

クライアント *

パッケージの市場シェア *

Linux の定性評価 *

インストール *

UI *

ネットワーク *

アプリケーション *

体感速度 *

結論 *

Linux の競争力 *

消費者に大好評。 *

Linux vs. NT *

Linux vs. Java *

Linux vs. SunOS/Solaris *

サーバ上での Linux *

ネットワークインフラ *

ISP の採用 *

Thin サーバ *

ケーススタディ:Cisco Systems, Inc. *

クライアント上での Linux *

アプリケーションと GUI の混乱 *

Unix 開発者 *

PC 以外のデバイス *

Linux :その将来予想 *

最近の活動と Linux の未来 *

追いついてからの成長 *

Linux の強み *

Linux の弱み *

最悪ケース・シナリオ想定 *

次のステップとマイクロソフトの対応 *

Linux をつぶすには *

プロセスの弱点 *

改訂履歴 *

 

 

Linux オペレーティングシステム

―― Java VM の二の舞か?




Executive Summary

Linux OS は、オープンソース・ソフト( OSS )プロセスが生み出したもっとも目に見える成果である。Linux はもっともできのいい UNIX であり、ミッションクリティカルなアプリケーションでも信頼されており、そして――オープンソースのコードゆえ――長期的な信用も持っており、それはその他多くの競合 OS をしのぐ。

Linux は、ファイル、プリント、ネットワークなどの共有サービス事業において、短期的な収入に大きな脅威を及ぼす。ハッカーコミュニティと UNIX コミュニティに奉仕するという Linux の特性のため、中短期的には Windows クライアント・デスクトップへの脅威はかなり軽減されるだろう。

最悪の場合、 Linux はサーバ OEM にとって、統合された特定タスク専用製品をつくりだすメカニズムを提供し、この分野におけるマイクロソフトの収入をなくしてしまう可能性がある。

[この文書は、読者が「オープンソース・ソフト」文書をすでに読んでいることを前提としている。本論中の多くの考察や前提は、この前の文書から生じたものであり、オープンソースについて適用可能なその他多くの議論については、ここでは簡潔さのため敢えて繰り返していない。]




Linux の歴史

Linux とはなにか

Linux (リーナックスと発音)はインターネット上のオープンソース OS としてトップのシェアを誇る。 Linux は UNIX OS で学ばれてきた 25 年強にわたる教訓を強力に活かして生まれてきた。

最大の特徴:

 

Linux の歴史

Linux OS の歴史についての見事なまとめを Wired 誌が行っている。記事は http://www.wired.com/wired/5.08/linux.html(訳注:邦訳は『ワイアード』 4.03 、1998 年 3 月号に掲載)。ここではそこから要点をいくつか以下にまとめる。

Linux はもともとヘルシンキ大学の学部生リーヌス・トーヴァルズの申し子だった。 80386-ベースのカーネルに加えて、リーヌスはキーボードドライバとスクリーンドライバを書いてPC ハードにくっつけ、このコードを 1991 年の夏に GNU の GPL のもとで FTP サイトにアップした。

自分の作品を FTP サイトにのせてから、かれは 1991 年夏に、USENET の Minix ニュースグループにその存在をアナウンス。1992 年 1 月までに、Linux は利用者やハッカー 100 人以上にダウンロードされ――そしてもっと重要なことだが――かれらは新しいフィックスやデバイスドライバなどで、どんどんソースコードに追加更新を行っていったのだった。

FSF/GNU の成果は、根っこの商業 UNIX OS カーネルの上にオープンソースのアブストラクション層を提供したものだったが、これとは対照的に Linux のチームは完全にオープンソースのカーネルを作りだしていた。やがて GNU の利用者・シェル作業はだんだんと Linux に移植されて、このプラットホームをハッカー用に整えていった。

Forbes 誌の Linux に関する記事にも、Linux 開発史についてすぐれた情報が含まれている。 http://www.forbes.com/forbes/98/0810/6209094s1.htm:

{ これは古い URL。以下を見よ: http://www.forbes.com/forbes/98/0810/6203094s1.htm

 

Date

ユーザ数

Version

Size (LOC)

1991

1

0.01

10k

1992

1000

0.96

40k

1993

20,000

0.99

100k

1994

100,000

1.0

170k

1995

500,000

1.2

250k

1996

1.5M

2.0

400k

1997

3.5M

2.1

800k

1998

7.5M

2.1.110

1.5M

 

LOC によるカウントは、どうやら x86, PPC, SPARC などすべての Linux 移植版を含むものらしい。

Linux 1.0 - 1994 年 3 月

Linux 1.0 は初のメジャー・リリースであり、ここから配布パッケージ( distributions )がつくられた。1.0 以前は、Linux はすっぴんのカーネルとしてのみ存在し、完全な稼働 OS を入手するための中心的な場所はなかった。

主要機能:

 

コードの管理方式

バージョン 1.0. のリリース後、 Linux 開発者コミュニティは新たに加わったものについてはコード管理方式を導入して、偶数番号のリリースが安定リリースのブランチ、奇数番号のリリースが「開発用」リリースのブランチとしている。

 

カーネルの主要部分には「オーナー」がいて、自分の部分を管理しているが、カーネルに入るものと入らないものについて最終的な決定権を持つのはリーヌスである。いまのところこの方式は続いている。

 

この管理方式は、実際のカーネルだけをコントロールするもので、GUI やシステム・ユーティリティ、サーバ、システムライブラリなどのサポート部分は含まれないことに注意。

 

1.0 以降、以下の 1.x ブランチが存在した。

1.1 3/95

1.2 8/95

1.3 6/96

 

バージョン 1.3 が発達してバージョン 2.0 となっている。

 

Linux 2.0 - 1996 年 6 月

Linux v2.0 は、UNIX パッケージとして実質的な競争力を持った初のメジャーリリースであった。カーネル、システムライブラリ、GNU Unix ツール、X11、BIND や sendmail などさまざまなオープンソースのサーバアプリケーションが凍結されて、 Linux 2.0 の一部となった。

同じ頃、GNU/FSF も不承不承ながら、Linux を GNU OS の公式カーネルとすることに合意している。

{ いいや、FSF は合意なんかしてないね。今でも自前の「HURD」カーネルを開発しているよ。 }

新しい基本ライブラリやツールは以下のとおり:

 

その後のバージョン

現在の 2.0.x 安定バージョンは 2.0.34 で、これは 1998 年 5 月にリリースされている。その前は、1997 年 12 月にリリースされた 2.0.33 だった。現在の開発ブランチは 2.1.108 である(1998 年 7 月 14 日現在)。

 

プロセスの速度低下

カーネルの成長にともなって、 Linux のリリース頻度も目に見えて低下してきた。次の安定リリースである 2.2 がいつ公開されるのか、いらだちが高まってきている。コードベースがとにかく大きくなってきたために、リーヌスの手におえなくなりつつあるからだ。マージすべきパッチもたまっており、そのボトルネックになっているのがリーヌスであることも多い。

 

現行のリリースツリーである 2.0.x は、2 年間で 34 回のバージョン改訂を行ってきている。いずれ 2.2 になるはずの開発ブランチ 2.1.x は、9/96 以来、 108 の改訂を経ており、いまだに完成日のめどはついていない。

{ そのとおり。でもその一方で、多くの人はすでに何ヶ月も 2.1.x をクラッシュなしに 使ってきていて、しかもその間の再起動回数は、通常の windows や NT 利用者が 平均して一週間で体験させられるものよりも少ない。

リーヌスは、やろうと思えば 1998 年春にバージョン 2.2 を出すことだって できたし、それでも十分に安定した高品質なカーネルになっていただろう。でも かれは、マイクロソフトよりは要求水準が高いんだ。 }

 

機能のフリーズは宣言されたが、相変わらずカーネルには大きな変更が統合され続けている。多くのパッチ統合は、深刻なバグフィクスや、クロスプラットホーム上の問題解決に関わるもののようである。

 

 

組織

OSS 開発の組織とプロセスに関する分析と記述は、「オープンソースソフトウェア」と題した第二のメモで行っている。本稿では、OSS のなかでも Linux 特有のものに記述をしぼる。

Wired 誌は最近、Linux の歴史を記述した記事『Linux:偉大なる(未完の)OS』を載せている。(原文は "The Greatest OS that (N)ever was" http://www.wired.com/wired/5.08/linux.html

開発チームの成長は、Linux そのものの有機的(カオス的ではなく)な成長を反映したものとなった。リーヌスは、初期の Linux ハッカーであるマイケル・K・ジョンソン言うところの『大きめのパッチをもらってもそれを信頼できる、腹心の副官数人を選んでかれらに頼るようになったんだ。副官たちは、まあ実質的にはカーネルのかなり大きな部分を所有していたわけね』

 

他の OSS プロジェクトと同じく、General Public License ("コピーレフト") やその仲間は、Linux のコードベース周辺にダイナミックな活動をつくりだすにあたって中心的なものだと考えられている:

 

ある意味で、GPL は Linux ハッカーたちのオンライン部族に成文憲法を提供したわけだ。このライセンスでは、ほかの人のコードをもとにしたり、それを丸ごと含めてしまったりしてもかまわないと書いている――まさに Linux がやったとおり――そしてそれで金儲けをするのさえオッケーとされている(だってハッカーといえども喰わなくてはならないのだ)。でも、ハッカーのソフトウェア基本法だけは侵犯できない:ソースコードは、さらなるハッキング用に自由に提供されなくてはならない。

 

 




Linux の技術分析と OS の構造

ある配布パッケージの解剖

"Linux" といったら、技術的にはそれはカーネルだけをさし、それを支える OS すべてのことではない。使いものになる製品をつくるためには、 Linux "パッケージ" がつくられていて、これがカーネルやドライバ、アプリケーションなど、完全な UNIX/GUI を提供するに必要なコンポーネントをすべてまとめている。

 

こうしたサブシステムもまた、おおむね OSS 方式で開発されており、なかには――たとえば Xfree86 GUI など――コードベースの規模や複雑さで Linux カーネルを上回るものもある。

 

こうした外部コンポーネントはいろいろなところからきており、特定製品のパッケージベンダーによって個別に選ばれている。しばしば議論になるのが、パッケージのベンダーが Linux カーネルと GPL でないコードをバンドルして、それを大量配布することの是非である。

 

含まれるコンポーネントの一部を以下の表に挙げる:

 

コンポーネント

コードベース / 名称

提供者、管理者

カーネル

基本 OS、ネットワーク・スタック

Linux (http://www.kernel.org)

ファイルシステム

Msdos, ext2fs

Linux カーネル

システムライブラリ

Glibc, Lib5c

GNU / FSF

ドライバ

 

Linux、個人の貢献

ユーザツール

Gnu ユーザツール

GNU/FSF

システムのインストール

LISA

Caldera

アプリケーションインストール

Management

RedHat パッケージマネージャ

RedHat

開発ツール

GNU 開発ツール

GCC

GNU/FSF

Web サーバ

APACHE

Apache グループ

http://www.apache.org/

メールサーバ

SendMail

http://www.sendmail.org

DNS サーバ

BIND

http://www.bind.org

SMB サーバ

SAMBA

http://www.samba.org

X サーバ

Xffree86 / MetroX

Xfree86 プロジェクト /

MetroX commercial

ウィンドウ・マネージャ

FVWM

GPL

ウィジェット

Motif

X コンソーシアム

デスクトップ・ツール

X Contrib

KDE

Gnome

X コンソーシアム

http://www.kde.org

http://www.gnome.org

管理ツール

RPM パッケージ

自前のパッケージ固有のもの

RedHat (free)

Debian / Slackware

 

主要コンポーネントを以下に説明する:

 

カーネル―― GPL

カーネルは Linux の中核部分であり、はっきりとリーヌスやその副官たちによって管理され、GPL で守られている。

Linux カーネルに含まれる機能としては:

Linux カーネル・アーキテクチャやコンポーネントについての詳細なオンライン文書は以下にある: http://sunsite.unc.edu/linux/LDP/tlk/tlk.html ビデオドライバはカーネル内にはおかれていないことに注目。カーネルは、単純なコンソールへのテキスト出力ができるだけである。

ドライバ -- GPL

標準的な機能やデバイス用モジュールつめあわせが、カーネルパッケージには含まれているのがふつうである。さらに、あまり標準的でないモジュール群も含まれることが多い。

ほとんどは GPL だが、一部の例ではドライバを書くのに必要な仕様を入手するのに、ハードウェアメーカーとの NDA が必要になるため、それはオープンソースにはならない。

 

Linux のデバイスドライバは、ユーザが自分のマシンにある特定のデバイス用に書いたものであることが多い。この段階的なつぎはぎプロセスは、Linux 用のデバイスドライバの巨大なプールをつくりだしてきた( 7/1/98 現在):

NatBro の指摘では:

この多数のドライバを産んだ重要な特性としては、Linux 用のドライバを書くのがとても簡単で、しかも Linux 用のデバッグインフラはかなり強力だということが挙げられる。 NT の場合、DDK をみつけてインストールし、カーネルデバッガをきちんと立ち上げて、ユーザモードでなんらかの操作をして、システム自体をむちゃくちゃにしてしまわないようにするだけでも、Linux 用に簡単なデバイスドライバを書くよりずっとむずかしい。「Linux デバイスドライバ」みたいな本があえば、どんなバカでもドライバを 2 日で書けるようになる。 NT には、2 日で書けるドライバなんてあり得ない。

{ 匿名希望のマイクロソフトの開発者がコメントしてくれた:

MS はドライバの領域では、自殺行為を行ってます。MS 製 OS やツールなどの品質、機能性、そして有効性を向上させようと進んで努力する我々のような人間に対して、会社が提供するものが本当に次第にひどいものになってるんです。これが、MS があなたたちが語ってきた基本概念を掌握し損ねたせいで広範に起こってます。ドライバの品質、有効性の問題に対して、会社は一貫して、本当に間違った決定を行ってきました。つまりは、より多くの人達の助けを奨励したり、よりよい開発ツールを提供したりするよりも、徐々にシステムをクローズドに、ツールを役立たずなものにしようとしてます。

これの重要な副作用は、イノベーションを殺してしまうことなんです。画一主義的な組織構成の MS は、実際には一時には二三の優先事項にしか注力できないので、(プリンタ、ビデオ、入力、ディスクなどのための)デバイスの機能やパフォーマンスを向上させることがリストの上位に来ることなんて大変希なんです。これなんか会社が他の誰か(パートナーか、産業標準団体、もしくはことによるとオープンソース・コミュニティにだって!)にドライバの領域を「開墾」させるべきところの好例でしょう。そうしたことをする代りに、会社はサード・パーティの貢献を故意に更に難しくしてるんです。このことに関して MS が言うもっともらしい口先だけの根拠というのが、システムの安定性を向上させるため、というものなんですが、会社は「質の悪いサード・パーティのドライバ」上で起こる、沢山もの NT の堅牢性の問題に対する責任があります。よりよいドライバ(よりよいツール、よりよい技術サポート/文書など、本当にサード・パーティからの投入をお願いしているのです)をつくるサード・パーティを援助するのではなく、反対に MS は、システムのより多くの部分をクローズドにすることで、ドライバーの領域における更なる支配を主張する手法を採っています。

だけど、これの皮肉な作用は、サード・パーティが MS の制限にもかかわらず、刷新するべきビジネスを未だに行っているということで、つまりは彼らはドキュメントなしで MS の製品のクローズドな部分の周辺をたびたびハックしているということで、結果としてシステム全体の安定性は、上がるでなしに、下がってます。システムをよりクローズドにすることで、安定性や品質を下げており、イノベーションを遅らせ、サード・パーティがただで喜んで貢献してくれるのを利用する機会を失っているんです。MS にとって、インターフェースを所有し、支配したいという欲求が余りにも強固すぎて、自分達がやっていることを理解するに十分な距離にまで下がってみることができないんです。

}

最近では、一部のハードウェアメーカが、自社の NIC (3Com) や SCSI アダプタ (Adaptec) 用にドライバを提供しはじめている。これらのドライバはライブラリ GPL で守られており、結果としてオープンソースではないと考えられている(ライブラリ GPL については後述)。これで勢いがついて、Linux 用の商業ドライバが開発されるようになるかは、今後注目される。

システムライブラリとアプリケーション - GNU GPL

システムライブラリが提供するのは:

Linux パッケージにおけるシステムライブラリは、リーヌスが管理しているものではない。したがって、この分野では、主要ライブラリ二種類でバージョンの分裂・フォーキングが起きている―― glibc と lib5c の二種類が併用されており、このため一部のアプリケーション同士で、多少の互換性の問題が生じている。

ユーザツール (GPL, GNU FSF)

これは基本的な UNIX のコマンドラインツールやシェル環境である。多くのシェル環境が存在するが、そのすべては FSF がサポートしている。

またこのカテゴリーには、「昔ながらの定番」 finger や telnet などのアプリケーションが含まれる。

開発ツール (GPL)

UNIX OS の面目躍如なのが、開発ツールやコンパイラの無料提供である。 GCC や PERL 言語コンパイラは、通常は Linux のあらゆるバージョンに無料で含まれるし、ほかの UNIX についても同様である。

こうしたツールは、UNIX 開発の世界では「昔ながらの定番」であり、あらゆる Unix プラットホームで広く使われている。この開発・デバッグツールの大規模な共有化は、Linux プロセスが実現している共通スキルに基づく効率性に大きく貢献している。

VB/VS/VC/VJ に慣れ親しんだ初心者・中級開発者のレベルからみると、こうしたツールはとてつもなく原始的なものに見える。

GUI / UI

X サーバ

X サーバ規格は X コンソーシアムとの契約にもとづいて MIT が保有している。 X コンソーシアムのライセンス方式は、 OSS 集団から見るとあまりに制限が多すぎるので、いくつか公共 X 活動が誕生し、 Xfree86 が最大のパッケージになっている。

おもしろいことに Xfree86 開発チームは自分たちのコードを BSD ライセンスに基づいて提供している。 GPL は制約が厳しすぎると考えるためである。: http://www.redhat.com/linux-info/xfree86/developer.html.

XFree86 システムを Linux 上で設定するのはとてもむずかしく、時間のかかるプロセスになる場合がある。Linux はビデオサービス用のハードウェア抽象層を持たないし、ほとんどのビデオカードメーカは Linux OS 用ビデオドライバは提供していない。したがって XFree86 は、さまざまなビデオカードやチップセット用のサポートを内部で提供している。XFree86 を正しく設定するには、ユーザはビデオカードのメーカ、モデル、チップセットを知らなくてはならない。多くの場合、ユーザはビデオのタイミングまで調べるか、計算しなくてはならない。

ウィジェットとデスクトップ

多くのアプリケーションで複数のウィジェットを使っているので、 X アプリケーションは Windows とはちがい、見え方もちがうし振る舞いも異なる。 Motif がデファクトの標準 Unix ウィジェットと考えられているものの、フリー配布できないため、 Linux モデルには反する。

 

結果として、Linux パッケージはふつう、どれか似たような、だが完全には互換性のないウィジェットをどれか選ぶことになる。

 

当然ながら、この混乱ぶりのため、「デスクトップ」とウィジェットを統合しようという動きがいくつか生まれている。いかにも Linux らしく、ここでもいくつかの活動が競合している。

 




商業 Linux OS

バイナリ互換性

サーバ

サーバアプリケーションを走らせるのに必要なシステムコンポーネントは、ほとんどすべてリーヌスの管理する中核パッケージに含まれている。結果として、どんなハードウェアの種類に対しても、ほとんどあらゆる Linux サーバアプリケーションがネイティブコードで走る。ハードウェアがちがっても(たとえば x86 vs PPC)、通常はアプリケーションをコンパイルしなおせばすむ。

システムアプリケーションについては、ほぼ 100% のソースコード互換性がある。

Solaris / SCO x86 との互換性

互換用ライブラリを通じて、x86 用 Linux はほとんどの SCO UNIX と x86 用バイナリをネイティブに走らせることができる。この例としてよく挙げられるのが、SCO 用 Oracle である(ただしオラクルは「公式には」Linux 上での SCO バイナリをサポートしていない――またオラクルは最近になって、Linux ネイティブの Oracle 8 を開発すると発表、1999 年 3 月に出荷予定)。

クライアント

しかしクライアント・パッケージとなると話は別であり、その原因はもっとも直接的には、現在の Linux 用 X-windows / GUI システムの「惨状」からくるものである。

バイナリ互換性の問題は、ふつうはカーネルを完全な OS にするのに必要な、カーネル以外のコードでの差からくるものである。

バイナリの非互換性: Netscape Communicator

非互換性の一例は、Linux 用の Netscape Communicator である。Linux 用の Netscape Communicator のリリース版は、Caldera のサポートしている最新の glibc ではなく、libc5 に基づいている。しかし RedHat は、libc5 のかわりに glibc をつけて出荷されるので、ユーザは libc5 もあわせてインストールしなくてはならない。

RedHat

http://www.redhat.com

RedHat Corporation は 1995 年に Linux 開発者・マニア二人によって創設され、商業的にサポートされた「きれいな」Linux パッケージをつくることを目的としている。

同社は現在、約 35 名の社員がいる。財務データや売り上げ情報などが、Infoworld 誌掲載の CEO インタビューに載っている。(http://www.infoworld.com/cgi-bin/displayArchive.pl?/98/23/e03-23.102.htm_:

Red Hat 社長 Bob Young は、この 3 年目の会社が今年は売り上げ $1,000 万をたたき出し、$50 からサポートつきのバージョンでは $1,000 弱まで、さまざまな Linux 40 万本を出荷する予定であるとしている。

 

商業開発拡張

おそらく Red Hat のビジネスモデルでいちばん興味深い部分は、それが Linux コミュニティにおいてきわめて活発で、しかも貢献を続けていると言うことだろう。RedHat を急先鋒とする活動が、いくつかすでに変更を加えるべく OSS コミュニティにリリースされている。ほとんどの場合、こうしたコードリリースは簡単なフィックスや、追加ドライバなどである。

 

Redhat は活発に主要 Linux 開発者をやとい、フルタイムで Linux をハックさせて給料を支払っている。Linux 活動に「寄付」して戻されたコンポーネントの例としては:

 

 

しかし最大の「寄付」は、いまや隅々まで普及した "Redhat Package Manager" あるいは RPM であり、これはいまやほとんどあらゆる Linux パッケージについてくる。RPM はアプリケーションマニフェストの考え方を創り出しており、これが Linux 上でのインストールやアンインストールを簡単にしてくれる。

 

Redhat が現在開発中のプロジェクトは、Linux 用の新しい GUI で、"Gnome" と呼ばれる。Gnome は、X-windows ユーザインターフェースが GPL でないことについての懸念に応えて生まれてきた。

 

製品の特徴

商業 Linux パッケージのなかで、 Redhat は最大の数の SKU を持っている(訳注:SKU は Store Keeping Unit の略であろうとのご指摘を細貝俊夫@有限会社ちえの和さんよりいただいた。ありがとうございます。)いちばんハイエンドの製品では、 Redhat のパッケージには以下のようなものがバンドルされている:

 

 

Caldera

Caldera は Ray Noorda の 最新の会社であり、OS 市場をねらっている。 Caldera の財務資料や売り上げは公表されていないが、商業 Linux ベンダーとしては、RedHat に続く第二位と思われている。

Caldera は、自分たちの Linux にいくつかコンポーネントをバンドルしている。その主なものとしては:

 

その他

その他の Linux パッケージは、RedHat と Caldera におされて衰退気味のようである。 ここには SlackWare、SuSe、Debian などがある。パッケージの総合的な 一覧は http://www.linux.org を参照。

{ SuSE をこうして黙殺するのはものを知らない証拠。Linux 大好きなヨーロッパでは トップだし、近い将来に NT ワークステーションを脅かすようになるかもよ。 }



商業 Linux ISV

Linux プラットホームで売り上げのほとんどを叩き出しているような大規模 ISV はいまのところ存在しない。Linux 上で動く商業アプリケーションのそこそこしっかりしたリストは以下を見よ: http://www.uk.linux.org/LxCommercial.html.

なぜそうした ISV が存在しないのだろうか。

ライブラリ-GPL

GPL (General Public License - これについては「オープンソース・ソフト」で詳しく述べた) では、派生した作業もすべてフリーでなくてはならないが、Linux ソフトウェアライブラリはもっと限定された「Library GPL」を使っているので、単に Linux にリンクしているだけのアプリケーションは派生物とは見なされない。

ライブラリ GPL のおかげで、商業ソフトベンダが Linux 上で製品を開発する際の大きな障害が取り除かれている。

ライブラリ GPL は http://www.fsf.org/copyleft/lgpl.html で定義されている。

バイナリ Unix 互換性

Linux はいくつかの UNIX 標準に準拠しており、特に POSIX 1003.1c にしたがっている。さまざまな CPU プラットホームでコンパイルされて走っているときには、 Linux は以下の主要商業 UNIX と、おおむねバイナリ互換性を持つ(デスクトップより、サーバのほうがその場合が多い):

 

マイクロソフト

マイクロソフトの現時点での Linux との関わりは、戦略的サービスとしてクライアントのコードを配布するにとどまっており、たとえば Netshow を配布したり、SAG が DCOM を Linux に移植したりするのを手伝ったりする程度である。 IE は現時点では、Linux 上では公式にサポートされていない。

インテル

インテルは、Linux を Merced 上に移植するのを直接助けている。インテルはまた、Merced 上の GCC 開発にも関わっている。

Netscape

マスコミで見ると、 Netscape は Linux 用の商業プロバイダとして一位の存在とされている。マーク・アンドリーセンは何度も、「Linux は Netscape のいちばんのプラットホームだ」と語っている。

しかしごく最近まで、Netscape がはっきり Linux 用として出荷していたサーバ製品は Fasttrack サーバだけで、ほかのサーバは単にそれぞれの Linux ベンダーが独自に再配布するためにライセンス供与していただけだった。だが 7 月 21 日、 Netscape は自社のサーバアプリケーション製品をすべて Linux に移植すると発表。手始めに、メールとディレクトリサービスを提供するとのこと。

Netscape のクライアント製品はすべて Linux プラットホーム用に提供されている。

オラクル

オラクルは最近(7/18/98) 、Linux 上で Oracle 8 をサポートして、それを 1999 年 3 月に出荷すると発表した。

{ Oracle 8.0.5 for Linux がすでに出荷されている。それどころか、オラクルは開発用にそれを無料で配っている。 }

Sun

Sun の Linux への関与ははっきりしていない。今年(1998 年)はじめには、Sun は Linix を代表するいろいろなユーザグループの一つである Linux International の理事になった。

一方で Linux は、Sun 自身の Solaris x86 版と競合しており、しかもかなり Linux のほうが分がいい。

しかしまた一方で、Sun は Linux を戦略的な提携者とみなしているかもしれない。Linux は一般的にソフト市場のローエンドを代表するものであり、したがって、Sun よりはマイクロソフトに大きな打撃を与える存在だと考えられるからである。

SoftwareAG

SoftwareAG は ADABAS データベースサーバを Linux に移植して、これは現在 Caldera のパッケージにバンドルされている。

Corel

Corel は WordPerfect スイートを Linux に移植して、それを RedHat の SKU いくつかにバンドルしている。

Computer Associates

最近になって、 CA-Ingres DB を Linux に移植すると発表: http://x10.dejanews.com/getdoc.xp?AN=370037691&CONTEXT=900053229.949289093&hitnum=0.




市場シェア

Linux の正確な市場シェアを計算するのはきわめてむずかしい。なぜなら:

以下に、Linux のユーザ数を特定しようとする試みのなかでも主立ったものについて、データや参照先を挙げる:

インストールベース

もっとも総合的な Linux 市場シェア調査は、1998 年 3 月に Red Hat が発表したものである:http://www.redhat.com/redhat/linuxmarket.html

ほかのパッケージについて公表されているデータを使って、RedHat は小売り CD 販売量を以下のように計算している:

{ 上記のリンクは、http://www.redhat.com/knowledgebase/linuxmarket.htmlに変わっている。 }

 

RedHat の推計では、Linux のインストールベース(これには CD 購入とダウンロードとクライアントもサーバも含まれる)の成長の推計は次のとおり:

 

 

その他の推計では、Linux のインストールベースは 500 万 (Ziff Davis) から 1000 万 (Linux 支持者)とされる。

 

サーバ

IDC の直近の「サーバ運用環境」報告は、サーバ OS 界の出荷の構成について以下のように報告している。

 

1997 年に出荷された 24 万という数字からみて、 IDC がトータルで 75 万としているのはインストールされている Linux サーバ システムらしい。ほかの市場シェア調査と比べて、 IDC のものは実際の新規 Linux サーバのインストールを低く見積もりメーカーだけを数えているのではないか。

顧客

1998 年 6 月に公開された Dataquest の市場シェアの数字をもとに、わたしは RedHat の市場調査(1997 年末で 750 万利用者となっている)から導いた歴史的な推移を加えてみた。

パッケージの市場シェア

IDC は、Linux パッケージの相対的な市場シェアについて情報を出している:

 




Linux 定性評価

わたしは Caldera OpenLinux v1.2 スタンダード版を購入した。そして、もともと NT4 を走らせていた、 わたしのオフィスの古い P5-100 / 32MB RAM マシンにインストールしてみた。Linux のデバイスドライバサポートは NT にとうてい及ばないことがわかっていたため、 わたしは意図的に、インストールベースの 80% に相当するようなマシンや 周辺機器を選んでいる(例: 3c509 NIC、Adaptec SCSI コントローラなど)。

{ VinodV はここで混乱している。すっぴんの Linux でも、サポートしているドライバは NT よりずっと多い。(これについては Red Hat のサイトを参照。)興味深いことに、彼は後でこの点に関して矛盾したことを書いている。 }

インストール

Caldera は自動起動 CD になっていて、これが直接セットアッププログラム「LISA」をたちあげる。 Lisa のプロンプトでは以下のようなことをきかれる:

 

質問の仕方には改善の余地がかなりある(たとえば二重否定で出されている質問が多い:(例: "Should setup disable plug & play device detection (yes/no)")。しかしこの段階まで、パワーユーザがまともに答えられないような質問はまったくきかれなかった。

もう一度デバイス検出が行われて、これで以下のデバイスが見事に検出されている:

 

それぞれのデバイス設定はデフォルトを選び、インストールオプションでは「普通」を選んだ。すると LISA がファイルのコピーを始めた。

インストール/設定のこの部分は 30 分で終わった(そのほとんどがファイルのコピーの時間)。ダイアログ・ボックスは 15 個である。

UI

すでに述べたとおり、NT にくらべて UNIX / Linux が変わっているところとしては、ビデオドライバがユーザ空間で走り、多くのシステム機能では必要でないという点である。 Linux はただのコマンドプロンプトさえあればなにも文句はいわない。

GUI をインストールするには、別のインストールをしなくてはならない。インストーラは、どのビデオサブシステムをインストール・設定するかきいてくる。わたしは Xfree86 サーバを選んだ、これが完全にオープンソースだったからだ(もう一つのオプション - MetroX - は Caldera から提供されており、もっと安定したコードベースとされている)。

セットアップのこの部分は、まちがいなく多くのパワーユーザでさえ手に負えないようなビデオシステムの知識を必要とする。自分のビデオカードやチップセットの名称、バージョン、モデルが必要だったばかりか、そのリビジョンやモニタの走査周波数などまできかれた。相当の試行錯誤の末、やっとビデオシステムがきちんと動いた。

最新の Xfree86 + CDE はシャープで、明らかに最高の UNIX GUI の一つである。 SUN のデスクトップユーザなら、まったく違和感を感じないはずだ。高度な Win32 GUI ユーザなら、ほんの短い学習期間でそれなりの作業ができるようになるだろう。

しかしながら UNIX 哲学にしたがって、 GUI をマスターしただけでは、システムを完全には使いこなせない。フロッピーからディスクを読むといった単純な作業でさえ、まずはターミナルウィンドウに入って、administrator としてログインして、ややこしい "mount" コマンドを走らせる必要がある。

{ 著者はわざわざ難しいやり方をしている。mtools スイート(オープンソースで、自然に使え、殆どの Linux ディストリビューションに含まれている)を使えば、簡単にできる。 }

ネットワーク

ネットワークでの体験から、Linux 利用者コミュニティがどのように機能するかについての非常に示唆的な事例が得られた。

Caldera の OpenLinux インストーラは、DHCP ではなく BootP プロトコルを扱うクライアント・デーモンしか提供していないし、なぜかそれもきちんとインストールされなかった。わたしは Caldera の CD を探して DHCP デーモンがないか見たが、見つからなかった。

Web サイトをいくつかと、FAQ を見て、わたしは Linux 用 DHCP クライアントのある FTP サイトをみつけた。この DHCP クライアントを開発したのは、Fore Systems に勤めるエンジニアだった(これはかれの電子メールアドレスからも明らかだった。しかしおそらくこれは、かれがフリータイムに書いたものだと思われる)。またこの DHCP 用の追加ドキュメンテーション・マニュアルを書いたのは、なんとハンガリーにいるハッカーで、この文書にはクライアントのインストール・ロード方法が簡単に説明されていた。

わたしはクライアントをダウンロードして解凍し、次の簡単なコマンドをタイプした:

Make - クライアントをコンパイル

Make Install -バイナリを Linux デーモンとしてインストール

コマンドラインで "DHCPCD" (DHCP クライアントデーモンの名称)とタイプすると、デーモンが DHCP を探しにいって、あっさりと IP ネットワークが動いた。

Linux プロセスの例としての DHCP

DHCP のクライアント・コードをダウンロードしたばかりだったので、気まぐれから少しいじってみた。このクライアントは、NT5 でわれわれが出荷することになる DHCP ほど拡張されてはいないが(たとえば、任意のオプションをききにいってその結果を保存したりしない)、そういう機能を実装するにはどういうコードを書けばいいか、すぐにわかった。クライアントは全部でコード 2600 行ほどでできていた。

きわめて特殊な拡張機能が明らかにあとからパッチされて入っていた。明らかに第三者によるもので、ケーブルモデムや ADSL サイトで必要とされるようなホスト特有のストリングを DHCP 要求にくっつけるようなルーチン群だった。

DHCP を自動起動に設定して、Ethernet インタフェースボードをブート時に自動設定するようにするためには、もう何ステップかを要した。でもこれはクライアントコードに説明してあったし、ハンガリー人開発者の書いた DHCP 文書にも説明があった。

ここでの主要な発見:

くわえて、まさに GPL と、完全な開発環境が目の前にあるおかげで、わたしはものの数時間もあれば、自分の変更点を書いてそれを電子メールで送れる立場にあったわけだ(NT でこの手のことをやる場合とはおおちがいだ)。そのプロセスに参加すれば、将来的に、もっと大きく野心的な Linux プロジェクトにも参加できるようになっただろう。

アプリケーション

Caldera は、ドイツの Star Corp の StarOffice をバンドルしている。StarOffice は、スイート分野では、Corel (RedHat にバンドル)と Lotus に続く「二軍」競合製品として、MS のオフィスチームにはよく知られている。

{ ベンダの名前を間違っておいて、連中は本当によく知っているかどうか怪しいものだ。「Star Corp.」じゃなくて、「Star Division Corp.」だよ。 }

StarOffice は UI 面からいえば、ほとんどすべて Office 97 クローンだった。メニューやボタン、その配置などはすべて、おおむね同じである。しばしば、メニューバーからは機能の大きな部分がぬけていた(たとえばマクロなど)。他の典型的な Office97 機能(例:スペルミス単語の下に赤いうにょうにょ線)もきちんとコピーされていた。

テストとして、ちょっと単純めの PowerPoint 文書をフロッピーから StarOffice に読み込んでみた。このためにはまず xterm にはいって新しいフロッピーを Linux ファイルシステムの ネームスペースにマウントし、Linux にそれが FAT16 形式でフォーマットしてあると告げてやった。その後、 StarOffice の PowerPoint クローンをたちあげて、フロッピーのネームスペースを開かせて、ファイルをアップロードした。

単純なスライド(たとえばただのテキストの箇条書き)は、ほぼ 100% 正しくインポートされた(ただしフォントやサイズは変わった)。複雑なスライド(たとえば PowerPoint のラインアートなどを使ったもの)はほぼ確実に壊れる。

{ 著者はもちろん、8 月以来のいろいろな事件を知らないで書いている。まもなく、 Linux 用には最低でも 4 種類のまともで十分な機能を持ったオフィススイートが そろうだろう(ApplixWare, StarOffice, Corel/WP, Lotus SmartSuite)。 このうちいくつかは、個人利用者向けには Linux 用が無料で配布される。

そしていまや、マイクロソフト以外のあらゆる主要データベースソフトが、 Linux 向けに出荷されているか、出荷される予定となっている。 Beowulf 上で走る データベースサーバだって、実現すればマイクロソフトには相当な衝撃となる はずだ(そして Unix の大御所たちにとっても)。 }

体感速度

Caldera はまた、 Netscape Navigator ブラウザをバンドルしている。ブラウザの UI はもちろんながら、 win32 プラットホーム上のネットスケープの UI とまったくいっしょである。

まともな性能テストを走らせている余裕はなかったものの、断片的な体感速度は驚異的だった。もともとこの試験用 PC でわたしは IE4/NT4 を走らせていたが、それと比較して Linux / Navigator の組み合わせは、単純な HTML + グラフィクスを描画するときには、少なくとも 30-40% の速度向上が感じられた。

将来的には、エンドユーザ向けアプリケーションを Linux 上で走らせてみたら、おもしろい性能テストになるだろう。

逆にマイナス点を指摘しておくと、同じマシン上で Navigator を 3 インスタンス同時に走らせると、性能はほとんど停止に等しい状態となって、マウスの反応もなくなり、キーボードコマンドも受け付けなくなって、リブートするしかなかった。

{ X を抜けてコンソール・ログインに戻るために、Ctrl-Alt-F[1-9]押下や、似た手順を試したのか怪しいところだ。もしくは、誰かに彼の新しいマシンに rlogin か telnet して X サーバを kill するよう頼まなかったのか。マシンをリブートするしか選択肢がなかったとしたら、それは単に、彼がそれしかやり方を知らなかったということだ。 }

結論

多少の開発者経験をつんだユーザであれば、オープンソースの提供する無限のカスタム可能性のため、それを使って大いに楽しめるだろう。システムの変更しやすさとそのプロセスの一貫性は、Linux プロセスへの「参加」へ向けての学習曲線をきわめてゆるやかなものにしている。

長期的には、わたしの簡単な実験から見ても、確かに Linux はデスクトップ市場で成功する可能性を持っている。ただし、使い勝手と設定の部分には、巨額の投資が必要とされるだろう。一般のユーザは make になじみがない。




Linux の競争力

消費者に大好評。

1997 年 12 月に行われた Datapro による Fortune 1000 の IT 部門調査では、IT 担当者に自分たちのサーバ OS を以下の点で採点させている。採点項目は: TCO、相互運用性、価格、管理のしやすさ、柔軟性、入手容易さ、Java サポート、機能、パフォーマンスである。このまとめを Redhat が以下で公開している: http://www.redhat.com/redhat/datapro.html.

各 OS の総合満足度を計算されると、トップは Linux だった。Linux は Datapro 調査で、9 項目のうち 7 項目でトップとなり、トップをとれなかったのは、機能の広範さとパフォーマンスだった(この 2 項目では、DEC に続いて 2 位となっている)。

Linux vs. NT

Windows NT は Linux コミュニティにとっていちばんの標的である。かれらの NT (それをいうなら、マイクロソフトがらみのものすべて)に対する敵意は、宗教的と言ってもまだ足りないくらいである。Linux の(現実か印象かは問わず) Windows NT に対する長所を挙げると:

サーバの数(そして結果的には単一タスクへの特化)は増えていくので、ここでの脅威はますます大きなものとなる。複数のサービスを走らせるモノリシックなサーバよりは、単一サーバを複数走らせるほうが、デバッグも簡単だしシステムダウンの原因も特定しやすいので、顧客はそちらを好む。

最近、 NT 性能チームは、直近の Linux パッケージで NetBench ファイル・プリントテストを行って NT と比較した。結果をみると、NT のほうがちょっと Linux に勝っているものの、 Linux の性能は十分に高く、NT SMB スタックのチューニングに費やされた何年もの時間を考慮すれば、競争力は高いといえるだろう。

 

Linux vs. Java

Linux 開発者は、ふつうは Sun の Java に対してあまりいい顔をしていない。Java への疑念のほとんどは、Sun が Java をがっちりコントロールしていることと、OSS でないことからきている。

Linux コミュニティは、Sun に Linux プラットホームをまともな Java プラットホームとして扱ってくれと、この言語の草創期から Sun にたのみこんでいた。しかしながら Sun は、Linux 用の JDK をサポートしていない。

{ これは かわりつつある。 }

おもしろいことに、 Linux JDK を開発するため、いくつかの Linux 開発者たちは NDA 契約をかわして移植版を開発している(http://www.blackdown.org) こうした圧力のため、OSS 版の JVM クローンが生じることとなっている。例としては http://www.kaffe.org など。

リーヌスの(http://www.linuxresources.com/news/linux-expo.html)でのコメント:

リーヌスとしては、Sun から公式にサポートされている Java 開発キットがあればいいとは思うもの、いまでも Java には感心しておらず、Java の純粋性をめぐる Microsoft/Sun の衝突とは関わり合いになりたくないと思っている。

 

Linux vs. SunOS/Solaris

Linux コミュニティは、Sun に対しては愛憎半ばする感情を抱いている。一方では、Sun はもっとも声の大きいマイクロソフト批判者として賞賛されている。その一方で、UNIX 内でいちばん明白な物差しとして、Linux ハッカーたちは暇つぶしに Solaris / SunOs を打倒するのが大好きである。

Lmbench OS ベンチマークを使うと、Linux は x86 上でばかりか、なんと Sun のハードウェア上でさえ ネットワークやプロセス/コンテキストスイッチ回数、ディスク I/O などの点で、SunOS を上回る。

OS 性能についての統計が以下にある(ただしあまり科学的でも総合的でもない): http://www.caip.rutgers.edu/~davem/scoreboard.html.

こうした性能を生み出すにあたって、目玉の数の多さ(そしてその結果として、コードのクリティカルパスを大規模に微調整したり最適化したこと)が原因として指摘されることが多い。

一般的なアーキテクチャ上の比較に基づいて、SunOS に対する Linux の優位性を挙げたものとしては、以下を見よ: http://www.nuclecu.unam.mx/~miguel/uselinux/SparcLinux.html

Sun は最近(8/10)になって、Solaris のバイナリを非商業組織に対しては無料でライセンスすると発表した(http://www.sun.com/edu/solaris/index.html)これはおそらく、Linux からの競争圧力によるのではないかと考えられる。




サーバ上での Linux

Linux のインストールされた使用ベースは、サーバになるものと予想されている。

なぜ Linux がこの市場で強いのかという理由には、以下のようなものがある:

ネットワークインフラ

Linux がよく使われるのは、共有であまりパワーのいらない、高信頼性の要求されるネットワークインフラサービス用にである。たとえば:

 

ISP による採用

Linux の中核的なユーザベースの一つが ISP である。この主な理由としては以下が挙げられる:

Thin サーバ

Linux は、たちあがりつつある thin サーバ市場で主要 OS として台頭している。

Linux ベースのもっとも有力な thin サーバは、 Cobalt Microserver (http://www.cobaltmicro.com) である。その他の thin サーバベンダ(特に Whistle Interjet) は FreeBSD ベースの製品を使っている。

ケーススタディ: Cisco Systems, Inc.

IDC は、大規模に Linux を導入した企業情報部 3 つについての調査を発表している。 Cisco は数百もの Linux サーバを全社的に導入して、以下のような機能を果たさせている:




クライアント上での Linux

UNIX の遺産とハッカー OS という背景のため、Linux はクライアント・デスクトップ OS としては弱い。加えて、 OSS 論文では広い意味でなぜ OSS がクライアントへの脅威よりはずっとサーバ分野での脅威なのかについて指摘してある。

しかしながら、Linux をまともなデスクトップ候補に押し出そうという活動はいくつかある。それぞれのデスクトップ環境(GNOME, KDE, CDE)には基本的な事務用アプリケーションがバンドルされており、十分な機能を持ったオフィス・スイート製品(それぞれ Corel と StarOffice から)があって、程度はまちまちながら、マイクロソフト・オフィスとの互換性を保っている。

アプリケーションと GUI の混乱

カーネルではリーヌス・トーヴァルズが中核となるソースツリーを管理しているが、 Linux の GUI には単一の管理者がおらず、したがってソースツリーも大いにフォーク(分岐)している。

Linux では、Motif, LessTiff, MIT Athena, Sun OpenLook など多様なウィジェットが使われているため(ウィジェットとは、OCX や VBX に相当するものである)、一貫した UI のルック&フィールがない。ウィジェットは中心となる UI のコンセプト(クローズボタン、ドロップダウンメニュー、ダイアログボックスなど)を表象するものであるため、利用者はちがったルック&フィールを経験し、しばしば使い方まで異なっていたりする。

ウィジェットに加え、「デスクトップ」または「シェル」もフォークしている。シェルの世界での主要なプレーヤーは以下の通り:

単一の、顧客重視によるマネジメントがないために、さまざまな活動同士がお互いに譲ろうとせず、Linux プロセスにおける管理コストの高さを実証することとなっている。

Unix 開発者

クライアントとしての Linux は、UNIX 開発者に歓迎されることとなった。多くの開発者は開発用マシンでは Linux を使い、ほかの UNIX プラットホーム用にコードを書いている。オープンソースのあるプラットホーム上でデバッグをする容易さについてはあちこちで述べられている。

PC 以外のデバイス

Corel の NC デバイスは、Linux 派生 OS に基づいていた。しかしこうした試みは、その後中断した(そして Corel の開発したアプリケーションレベルのコードは、 OSS コミュニティに戻されている)。




Linux :その将来予想

最近の活動と Linux の未来

Linux OS のさまざまな部分を改善すべく、文字通り何百という小さな研究プロジェクトが活動している。

主要なプロジェクトとしては:

追いついてからの成長

Linux にとって最大の将来問題は、UNIX と肩を並べるところまできたその先は何をするのか、ということだ。 JimAll はかつてこの問題の中心課題を表現するのに「テールライトのおっかけ」と述べている。市場の霧の中では、ナンバーワンでいるよりも、ナンバーワンを追いかけるナンバーツーでいるほうが、早く動けるのである。

Linux はいまやほかの Unix と肩を並べるか、それより改善されている。したがって、開発チームがこれまで慣れ親しんできたような大躍進はなかなか実現がむずかしくなるだろう。

Wired 誌の Linux 記事から引用:

この二本立ての開発プロセスのおかげで、 Linux はおそらくは今日あるほかのどの Unix よりも先進的でありながら安定したものとなっている。「Linux はいまや、追いつくだけの段階から、純粋な開発の時代へと突入しつつあるんだ」と Jacques Gélinas は語る。

 

Linux の強み

オープンソース・ソフトに関する別の論文で、オープンソース・プロセスの持つ一般的なメリットについては詳細に検討している。

Unix の遺産とコピーのすばやさ

Linux は、さまざまな種類の UNIX から恥ずかしげもなく盗む。これはつまり研究開発が無料だということだ。最近では、Linux は transmitfile() など NTっぽい機能まで盗むようになっている。これは IO 完了ポート( IO Completion Ports)のコピーである。

確立され、よく目立つバザール

Linux は信頼性の高いオープンソース・プロジェクトの見本としていちばんよく引き合いに出される。今日最大の OSS プロジェクトであることで、将来的にも維持可能なものとなっている。

教育、研究市場を支配

学会からの新しいアイデアや、新人計算機科学者たちは、みんなこぞって Linux OS 上で教育を受けている。特に、ヨーロッパとアジアではほとんど Linux 漬けといってもいい。 BartelB (EdCU マーケティングマネージャ)からの電子メール引用:

特に高等教育機関では、Linux は商業主義ソフトの悪魔に対するオルタナティブとなっている(これは定量的な発言ではないけれど、高等教育機関の情報技術部門の労働力の 60% を供給するコンピュータ科学専攻の学生たちとたくさん話してみると、かれらはこういうふうに感じていると語る。困ったもんだ)。かれらの印象だと、いったん windows プラットホームなんかに関わってしまったら、自分たちの創造性が失われると感じている。ここで問題になっているのは金銭ではない。かれらは「ボーグ」化したくないのだ。(訳注:スタートレック用語。知らない人は察して)

Linux の弱み

「オープンソース・ソフト」論文は、OSS プロセス一般についての弱点を指摘している。ここでは、Linux 特有の弱みだけを挙げるものとする。

Unix の遺産

この Linux が持つ最大のメリットは、そのまま大きな弱みにもなる――特に使いやすさが何より大事な量販マーケットでは。Linux をもっとユーザフレンドリーにしようという試みも開始されたばかりだが、開発者コミュニティからはふつうはあまり関心を持たれていない(http://www.seul.org)

マネージャが多すぎる

ふつうの Linux パッケージでは、ほとんどのコードはメインとなる Linux ツリーの外からきたものである。こうしたつぎはぎアプローチは、アーキテクチャ上の問題を解決したり、新しいクロス・コンポーネントの活動を立ち上げたりするのをきわめてむずかしくしてしまう。

最悪ケース・シナリオ想定

この節は、まったくの仮定にもとづくものである。Linux がマイクロソフトに有害となる最悪のケースをもたらすシナリオにはどんなものがあるだろうか。

顧客による採用―― 十分使用に耐える

今日のサーバに対する要件をもとに、多くの高ボリュームアプリケーションで、Linux は商業的に開発されたサーバを立派に代替できるものとなっている。これがわれわれのサーバ収入モデルに与える影響には多大なものがある。

しかしながらわれわれのクライアント側での収入モデルはいまでも強力である。これにはさまざまな理由があるが、特に win32 ソースコードの全プールをスイッチするコストが挙げられるだろう。もっとも Linux 支持者はさまざまなエミュレータや関数呼び出しのなりすまし機能などを開発中であり、このコストを攻撃しようとしている。

これは明白な解決策を示すものではある――中核プラットホームでの技術革新は、今後も続けなくてはならない必要条件である。

チャネルによる受け入れ

「オープンソース・ソフト」論文は、OSS ビジネスモデルについての章を含んでいる。その章をまとめると、オープンソース・ソフトにとって考えられる主要ビジネスモデルは 4 つ指摘できる。

    1. 二次的サービス - OSSのベンダーや開発者は、サービス契約や顧客インテグレーションなどで収入を得る。
    2. 市場参入のために「最初は赤字」 -- OSS のベンダーや開発者は、OSS のプロセス上のメリット(特にその信頼性)を利用して、すでに確立した商業ベンダーに対抗しようとする。
    3. 下流サプライヤを共有化 -- OSSのベンダーや開発者は、価値連鎖の中でもっと顧客に近い下流の製品やサービスも提供している。
    4. 標準の先取り - OSS プロセスは「勝者がすべてをかっさらう」ものだとされているため、OSSのベンダーや開発者は、OSS 市場に自分のコードベースを植え込んで、競合するコードベースが主流となるのを先取りして防げる。

IBM が Linux を採用する?

IBM は、Linux と関わる 4 つのビジネスモデルすべてから収入を得るのにいちばん適したポジションにいる。

    1. 二次的サービス - IBM はコンサルティングやインテグレーション、サポートなどできわめて強力である。これこそ現在のかれらの急成長ビジネスとなっている。
    2. 「最初は赤字」 - IBM のクライアント/ローエンド OS ビジネスはボロボロである(OS/2 なんてのがありましたっけ?)。加えて、IBM はいろいろな NC/JavaOS システムにも手を出してつまずいている。 Linux の信用でテコ入れすることで(そして同時に IBM の開発リソースを、使い勝手の改善に振り向ける?) IBM は現在の量販 OS 業界における現状をひっくりかえし、そこから生じる混乱に乗じて収入源を確保しようとするかもしれない。
    3. 下流サプライヤの共有化 - PC/ハードウェアの OEM として、IBM の利ざやは、鍵となるコスト部品――つまりは OS ――を共有化することで増大する。具体的には、Linux の共有化されてカスタム化容易な性質は、ハードウェアベンダーたちの差が相対的に大きく見えてくるということになる。
    4. 標準の先取り - 先取りすべき標準は、マイクロソフトの息がかかったものすべてである――特に NT の将来版にわれわれが直接統合する新しいOS サービスはなんでも。

IBM は、 Apache 関連の発表にもかかわらず、以上のようなことを短期的には推進しないと思われる。かれらのさまざまな OS 開発努力の中にある宗教的な想いだけでも、短期的には相当に惰性で走る結果を招くだろう。

Sun が採用する?

Sun が Linux を採用する理由づけは、IBM よりは弱い。

    1. 二次的サービス - Sun はコンサルティングやインテグレーション収入の面ではあまり強くない。ただしサポートや保守などでかなりの収入を得ている。
    2. 「最初は赤字」 -- Sun は Linux をローエンド OS として広め、その上の UNIX アプリケーション分野で儲けようとするかもしれない。 Linux は可能性として Sun がこれまで慣れ親しんできたよりはるかに巨大な市場になる可能性があるため、Sun としては(Solaris の売り上げがダウンしても)差し引きではプラスになる。
    3. 下流サプライヤの共有化 - Sun はまたハードウェアのベンダーでもある(そしてすばらしいシステムをつくっている)。 Sun はいまの OS 収入を失うが、もっと広くハードを売れるようになるのは魅力だろう。
    4. しかし Linux の採用は、もしかれらの SPARC 事業が Intel の技術革新速度に追いつけなかった場合には、 Sun を大きなリスクにさらすことになる。

    5. 標準を先取り - マイクロソフト標準をつぶせ。

PC OEM's

ワーストケースのシナリオとしてほかに考えられるものは、 Sun / IBM のケースのサブセットであり、 Compaq や DellなどのPC ベンダーが Linux にのりだしてくる、というものである。

ただし、Compaq や Dell はたんに Linux の採用を確かな形で匂わせるだけで、OEM OS の価格を引き下げるよう主張できることに注意すべきである。

{ おぉぉっとぉぉぉ! こいつは最高! そうだいけいけ、キャッシュフローを痛めつけちまえ! }

サーバの情報システムベンダー

「下流のサプライヤを共有化」戦略の展開例としておもしろいのは、サーバ情報システムベンダーによる 逆方向の統合化 である。たとえばオラクルは、Linux 用パラレルサーバを出荷するときに、そのパッケージの中に Linux を含めてしまうかもしれない。

これは基本的には thin サーバの考え方の応用である。複数の小さなビジネス上の機能を単一のサーバに統合するのではなく、この場合には企業向け OS の機能を非統合化して、目的のサーバアプリケーションを走らせるに必要十分な最小限のものだけにしてしまうわけだ。これは以下のようなビジネスモデルにうまくあてはまるものとなる:

    1. 二次的サービス - Oracle/SAP/Baan などの企業は、すでに収入のかなりの部分をオンサイトのコンサルティング契約から得ている。
    2. 「最初は赤字」 - OS を最初の赤字部分としてとらえることで、特定ハードからの収益が自分の手に入るようにできる。
    3. 下流部分の共有化 - オラクルは、サーバOS をカーネル、メモリ管理、IP スタック、ディスクであると苦もなく宣言できる。
    4. 標準の先取り - マイクロソフトをつぶせ。



次のステップとマイクロソフトの対応

マイクロソフトとしての Linux 対応策を仕上げるには、さらなる検討と作業が必要となる。特に Linux に限定した競争方法について、以下に初期段階での考察を述べる。いまのところまったく未知数状態の検討事項として、Linux をマイクロソフトにとってのビジネスチャンスとする方法はないか、という点について今後考える必要がある。

Linux を擁するオープンソース・ソフトのプロセスをつぶす方法についての一般的な評価は、「オープンソース・ソフト」文書に含まれている。

Linux をつぶすには

UNIX をつぶせ

Linux の成功に貢献した唯一最大の要因は、UNIX 市場が確立しているからである。UNIX を体系的にたたけば、特に Linux を攻撃する役にもたつ。この領域で、Linux を標的とした手段としては(網羅的ではないが)以下のようなものがある:

今日の Linux 導入状況を見ると、スケーラビリティは、相互運用、信頼性、楽な管理ほどには問題となっていない。

Windows NT をモジュール化、組み込み型にせよ

ほかの UNIX に比べて Linux はもっとカスタム化が容易だとされている。この特徴に対抗するには、いまの組み込み型 Windows NT プロジェクト以上のものが要求される。もっとコンポーネント化をすすめ、さらに全般に NT 内部の相互依存性を減らせば、安定性を高めるうえでも役に立つだけでなく、技能の高いユーザやシステム管理者に、特定タスクに特化した NT のインストールを可能にしてくれる。

このためには:

共有プロトコルやサービスをつぶせ

Linux の基盤は、現在は共有ネットワークとサーバインフラである。拡張機能を現在の共有サービスに織り込むことで、われわれはハードルをあげてこの商売のルールを変えてしまえる。

OSS 論文内で挙げた具体的な提案をいくつか述べると:

ISV(情報システムベンダー)にテコ入れして、システムを改良させるようにする。

Linux が誇る長期的な優位は、中核プラットホームのさまざまな分野を喜んで改良しようとする巨大な開発者プールである。マイクロソフトは、どうやってもこれに太刀打ちできる頭数はそろえられない。

これに対抗するキーとなる仕組みは、ISV (情報システムベンダー)たちがカスタム化された垂直統合アプリケーションのために、NT のシステムコンポーネントを容易に拡張できるようにする(そしてそうするインセンティブを提供する)ことである。この一例としては、Veritas の NT 用特殊ファイルシステムドライバなどが挙げられる。

"WinTone"

Linux のモジュール性とカスタム化のしやすさは、さまざまな Linux のインストールで提供されるサービスがまちまちになるということを意味する。マイクロソフトはすべての OS リリースで全面的に提供されるようなサービス群を提供することで(目下のこのための活動としては WBEM ベースの管理が挙げられる)、ネットワーク上での数多くのデバイスを組み合わせたときに生じるようなネットワーク外部性をつくりだすことができる。

いいかえると、 Linux が極度にモジュール化されているために、 "Linux ロゴつき" アプリケーションというものの持つ意味が薄れてしまうのである。一方の Windows はモノリシックなため、アプリケーション開発者としても、API に何ができるかという点で、いろいろ入り込む余地が大きいのである。

プロセスの弱点

マイクロソフトが Linux に対して弱いのはどこだろうか。すでに述べたとおり、おもな脅威はクライアントよりはサーバ側にある。

Linux は NT サーバの機能のいちばん「おいしいところをかっさらう」

Linux コミュニティは、ニーズに応えるものであればほかの OS の機能を積極的にまねする。この結果として、超長期的には NT が開発資金を投入して NT に新しい機能をたくさん追加しても、Linux はあっさりその最高の機能をいいとこどりして、それを自分のコードベースに追加するだけ、という脅威が存在する。

Linux への対抗手段として、特許権や著作権を使う有効性については、今後検討を要する。

Linux は MS の「リリースは『3度目の正直』からが本番」メリット(the MS "3rd release is a charm" advantage)を再現している――しかももっと高速に

マイクロソフトの市場競争力は、製品そのものよりはむしろ、われわれのフィードバックによる改善プロセスから生じるものである。マイクロソフト製品の最初のリリースは、しばしば市場でもあまりよい成績をあげず、消費者からのきめの細かいフィードバックを生むのが主眼となる。おなじように、Linux もフィードバックによる改善が可能だということを実証している――しかもわれわれより何層倍も高速に。その裏返しとして、われわれの製品はリリースごとにかなり大規模な修正を加えていると言えるが、 Linux はリリースを加えるときにも、ほとんどは単なるバグフィックスでしかないともいえる。

{ まったく、ただのバグフィックスでリリースを出すなんてあるわけないではないの。 }



改訂履歴

Date

Revision

Comments

8/03/98

0.95

 

8/10/98

0.97

改訂履歴表を追加

SUN の非商業利用ライセンスについてのコメントを追加。

デスクトップ vs. サーバ問題についてのリーヌスの発言を追加。

8/11/1998

1.00

性能比較表を追加、最初のリリースを公開。

 

訳者付記:文中の誤字や変換ミスについて、多数の方からご教示をいただいた。ありがとうございます。またうえやまるい氏(rui@po.teleway.ne.jp)からは、各種翻訳上の改善点についてご指摘いただいた。多謝。


ハロウィーン文書トップ
YAMAGATA Hiroo (hiyori13@mailhost.net)