後藤弘茂のWeekly海外ニュース

強硬路線に変わったMicrosoftの対Java戦略



●前門の司法省、後門のSun

 前門の司法省に後門の米Sun Microsystems社。現在、Microsoftは2つのクリティカルな裁判を抱えている。しかし、Microsoftにとって、どうやらこの2つの裁判の位置づけはまったく異なるようだ。どちらも相手から訴えられたものなのだが、片方は“守り”なのに対して、もう一方は“攻め”の色彩の濃い裁判なのだ。

 まず、反トラスト法に関わる司法省との裁判は、Microsoftが望んだものではない。明らかに不意打ちを食らったカタチで、しかもMicrosoftの製品戦略を揺るがしかねない深刻な問題となっている。これについて、Microsoftはともかく全力を挙げて戦っている。

 ところが、Javaを巡るSunとの裁判は……、これはおそらくMicrosoftが望んだものだ。というのは、あそこまで対立すればSunが法的手段に訴えることは、Microsoftにしても当然予測できていたはずだからだ。それをあえてSunが裁判に訴えるところまで追いつめたのは、裁判に持ち込ませた方がいいと判断したからではないだろうか。裁判で勝ち目があると見ているのか、あるいは裁判に持ち込むこと自体に意味があるのか。Microsoftのもうひとつの戦い、Java裁判を振り返ってみたい。


●強硬なMicrosoftの態度

「すべてのコンピュータが同じアプリケーションを同じように走らせることができると考えるのは非現実的だ」
「クロスプラットフォームについてJavaは汚い秘密(dirty secret)を持っている。実際には達成できていないのだ」
「JNI(Java Native Method Interface:Javaプログラムがプラットフォームのネイティブな機能にアクセスするためのインターフェイス)は、技術的ベネフィットを顧客にもたらすのか、(採用する)法的義務があるのか。両方とも答えはノーだ」
「J/Direct(Javaプログラムから直接Win32 APIを呼び出す技術)の方がじつは、サンドボックス内でのJavaよりセキュリティが高い」
「Sun Microsystemsは市場で勝てないため法廷で勝ちたいのだ」

 いきなりで驚いたかも知れないが、これは11月に話をうかがった米Microsoft社のInternet Client & Colaboration DivisionのGroup Program Manager、チャールズ・フィツジェラルド氏のコメントだ。Sunとの裁判におけるMicrosoftの主張を総括したこのインタビューは来週「Microsoft担当者、Java裁判を語る」として掲載するので興味があれば読んで欲しい。今回はそのインタビューの中からとくに刺激的なセリフを抜き出したのだが、それにしても強烈だ。熱心なJava支持派なら、間違いなく激怒するだろう。怒らないまでも、この強気の発言には反発を感じる人は多いはずだ。少なくとも、Javaの基本的な理念と構想を否定するこうした発言は、Javaコミュニティ対Microsoftという対立をますます深めさせるのは間違いがない。それがわかり切っているのに、なぜMicrosoftは声高にこんな主張をするのだろう。

 もちろん、これを、Microsoftの横暴や自信過剰と片づけてしまうこともできる。しかし、このコラムは企業の姿勢の是非を問うスタンスにはないので、一体なぜMicrosoftがこうした強硬な姿勢を取っているのか、それを分析してみたい。一体、今の、MicrosoftのJava戦略、いや『対Java戦略』はどうなっているのだろう。


●Javaの理念に関わる問題

 MicrosoftとSunの激突ポイントになっているJava裁判は、SunがInternet Explorer(IE) 4.0とMicrosoft SDK for Java2.0について、SunとMicrosoftの交わしたJava実装に関する契約の義務に違反していると訴えたことで始まった。Sunが特に問題としたのは、Sun(JavaSoft)の開発したJNIと「Java RMI(Remote Method Invocation: Javaコンポーネント同士が分散環境で通信するインターフェイス)の2つのAPIをMicrosoftが採用せず、独自のAPIを採用するなどしたこと。そして、Sunのユーザーインターフェイス回りのクラスライブラリである「JFC(Java Foundation Classes)」と重複するMicrosoft独自のクラスライブラリ「AFC(Application Foundation Classes)」を採用したことなどだ。こうしたMicrosoft独自の拡張のため、SunはMicrosoftのツールで開発したJavaアプリケーションは、Windows以外のOSやIE 4.0以外のWebブラウザで走らない可能性があると指摘している。つまり、ユーザーがJavaに期待しているクロスプラットフォームやJavaのセキュリティモデルといった特性が、守られなくなってしまうというわけだ。

 こうしたSunの主張に対し、Microsoftは激しく反発する。例えば、フィツジェラルド氏は、先ほど引用したようにJNIを採用する技術的ベネフィットも法的義務もないと片づける。「当社は同様の機能を提供するAPI「RNI」を'96年8月にIE3ですでに実装している。それに対して、JNIは今年2月に出てきた。我々の技術のほうが先に出ており、しかも高速だ」と言うのがMicrosoftのスタンスだ。

 また、もうひとつの争点であるJava RMIについても「優れた技術でない。パフォーマンス、スケーラビリティ、セキュリティなどで問題がある。じつは、Sun自身もRMIからIIOP(Internet Inter-ORB Protocol)にリプレースするつもりでいる。あまりうまく機能しないうえに将来性のないものをサポートしても意味がないし、法的にも義務がない」と主張。さらに、JFCに関しては、まだ正式版JDKでは提供されていない将来の話だとして一蹴した。

 Microsoftの主張のベースとなっているのは、Sunとの契約にJavaを自由に拡張できる権利が含まれているというもの。フィツジェラルド氏は、「Sun MicrosystemsはMicrosoftに広範な権利を与える合意をしたのを後悔しているようだ。そこで、契約合意の解釈をいま別途解釈して(提訴して)きた」と語った。


