TITLE : Halloween II: Japanese { Halloween II -- 1.3} Linux OS の競争力分析 ――Java VM の二の舞か? 原文はhttp://www.opensource.org/halloween2.htmlをどうぞ。 原文:マイクロソフト社内部文書 注釈:エリック・S・レイモンド  翻訳:山形浩生 { このメモは明らかに、ぼくが最初に注釈をつけたオープンソースについての「ハロウィーン文書」(いまではハロウィーン I <./halloween1j.html>; まずこっちを先に見てね)の続きとして書かれたものだ。ハロウィーン II は、元マイクロソフト社員から 1998 年 11 月 3 日にリークされた。ぼくがハロウィーン I を公開した三日後で、どうやら I の全国的なマスコミ報道の直接的な結果らしい。 こちらはハロウィーン I にくらべて、マイクロソフトの意図や戦略について述べている部分はずっと少ない。一方で、OS 顧客でマイクロソフトの信用度を Linux ベンダーの信用度とつきあわせて評価しようとしている人にとっては、もっと直接的に便利な文書となっている。 この文脈で見ると、Linux の市場シェア、性能、信頼性、サーバとしての有効性について、著者がきわめて肯定的な評価を下しているのは興味深い ―― これはマイクロソフトがいままで行ってきた、「まるで相手にしない」的な発言とはまったく逆のものになっている。 実際には、読者のみなさんは、ここでの肯定的な評価の多くは、まだ完全な事実よりは低いところでとどまっていることを念頭においたほうがいいだろう。それが物語っているのは現実というよりは、マイクロソフト社員が社内的にすらここまでしか認知できないという限界のほうなのだ。 -------------------------------------------- さわりを引用すると……  この文書のさわりを引用してみよう。リンクも埋め込んである。ちなみに、文中の「 OSS 」というのは、この著者流のオープンソース・ソフトの略。 *<#quote1> Linux はもっともできのいい UNIX であり、ミッションクリティカルなアプリケーションでも信頼されており、そして――オープンソースのコードゆえ――長期的な信用も持っており、それはその他多くの競合 OS をしのぐ。 *<#quote2> Linux に移行したときに必要となるような主要アプリケーションは、すでにフリーで提供されている。これには web サーバ、 POP クライアント、メールサーバ、テキストエディタなどが含まれる。 *<#quote3> 高度な Win32 GUI ユーザなら、(Linux のもとで)ほんの短い学習期間でそれなりの作業ができるようになるだろう。 *<#quote4> もともとこの試験用 PC でわたしは IE4/NT4 を走らせていたが、それと比較して Linux / Navigator の組み合わせは、単純な HTML + グラフィクスを描画するときには、少なくとも 30-40% の速度向上が感じられた。 *<#quote5> 長期的には、わたしの簡単な実験から見ても、確かに Linux はデスクトップ市場で成功する可能性を持っている。. *<#quote6> 消費者に大好評。 *<#quote6> Linux の(現実か印象かは問わず) Windows NT に対する長所を挙げると(中略)カスタマイズの容易さ(中略)入手の容易さと信頼性(中略)スケーラビリティと性能(中略)相互運用性(後略) *<#quote7> Linux は、たちあがりつつある thin サーバ市場で主要 OS として台頭している。 *<#quote8> 今日のサーバに対する要件をもとに、多くの高ボリュームアプリケーションで、Linux は商業的に開発されたサーバを立派に代替できるものとなっている。 *<#quote9> Linux への対抗手段として、特許権や著作権を使う有効性については、今後検討を要する。 *<#quote10> ただし、Compaq や Dell はたんに Linux の採用を確かな形で匂わせるだけで、OEM OS の価格を引き下げるよう主張できることに注意すべきである。 以上の引用をまとめるにあたって、単にハロウィーン I <./halloween1j.html>で見られる内容を繰り返しただけのものは省いてある。. -------------------------------------------- この文書の読み方 {}で囲んであって緑で書いてあるコメントはぼく (Eric S. Raymond)のもの。原文のなかで重要と思った部分は、赤くしておいた。コメントはこういう重要部分の近くに入れてある。このコメントの索引を順に読んでいくと、文書を一通り流し読みできる。 1<#quote1> 2<#quote2> 3<#quote3> 4<#quote4> 5<#quote5> 6<#quote6> 7<#quote7> 8<#quote8> 9<#quote9> -------------------------------------------- 脅威の程度評価  このメモは、Linux を止めるには標準プロトコルを「脱共有化(de-commoditized)」すればいい――つまり互換性のない拡張でゆがめて、その後で顧客をロックインするために使えばいい、という陰湿な提案を繰り返している。この脅威については、「ハロウィーン I <./halloween1j.html>」の注釈でくわしく論じておいた。  このメモはまた、Linux は特許権侵害の訴訟を通じて攻撃すればいいという提案もしている。 -------------------------------------------- この文書の履歴 1.1 -- 最初のバージョン、1998 年 11 月 3-4 日に作成。 1.2 -- コメントを大幅追加、1998 年 11 月 5 日。 1.3 -- 多少の訂正と追加、1998 年 11 月 6 日。 } Vinod Valloppillil (VinodV) Josh Cohen (JoshCo) Aug 11, 1998 - v1.00 マイクロソフト社外秘 Table of Contents 目次 *<#_Toc427383632> Executive Summary *<#_Toc427383633> Linux の歴史 *<#_Toc427383634> Linux とはなにか *<#_Toc427383635> Linux の歴史 *<#_Toc427383636> 組織 *<#_Toc427383637> Linux の技術分析と OS の構造 *<#_Toc427383638> ある配布パッケージの解剖 *<#_Toc427383639> カーネル - GPL *<#_Toc427383640> システムライブラリとアプリケーション - GNU GPL *<#_Toc427383641> 開発ツール (GPL) *<#_Toc427383642> GUI / UI *<#_Toc427383643> 商業 Linux OS *<#_Toc427383644> バイナリ互換 *<#_Toc427383645> RedHat *<#_Toc427383646> Caldera *<#_Toc427383647> その他 *<#_Toc427383648> 商業 Linux ISV *<#_Toc427383649> 市場シェア *<#_Toc427383650> インストールベース *<#_Toc427383651> サーバ *<#_Toc427383652> クライアント *<#_Toc427383653> パッケージの市場シェア *<#_Toc427383654> Linux の定性評価 *<#_Toc427383655> インストール *<#_Toc427383656> UI *<#_Toc427383657> ネットワーク *<#_Toc427383658> アプリケーション *<#_Toc427383659> 体感速度 *<#_Toc427383660> 結論 *<#_Toc427383661> Linux の競争力 *<#_Toc427383662> 消費者に大好評。 *<#_Toc427383663> Linux vs. NT *<#_Toc427383664> Linux vs. Java *<#_Toc427383665> Linux vs. SunOS/Solaris *<#_Toc427383666> サーバ上での Linux *<#_Toc427383667> ネットワークインフラ *<#_Toc427383668> ISP の採用 *<#_Toc427383669> Thin サーバ *<#_Toc427383670> ケーススタディ:Cisco Systems, Inc. *<#_Toc427383671> クライアント上での Linux *<#_Toc427383672> アプリケーションと GUI の混乱 *<#_Toc427383673> Unix 開発者 *<#_Toc427383674> PC 以外のデバイス *<#_Toc427383675> Linux :その将来予想 *<#_Toc427383676> 最近の活動と Linux の未来 *<#_Toc427383677> 追いついてからの成長 *<#_Toc427383678> Linux の強み *<#_Toc427383679> Linux の弱み *<#_Toc427383680> 最悪ケース・シナリオ想定 *<#_Toc427383681> 次のステップとマイクロソフトの対応 *<#_Toc427383682> Linux をつぶすには *<#_Toc427383683> プロセスの弱点 *<#_Toc427383684> 改訂履歴 *<#_Toc427383685> 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 年強にわたる教訓を強力に活かして生まれてきた。 最大の特徴: * マルチユーザ、マルチスレッド(カーネルとユーザ) * マルチプラットホーム(x86、 Alpha, MIPS, PowerPC, SPARCなど) * アプリ用には 32 ビット保護メモリ空間、仮想メモリサポート(64ビット版開発中) * SMP (Intel と Sun の CPU で) * 複数のファイルシステムをサポート(FAT16, FAT32, NTFS, Ext2FS) * 高性能ネットワーク * NFS/SMB/IPX/Appletalk ネットワーク * Unix 同士の性能テストでは最高速のスタック * ディスク管理 * ストライピング、ミラーリング、FAT16, FAT32, NTFS * Xfree86 GUI Linux の歴史 Linux OS の歴史についての見事なまとめを Wired 誌が行っている。記事は http://www.wired.com/wired/5.08/linux.html(訳注:邦訳は『ワイアード』 4.03 、1998 年 3 月号に掲載)。ここではそこから要点をいくつか以下にまとめる。 { リンクちがい。正しくは http://www.wired.com/wired/archive/5.08/linux.html } 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 を入手するための中心的な場所はなかった。 主要機能: * 仮想メモリ管理 / メモリマッピング / バッファキャッシュ * ジョブ制御 * 主要なネットワークカードやハードドライブ、CD-ROM などのデバイスサポート * 名前付きパイプと IPC * Minix fs にかわる独自の EXTFS サポート * プリエンプティブ・マルチタスキング コードの管理方式 バージョン 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 の公式カーネルとすることに合意している。 新しい基本ライブラリやツールは以下のとおり: * カーネルモジュール 2.0.0 - 基本カーネルモジュールのサポート * PPP デーモン 2.2.0f - ダイヤルアップ・ネットワーク * ダイナミック・リンカ (ld.so) 1.7.14 - 共有ライブラリ * GNU CC 2.7.2 - C コンパイラ、ツール、デバッガ * Binutils 2.6.0.14 - さまざまなバイナリ実行ファイル形式のサポート * Linux C ライブラリ安定版: 5.2.18, * Linux C++ ライブラリ 2.7.1.4 * Termcap 2.0.8 - コンソールモードのターミナルドライバ * Procps 1.01 - ProcFS ファイルシステム。カーネルオブジェクトをファイルシステムにマッピング * SysVinit 2.64 - A system V ブートシステム、 SYSV 準拠の名前つきパイプ * Net-tools 1.32-alpha- telnet, finger などの基本的なネットワークツール * Kbd 0.91 - コンソールモードのキーボード、スクロールバック、仮想スクリーンのサポート その後のバージョン 現在の 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/archive/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 カーネルに含まれる機能としては: * 核となる OS 機能(スケジューリング、メモリ管理、スレッド、ハードウェアアブストラクションなど) * ネットワークスタック * ファイルシステム Linux カーネル・アーキテクチャやコンポーネントについての詳細なオンライン文書は以下にある: http://sunsite.unc.edu/linux/LDP/tlk/tlk.html ビデオドライバはカーネル内にはおかれていないことに注目。カーネルは、単純なコンソールへのテキスト出力ができるだけである。 ドライバ -- GPL 標準的な機能やデバイス用モジュールつめあわせが、カーネルパッケージには含まれているのがふつうである。さらに、あまり標準的でないモジュール群も含まれることが多い。 ほとんどは GPL だが、一部の例ではドライバを書くのに必要な仕様を入手するのに、ハードウェアメーカーとの NDA が必要になるため、それはオープンソースにはならない。 Linux のデバイスドライバは、ユーザが自分のマシンにある特定のデバイス用に書いたものであることが多い。この段階的なつぎはぎプロセスは、Linux 用のデバイスドライバの巨大なプールをつくりだしてきた( 7/1/98 現在): * ビデオ: http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO-6.html -- 400 近いドライバがある * ネットワーク: http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO-11.html -- ~75 種類のネットワークカードがサポートされている * PCMCIA http://sunsite.unc.edu/LDP/HOWTO/Hardware-HOWTO-26.html -- ~150 種類のカードをサポート NatBro の指摘では: この多数のドライバを産んだ重要な特性としては、Linux 用のドライバを書くのがとても簡単で、しかも Linux 用のデバッグインフラはかなり強力だということが挙げられる。 NT の場合、DDK をみつけてインストールし、カーネルデバッガをきちんと立ち上げて、ユーザモードでなんらかの操作をして、システム自体をむちゃくちゃにしてしまわないようにするだけでも、Linux 用に簡単なデバイスドライバを書くよりずっとむずかしい。「Linux デバイスドライバ」みたいな本があえば、どんなバカでもドライバを 2 日で書けるようになる。 NT には、2 日で書けるドライバなんてあり得ない。 最近では、一部のハードウェアメーカが、自社の NIC (3Com) や SCSI アダプタ (Adaptec) 用にドライバを提供しはじめている。これらのドライバはライブラリ GPL で守られており、結果としてオープンソースではないと考えられている(ライブラリ GPL については後述)。これで勢いがついて、Linux 用の商業ドライバが開発されるようになるかは、今後注目される。 システムライブラリとアプリケーション - GNU GPL システムライブラリが提供するのは: * システムサービス用の基本的な POSIX api * コマンドラインやシェルユーティリティをサポートするための基本 API 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 パッケージはふつう、どれか似たような、だが完全には互換性のないウィジェットをどれか選ぶことになる。 * Motif * LessTif * Xaw3d (3d athena ウィジェット。 motif と似ている) * QT 当然ながら、この混乱ぶりのため、「デスクトップ」とウィジェットを統合しようという動きがいくつか生まれている。いかにも Linux らしく、ここでもいくつかの活動が競合している。 * Gnome/まったく新しく書き直す試み * KDE * FreeQT/KDE * CDE/商業 -------------------------------------------- 商業 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 パッケージマネージャ - RPM はアプリケーションのインストールや管理機能を提供する Linux コンポーネントであり、マイクロソフトで開発中のアプリケーションマニフェストと似ている。 * プラグイン可能な認証マネージャ - PAM は NT SSPI / SAM システムと似ていて、コンポーネント化されたプラグインが認証機能を扱えるようにする(RedHat は LDAP プラグインを提供している)。 PAM はもともと Sun のシステムで提供されていた。 しかし最大の「寄付」は、いまや隅々まで普及した "Redhat Package Manager" あるいは RPM であり、これはいまやほとんどあらゆる Linux パッケージについてくる。RPM はアプリケーションマニフェストの考え方を創り出しており、これが Linux 上でのインストールやアンインストールを簡単にしてくれる。 Redhat が現在開発中のプロジェクトは、Linux 用の新しい GUI で、"Gnome" と呼ばれる。Gnome は、X-windows ユーザインターフェースが GPL でないことについての懸念に応えて生まれてきた。 製品の特徴 商業 Linux パッケージのなかで、 Redhat は最大の数の SKU を持っている(訳注:SKU は Store Keeping Unit の略であろうとのご指摘を細貝俊夫@有限会社ちえの和さんよりいただいた。ありがとうございます。)いちばんハイエンドの製品では、 Redhat のパッケージには以下のようなものがバンドルされている: * Apache Web サーバ * Corel WordPerfect * Casemaker の DBMaker DBMS * Xfree86 ウィンドウサーバ { ちょっとまちがい。 Red Hat に Corel WordPerfect はバンドルされていない。 } Caldera Caldera は Ray Noorda の 最新の会社であり、OS 市場をねらっている。 Caldera の財務資料や売り上げは公表されていないが、商業 Linux ベンダーとしては、RedHat に続く第二位と思われている。 Caldera は、自分たちの Linux にいくつかコンポーネントをバンドルしている。その主なものとしては: * StarOffice 4.0 (ドイツの Star Corp.) * Adabas SQL サーバ(Software AG) * Netware クライアント & 管理Admin * Netscape fasttrack サーバ + communicator * Xfree86 と MetroX X-window systems その他 その他の 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 が存在しないのだろうか。 * 真っ先に使うような Linux アプリケーションはフリーである。 - Linux に移行したときに必要となるような主要アプリケーションは、すでにフリーで提供されている。これには web サーバ、 POP クライアント、メールサーバ、テキストエディタなどが含まれる。 * Linux 市場はまだ未成熟。- Linux 市場はまだ幼年期にあって、現在の Linux 向け商業ソフトの状況は、近い将来に大きく変わる可能性がある。 * いまの Linux ユーザは商業製品を嫌う。 - いろいろな Linux 系ニュースグループやメーリングリストを漁ってみると、商業ソフトプロバイダを糾弾して、XXXX のソフトウェア分野に対してオープンソースソフトの聖戦をしかけようと主張するユーザたちにすぐにお目にかかれる(執筆時点でのよくある攻撃目標は Lotus Notes であった)。 ライブラリ-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 と、おおむねバイナリ互換性を持つ(デスクトップより、サーバのほうがその場合が多い): * Solaris/SunOS on SPARC * Solaris on x86 * SCO on x86 * Digital UNIX on Alpha * SGI IRIX on MIPs { 著者は混乱している。 Linux は上記のいずれともバイナリ互換性はない。ソース-コンパチである。 } マイクロソフト マイクロソフトの現時点での 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 は anonymous FTP サイトからダウンロードされたもので、購入されたものではない。したがって、公表売り上げ数などは存在しない。 * 商業 Linux が購入されても、複数のマシンへのインストールに使える(こともある)。 * Linux は改訂がはやいので、ダウンロードや購入状況だけを見ると、実際のインストール数をダブルカウントする可能性がきわめて高い。 * クライアントとサーバでパッケージがわかれていない。したがって、Linux コミュニティからの正確な利用状況データが手に入らない以上、Linux の数字を丸ごと NTS / NTW の数字と比べるのはむずかしい。 以下に、Linux のユーザ数を特定しようとする試みのなかでも主立ったものについて、データや参照先を挙げる: インストールベース もっとも総合的な Linux 市場シェア調査は、1998 年 3 月に Red Hat が発表したものである:http://www.redhat.com/redhat/linuxmarket.html ほかのパッケージについて公表されているデータを使って、RedHat は小売り CD 販売量を以下のように計算している: * 1996: 450,000 * 1997: 750,000 RedHat の推計では、Linux のインストールベース(これには CD 購入とダウンロードとクライアントもサーバも含まれる)の成長の推計は次のとおり: * 1993: 100k * 1994: 500k * 1995: 1.5M * 1996: 3.5M * 1997: 7.5M その他の推計では、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 のプロンプトでは以下のようなことをきかれる: * 言語の選択(将来的には、Linux が提供しているローカリゼーションの深さをもっときちんと調べるのが研究課題としておもしろかろう)。 * キーボードの選択 * IDE ハードディスクと CD ROM デバイスの検出。 質問の仕方には改善の余地がかなりある(たとえば二重否定で出されている質問が多い:(例: "Should setup disable plug & play device detection (yes/no)")。しかしこの段階まで、パワーユーザがまともに答えられないような質問はまったくきかれなかった。 もう一度デバイス検出が行われて、これで以下のデバイスが見事に検出されている: * Adaptec SCSI アダプタ * Plextor CD-ROM ドライブ * Seagate ハードディスク * 3Com 3c509 Ethernet アダプタ それぞれのデバイス設定はデフォルトを選び、インストールオプションでは「普通」を選んだ。すると LISA がファイルのコピーを始めた。 インストール/設定のこの部分は 30 分で終わった(そのほとんどがファイルのコピーの時間)。ダイアログ・ボックスは 15 個である。 UI すでに述べたとおり、NT にくらべて UNIX / Linux が変わっているところとしては、ビデオドライバがユーザ空間で走り、多くのシステム機能では必要でないという点である。 Linux はただのコマンドプロンプトさえあればなにも文句はいわない。 GUI をインストールするには、別のインストールをしなくてはならない。インストーラは、どのビデオサブシステムをインストール・設定するかきいてくる。わたしは Xfree86 サーバを選んだ、これが完全にオープンソースだったからだ(もう一つのオプション - MetroX - は Caldera から提供されており、もっと安定したコードベースとされている)。 セットアップのこの部分は、まちがいなく多くのパワーユーザでさえ手に負えないようなビデオシステムの知識を必要とする。自分のビデオカードやチップセットの名称、バージョン、モデルが必要だったばかりか、そのリビジョンやモニタの走査周波数などまできかれた。相当の試行錯誤の末、やっとビデオシステムがきちんと動いた。 最新の Xfree86 + CDE はシャープで、明らかに最高の UNIX GUI の一つである。 SUN のデスクトップユーザなら、まったく違和感を感じないはずだ。高度な Win32 GUI ユーザなら、ほんの短い学習期間でそれなりの作業ができるようになるだろう。 しかしながら UNIX 哲学にしたがって、 GUI をマスターしただけでは、システムを完全には使いこなせない。フロッピーからディスクを読むといった単純な作業でさえ、まずはターミナルウィンドウに入って、administrator としてログインして、ややこしい "mount" コマンドを走らせる必要がある。 ネットワーク ネットワークでの体験から、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 文書にも説明があった。 ここでの主要な発見: * 一般に信じられているのとはちがい、これはオープンソースなのに、基本機能が動くまで、わたしは `C' コードはまったくいじらずにすんだ。 * ドライバの作者とドキュメンテーションの著者は、地理的にまったく離れた人同士だった。 * GPL と段階的改善プロセスは、Cable Modem/ADSL 拡張でもわかるように、早速機能していた。 * もっとも重要な点として: OSS 文書で NatBro が指摘したプロセス――「そこそこでしかない UNIX プログラマでも、Linux ではすごいことができるように成長できる」。わたしは UNIX プログラマとしてはあまり技能がないが、しかし DHCP クライアントのコードを追加的に拡張するにはどうしたらいいか、すぐに思いついた。(その気分は爽快で、くせになりそうだった)。 { おおおおお。フォースの光の側にとらわれてしまうとはね。たぶん洗脳をもとに戻すために、このあと数週間くらい、マイクロソフト再訓練キャンプにでも送られたんじゃないかな、この人?} くわえて、まさに GPL と、完全な開発環境が目の前にあるおかげで、わたしはものの数時間もあれば、自分の変更点を書いてそれを電子メールで送れる立場にあったわけだ(NT でこの手のことをやる場合とはおおちがいだ)。そのプロセスに参加すれば、将来的に、もっと大きく野心的な Linux プロジェクトにも参加できるようになっただろう。 アプリケーション Caldera は、ドイツの Star Corp の StarOffice をバンドルしている。StarOffice は、スイート分野では、Corel (RedHat にバンドル)と Lotus に続く「二軍」競合製品として、MS のオフィスチームにはよく知られている。 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 インスタンス同時に走らせると、性能はほとんど停止に等しい状態となって、マウスの反応もなくなり、キーボードコマンドも受け付けなくなって、リブートするしかなかった。 結論 多少の開発者経験をつんだユーザであれば、オープンソースの提供する無限のカスタム可能性のため、それを使って大いに楽しめるだろう。システムの変更しやすさとそのプロセスの一貫性は、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 に対する長所を挙げると: * カスタマイズの容易さ - Linux は特定タスクに向けていくらでもカスタム化できる――上は GFLOP クラスタ化ワークステーションから、下は専用押し入れ DNS サーバ を 500K RAM の 486 マシンにインストールする、など――ので、 Linux は DNS, File, Mail, Web など、孤立した単一タスクのサーバにはごく自然の選択となる。厳密なアプリケーションと OS のコンポーネント化に、あらかじめ内部構造がむきだしになっている点が加わって、 Linux は理想的なものとなっている。 サーバの数(そして結果的には単一タスクへの特化)は増えていくので、ここでの脅威はますます大きなものとなる。複数のサービスを走らせるモノリシックなサーバよりは、単一サーバを複数走らせるほうが、デバッグも簡単だしシステムダウンの原因も特定しやすいので、顧客はそちらを好む。 * 入手の容易さと信頼性 - インストールしてから1年以上も連続で動き続けている Linux のはなしは、Web 上に何百となく存在している。Linux 開発コミュニティにとって、ほかのほとんどなによりも安定性こそが重要視されている(そして安定性は、 Windows で指摘される最大の弱点でもある)。 * スケーラビリティと性能 - Linux はネットワークやプロセス面で NT より高速とされる。特にサーバとしては、Linux のモジュール化されたアーキテクチャのおかげで、管理者はグラフィクスなどの無関係なサブシステムを切って、特定サービスで極限性能を発揮してくれるようにできる。 * 相互運用性- この世のあらゆるオープンプロトコル(そして多くのクローズド・プロトコルも)は Linux に移植されている。 Windows 環境では、 SAMBA チームの作業のおかげで、 Linux は 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 がこの市場で強いのかという理由には、以下のようなものがある: * Unix の遺産 - サーバ市場派、特にハイエンドでは、すでに UNIX やインターネットベースのフリーウェアなどをよく知っており、使いこなせる * 利用者がプロ - ハイエンドサーバ管理者は、開発者/パワーユーザでもあって、したがってアプリケーションの再コンパイルなどにも不安を感じない。 * 「一般的」サービス - 一般的サービスとは、オープンで最低の共通ラインを提供するプロトコル(DNS, SMTP など)で定義されたサービスである。サーバで実験しても、下流のクライアント活動にはあまり影響しないため、ハードルが低い。 * 専用機能 - サーバは典型的には単一機能(たとえばメール、ファイル・プリント、データベースなど)、組織の中で要求される、ほかのサービスやデバイスとの統合のレベルはずっと低い。 ネットワークインフラ Linux がよく使われるのは、共有であまりパワーのいらない、高信頼性の要求されるネットワークインフラサービス用にである。たとえば: * DNS * DHCP * プリントサーバ * ファイルサーバ ISP による採用 Linux の中核的なユーザベースの一つが ISP である。この主な理由としては以下が挙げられる: * コスト - ISP は、あわれなほど低い利ざやで運営されている。 Linux は無料で、サポートするハードも広いため、とても魅力的となる。 * 保守の容易さ - ISP ではなにかが壊れたら、即座になおす必要がある。大きな ISP では、コードの問題をデバッグしたり、少なくとも出回っているパッチをすぐにあてるような技術力は十分にある。リモート管理可能であることも、重要な特性である。 * 信頼性 - Linux 以外の OS (特に Windows NT )が信頼性が低くてスケーラブルでないという印象。 * UNIX が背景にあること - ISP は伝統的に Unix の巣窟である。ISP シスアドたちは、ややこしい UNIX コマンドライン管理やリモート管理などにたっぷり毒されている。そもそも UNIX の強みにならされている集団において、 Linux は最高の UNIX と考えられているのである。 Thin サーバ Linux は、たちあがりつつある thin サーバ市場で主要 OS として台頭している。 * ソースコードが手に入る - フリーで入手可能なソースコードのため、OS のカスタム化が容易。 * 共有プロトコル - Thin サーバは HTTP, SMTP, SMBとても簡単で拡張性の低い、共有プロトコルをクライアントに対して使用する。 * モジュール性と小ささ - この OS は、そもそもがまるで統合されないコンポーネント化された形で設計されているため、モニタやキーボードなどのないコンピュータをつくるのも容易である。 * コスト - もちろん組み込み機器の利ざやはとても低く、無料 OS はありがたい。 * コード保守 - Linux ソースはたえずアップグレードされているので、組み込み機器の開発者は、新しい変更やフィックスがいつでも自分のシステムに入れ込めると安心できる。 * ツールの入手容易さ -Unix ツールは、目下の組み込み用開発ツール群などよりずっと強力である。 Linux ベースのもっとも有力な thin サーバは、 Cobalt Microserver (http://www.cobaltmicro.com) である。その他の thin サーバベンダ(特に Whistle Interjet) は FreeBSD ベースの製品を使っている。 ケーススタディ: Cisco Systems, Inc. IDC は、大規模に Linux を導入した企業情報部 3 つについての調査を発表している。 Cisco は数百もの Linux サーバを全社的に導入して、以下のような機能を果たさせている: * NFS/SMB サーバ * プリントサーバ (LPD & SMB) * 小規模オフィス事務 (ApplixWare オフィススイート、Netscape Navigator) * WWW サーバ & Proxy * ソフト開発 -------------------------------------------- クライアント上での 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 のコンセプト(クローズボタン、ドロップダウンメニュー、ダイアログボックスなど)を表象するものであるため、利用者はちがったルック&フィールを経験し、しばしば使い方まで異なっていたりする。 ウィジェットに加え、「デスクトップ」または「シェル」もフォークしている。シェルの世界での主要なプレーヤーは以下の通り: * Common Desktop Environment (CDE) -- 主要商業 Unix メーカーの協力による。しかしながら CDE は GPL ではなく、結果として複数の Linux グループが CDE にかわるものを作りだそうとしている。 CDE は Linux 用にも提供されている。 * K Desktop Environment (KDE) - 「フリーの」 CDE クローン。 KDE は CDE のあらゆる機能を再現しているが、ウィジェットは提供していない(現実問題として、ウィジェットにはデスクトップよりもっと多くのコードが必要となる)。このため KDE 開発者たちは QT ウィジェットを使うことにした。これはライセンスがいちばん柔軟で(しかし GPL ではない)、ほとんどの UNIX と互換性があった。しかしこのために、熱狂的 GPL 支持者たちの最後の一団がたちあがってつくったのが・・・ * Gnome - 革新的な新しい UI 活動で、おおまかに X-windows にもとづきながら、 CORBA をデスクトップに組み込もうとしている。野心的な試みではあり、 CDE より革新的ではあるが、完成にはほど遠く、アプリケーションのサポートも弱い。 単一の、顧客重視によるマネジメントがないために、さまざまな活動同士がお互いに譲ろうとせず、Linux プロセスにおける管理コストの高さを実証することとなっている。 Unix 開発者 クライアントとしての Linux は、UNIX 開発者に歓迎されることとなった。多くの開発者は開発用マシンでは Linux を使い、ほかの UNIX プラットホーム用にコードを書いている。オープンソースのあるプラットホーム上でデバッグをする容易さについてはあちこちで述べられている。 PC 以外のデバイス Corel の NC デバイスは、Linux 派生 OS に基づいていた。しかしこうした試みは、その後中断した(そして Corel の開発したアプリケーションレベルのコードは、 OSS コミュニティに戻されている)。 -------------------------------------------- Linux :その将来予想 最近の活動と Linux の未来 Linux OS のさまざまな部分を改善すべく、文字通り何百という小さな研究プロジェクトが活動している。 主要なプロジェクトとしては: * Linux 2.2 - 要望の高い機能の実現、たとえばもっと深い RAID のサポート(現在では RAID 0, 1, 5 がサポートされている)、ボリューム管理、ファイルシステムの性能向上、非同期 I/O や完了ポート( completion ports)、Ipv6など。機能のみごとな要約は: http://lwn.net/980730/a/2.2chFinal.html. * Linux 3.0 -- リーヌスの予測では、カーネルの次期バージョンはもっと優れた SMP スケーラビリティを導入して、クラスタリング問題にとりくみはじめるとのこと。開発はまだ始まってもいない状態であり、したがって詳細やその精度についてはきわめて怪しい。 * Beowulf クラスタリング - Beowulf は今日の Linux で走る、何も共有しないクラスタ(shared nothing cluster)である。サブプロセスをリモートホストにばらまいて計算させるような、専用に開発されたアプリケーションを必要とする。このため、これは WolfPack の本当の競合相手とはいえず、また Beowulf の秘密のほとんどは、システムサービスよりはアプリケーションにある。しかしながらマスコミの好む話として、 Beowulf クラスタはしかるべきソフトさえあれば、スーパーコンピュータ並のパワーを発揮する(NCSA の管理しているスーパーコンピュータのトップ 500 の中で、10 GFLOP をたたき出して 315 位につけている)。 * DIPC - 分散プロセス間制御パック。クライアントのアプリケーションに、通常の IPC 機能(セマフォ、共有メモリなど)を加えると同時に、こうした機能をリモートのネットワークホストに送ることができる。 * GNOME -- Linux のための次世代 UI 活動であり、おおまかに X-windows + CORBA に基づいている。詳しくは http://www.gnome.org を参照。Gnome の中心開発者たちの多くは RedHat で働いている。 追いついてからの成長 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 収入を失うが、もっと広くハードを売れるようになるのは魅力だろう。 しかし Linux の採用は、もしかれらの SPARC 事業が Intel の技術革新速度に追いつけなかった場合には、 Sun を大きなリスクにさらすことになる。 4.標準を先取り - マイクロソフト標準をつぶせ。 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 を標的とした手段としては(網羅的ではないが)以下のようなものがある: * ローエンドでの「IAM」を改善 ―― ミッションクリティカルなハイエンドのアプリケーションで、NT より UNIX が使われる理由としてしばしば挙げられるのは、スケーラビリティ (Scaleability)、相互運用性 (Interoperability)、入手の容易さ (Availability)、管理しやすさ (Management)、つまりはいわゆる SIAM である。 今日の Linux 導入状況を見ると、スケーラビリティは、相互運用、信頼性、楽な管理ほどには問題となっていない。 * NT アドオンパックに Unix サービスを加える Windows NT をモジュール化、組み込み型にせよ ほかの UNIX に比べて Linux はもっとカスタム化が容易だとされている。この特徴に対抗するには、いまの組み込み型 Windows NT プロジェクト以上のものが要求される。もっとコンポーネント化をすすめ、さらに全般に NT 内部の相互依存性を減らせば、安定性を高めるうえでも役に立つだけでなく、技能の高いユーザやシステム管理者に、特定タスクに特化した NT のインストールを可能にしてくれる。 このためには: * 組み込み NT ツールキットが広範に普及すること * ツールキットの使い勝手を一層重視すること 共有プロトコルやサービスをつぶせ Linux の基盤は、現在は共有ネットワークとサーバインフラである。拡張機能を現在の共有サービスに織り込むことで、われわれはハードルをあげてこの商売のルールを変えてしまえる。 OSS 論文内で挙げた具体的な提案をいくつか述べると: * DNS のディレクトリとの統合。 ディレクトリ・サービスにてこいれして、ダイナミック・アップデートやセキュリティ、認証により DNS に付加価値を与える。 * HTTP-DAV。 DAV は複雑で、プロトコル仕様はさまざまなアプリケーションについて、果てしない実装上の複雑さを提供する。(例:DAV 上で Exchange を走らせるための設計は、まずくはないが、可能なデザインの唯一無二のものではない)。Apache は、DAV で実装すべき正しい最初の領域をどうやって選り分けて選択するか、相当に悩まざるをえないだろう。 * 構造化ストレージ. ファイルサーバ業界( Linux /Apache のアプリケーションのかなめ)におけるゲームの規則を変えてしまうこと。クライアント側に魅力的な優位性をつくりだして、それがサーバにも拡張できるようにせよ(例:クライアントとサーバのデータ保存を不均質な形で融合)。 * 分散アプリケーションのための MSMQ. MSMQ は、その価値のほとんどが線を流れるプロトコルではなく、サービスや実装にあるという分散技術の好例である。 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)からは、各種翻訳上の改善点についてご指摘いただいた。多謝。 ハロウィーン文書トップ<./halloween.html> ------------------------------------------------------------------------------- YAMAGATA Hiroo (hiyori13@mailhost.net)