Psychs氏の唱える"MSにとってのみWebサービスが持続的イノベーション"という主張については、OS自体の歴史とその変遷をみると説明できそうである。今回は未来のOSとWebサービスを一つの切り口から考察してみようと思う。
OSの未来像については、梅田氏の記事で紹介されていた、Tim O'Reillyの「InternetOperatingSystem(IOS)」がもっとも現実味のある構想だろう。
彼の主張によれば、次のパラダイムは疎結合されたサービスによって構成される集合体で、IOSが従来のOSに置き換わるという。つまりインターネットそのものがOSになるというコンセプトである。しかし、IOSには決定的に欠けているモノがある。それは、Tim O'Reillyの唱えるIOSが、従来のOSでいうカーネルやその上に乗っかるデーモンのような存在になったとして、それらのサービスを使うためのGUIに相当するモノだ。つまりIOSには、ユーザーインターフェースについて何の定義もないのである。
勿論、Webサービスによって疎結合が実現されるため、ユーザーインターフェースには様々な可能性があるだろう。しかし、IOSを構成するピースとして例に挙げられているGoogle,Amazon,Yahooのサービスを使うために、大多数のユーザーが"今"何を使っているを見れば、UI提示の役割を果たすモノが見えてきそうである。
答えは明快、Microsoft Windowsである。
ここで、OSの歴史を少し思い返してみよう。Unixは「分割し統治する」ことをポリシーにして、カーネルとその他の周辺モジュールを細かく切り刻み、モジュール化することを最優先にしてきた。そしてカーネルとインターフェース(Shell,GUI)は完全に分離された。一方、Microsoftは逆の道を進んだ。つまりカーネルとシェルを統合し、GUIも密結合する設計にしたのだ。Windowsは統合によって発展してきたとも言えよう。
ここで、元々単独で存在していたアプリケーションを挙げてみよう。日本語入力機能、ワードプロセッサ、表計算ソフト、ブラウザ、メーラ・・・。今、これらのアプリはどうなっているだろうか。IME,Word,Excel,IE,Outlook...だ。みなWindows及びMSの商品に統合されているのだ。さらに、次期Windowsでは仮想マシン(.NET)とデータベース(WinFS)とWebサービス(Indigo)とFlashPlayer(Avalon)とRSSアグリゲータまで(!)統合する模様である。ブラウザのOS統合の際には司法が牽制にはいったが、MSは見事に切り抜けた。OfficeとWindowsが分社化されるだけでも相当変わってきたはずなのだが・・・。
話を戻そう。Tim O'ReillyのIOSは美しく、そして理想的な世界だ。疎結合されたサービスによる協調動作というのは、Unixの古典的な哲学に通じるところがある。しかしこうした夢はこれまで数え切れないほど唱えられてきて、その成果はMSに搾取されてきた。これがコンピュータ業界のここ10年の歴史だ。
例えば、SUNは90年代前半から「The Network is Computer」というスローガンを掲げてUnixやJavaを開発してきた。昨今のインターネットの発展により、スタンドアロンのコンピューターの存在が逆に珍しくなったことを考えれば、このコンセプトに大きな間違いはなかったと言えよう。しかし、何故いまUnixは危機的状況に陥っているのか。それは、SUNの構想においても、やはりユーザーインターフェースがしっかり定義されておらず、MSのOS統合戦略に飲み込まれてしまったからである。
少し見方を変えれば、MSはOSに統合するものが欲しくなった時にユーザー/開発者にある特定の技術を提供してきたと捉えることもできるだろう。そして十分に実ったところであらゆる手段を用いて収穫を奪取し、Windowsに取り込んできたのだ。つまり、Psychs氏の言う"MSにとってのみWebサービスは持続的イノベーション"というのは、要素技術をOSに統合してきたこれまでの流れの一貫と考えることもできるのだ。
ここで、次のような反論があるかもしれない。「WebサービスはUIと機能を完全に分離する。クライアントがWindowsである必要がなくなるはずだ(!)」。しかし、MSにとって相互接続性が確立される技術は、OS統合の際に用いる素材に過ぎないのだ。そして統合に際しては、巧妙な仕掛けを組み込んで「密結合」を実現させてしまう。(ここで言う「密結合」とはWindows依存にすることと等価である。)
近年でもっともわかりやすい例はHTMLだろう。Webページを記述する言語はW3Cで厳密に定義されており、クライアントフリーなWebシステムが多数生まれるはずであった。しかし、現実はIE限定のJScriptとCSSで彩られたWindows用Webページの氾濫なのだ。(Mozillaは頑張ってますね。) ただ、今のところWebサービスについては、「密結合」するに値する対象がまだ見つかっていないので、美味しそうな実を探してる段階なのだと思う。ただし、Googleがすでに収穫対象になっていることは間違いないだろう。
さらに、これまでWindowsに取り込まれてきた対象の粒度もだんだん大きくなっていることに注目したい。最初は単一の機能をパッケージした関数であり、関数とデータをまとめたオブジェクトとなり、分散オブジェクトに変遷してきた。次の粒度はWebサービスで実装された「サービス」なのだ。
結論として言いたいのは、IT業界のソフトウェアがひたすら抽象度を上げる方向に発展し続ける限り、Wintel帝国の支配には何の影響も及ぼさないということだ。Tim O'Reillyは、Intelは安泰だと言っているが、MSも全くもって安泰である。OSがWindowsであったように、IOSもまたWindowsなのだ。
こんな悲観的なシナリオは、書いている私自身も全くもって面白くない。しかし、SI業界から転職したのも、ここにいてはWintelには絶対勝てない、という未来を感じ取ったことが一因なのだ。
しかし、別の業界でWintel帝国に対する真の破壊的イノベーションが着々と準備されている。
そのことについて近いうちに書いてみたい。