●対Java戦略の中心になったDHTML

 このように、Java裁判のそもそもの原因は、MicrosoftがSunの意図とは異なるMicrosoft版Javaを作り、Sunと角突き合わせたこととなっている。この路線を取っていた今年の夏までは、MicrosoftはJavaワールドの中に入り、そこで主導権を握りJavaの進路を自分の方にたぐり寄せるのが、有効な対Java戦略だと考えていたと思われる。ところが、現在のMicrosoftの方向性を見てみると、もうこの戦略自体が重要性が低くなったことがわかる。では、MicrosoftがMicrosoft版Java推進戦略の代わりに押し出してきたものは何か?

 「クロスプラットフォームは目標としてはいいが、Javaは適切なソリューションでない。Microsoftはそれよりいいソリューションがあると考えている。それは、Dynamic HTMLだ」このように、フィツジェラルド氏はDHTMLをJavaの代わりにクロスプラットフォームアプリケーションを実現する土台としてクローズアップした。Microsoftがこのように主張し始めたのは、今年9月に行われたMicrosoftのソフトウェア開発者向けカンファレンスPDC(Professional Developers Conference)からだ。Microsoftは、Windows 3.1やMacintosh OS上でも利用できる点なあげ、DHTMLがJavaの代わりにクロスプラットフォームを実現することを強調した。

 HTML+スクリプティングに過ぎないDHTMLがJavaの代わりというと驚くかも知れないが、ともかくもMicrosoftはそう推進することに決めた。その一方で、JavaをWindowsプラットフォームのために利用できる生産性の高いプログラミング言語という枠に押し込むことに決めた。この時点で、MicrosoftのJavaに対する取り組みは、かなりクールダウンしたと見ていい。


●Javaの現実がMicrosoftを強気に

 そもそも、MicrosoftがJavaに積極的に取り組み出したのは、自社に対するJavaの脅威を取り除くためだった。世の中の流れがJavaになり、Microsoftだけが取り残されるのを恐れたからだ。そしてMicrosoftは第1段階ではJavaコミュニティの中に積極的に入り、第2段階ですでに述べたようにJavaの主導権を握ろうとした。しかし、9月からの第3段階ではスタンスを変え、明らかにJavaの役割を縮小させようとしている。

 これは、おそらくJavaの脅威がもはや以前ほどではないとMicrosoftが判断したためではないだろうか。もうJavaコミュニティと対立しても、なんとかなると見たためではないだろうか。

 もし、Microsoftがそう判断したとしたら、それはきっとすこしづつ広まっているJavaに対する懐疑的な見方も背景にあるに違いない。カンファレンスは相変わらず盛況で、熱心な支持者の多いJavaだが、その一方ではJavaの現実に対する厳しい見方も出てきている。これは当然で、実用フェイズに入ると理想論や抽象論ではなく、現実が問われるためだ。

 たとえば、今年7月に開催されたJavaデベロッパーカンファレンスでも、講師に対する質問などで、Java開発者たちがJavaのバージョン間やJava VM(バーチャルマシン)間の互換性についての不安や不満を何度も口にしていた。API開発の遅れを指摘する声もあった。また、パフォーマンスについての不満もまだある。いずれも実用フェイズに入ったからこそ出てきた不満だ。そして、最初の方で紹介したように、フィツジェラルド氏もこうした弱点を巧みに突いている。

 もちろん、こうしたことはJavaだけでなく、これまでも多くのテクノロジについて起こってきた。新技術が登場した時には、革新性に目がくらんで理想論が飛び交うが、それが現実化して来るとアラが見えてくるというヤツだ。実用フェイズに入るための洗礼とも言えるだろう。

 とくにJavaは急発進したために、正直な話まだ理想を実現できていない部分が多い。JavaVMの互換性はその最たる問題だ。もっとも、これについてもSunは手をこまねいているわけではない。たとえば、米IBM社や米Netscape Communications社と共同でJavaのパフォーマンス向上と実装の統一などを行う「Java Porting and Tuning Center」を設立したりと手は打っている。しかし、まだJavaに対する期待の高さに見合うまでは、現実が追いついていないのも現実だ。

 Microsoftは、このJavaバックラッシュの追い風を受けている。Javaは理想と現実にこんなにギャップがあるんだ、というのがMicrosoftの強味だ。その上、IEによってWindows上のJavaVMでは多数派になりつつある。Java陣営にしても、2年前に描いていたような、米Netscape Communications社のNavigatorに搭載したJavaVMで、Windowsプラットフォームを覆ってしまうというシナリオはもう描けない。

 こうした要素があって、Microsoftは、明らかに以前よりJavaを恐れなくなっている。そして、Javaをそれほど恐れなくなったMicrosoftは、Sunの提訴による裁判でもどっしり構えている。「18~22ヶ月くらい判決の日までにはかかるだろう」(フィツジェラルド氏)と長期戦を予想する。おそらく、この裁判に関して言えば、Microsoftはいくらでも長引いても構わないと思っているに違いない。裁判が長引いてJavaに混乱が続いても、それは同社にとって有利にこそなれ不利にはならないからだ。そして、もしかするとSunと決裂してもいい、そこまで決意を固めているのかも知れない。


('97/12/19)

[Reported by 後藤 弘茂]


【PC Watchホームページ】


ウォッチ編集部内PC Watch担当pc-watch-info@impress.co.jp