さて、ネットワーク上で動く.NETには、当然マルチプラットフォームという考えかたが導入される。Microsoftは、当初、これに「Microsoft化」したJavaを使う予定だったが、それは、Sun Microsystemsの訴訟により失敗。今回は、C#というJava似の言語と、マルチプラットフォーム対応が可能なランタイムであるCLR(Common Language Runtime)を開発した。
Corelへの投資は、この.NETをLinux上で展開する可能性と、そのためのエンジニアリングパワーをMicrosoftが手に入れたことを意味する。しかし、実際にMicrosoftがLinux上で.NETを展開するかどうかはまだ不明である。
ただし、Microsoftのいつものやり方として、「相手を飲み込む」という方法がある。実際にJavaの場合、Microsoftは、これを自らの計画の中に取り込み、独自の拡張を行なった上で、ActiveXコンポーネントを記述するための言語として位置づけた。つまり、世界中でもっとも多いプラットフォームでJavaをもっとも早く実行できるのはMicrosoftの独自拡張されたJavaであり、それは、単に部品を記述するための1言語という位置でしかないという状態を作り上げたのである。その他のデファクトスタンダードやインターネットの標準的なプロトコル、フォーマットについても、こうした動きが見られ、インターネット内でいくつか問題を引き起こしている。たとえば、HTMLベースのメールなんていうのも、Microsoftのメールクライアントが普及しはじめてからの問題である。
この.NETは、今後さらに増えていくであろうWebベースのアプリケーションやサービスを自身の計画の中に取り込み、アンチMicrosoft的な動きまでもMicrosoftの手の上におくためのものであるともいえる。
しかし、Microsoftは、たしかにWindowsという土俵の上ではこのあたりをうまくやってきたが、マルチプラットフォームという点では、いまのところ成功はしていない。たとえば、Internet Explorerについては、一時、HPなどのUNIX向けに開発を行なったが、このところその動きは止まっているし、ActiveXを社外団体の管理下にして、パブリックなものにするという動きも結局中止された。
しかし、もっとも大きな失敗はWindows NTのマルチプラットフォーム対応である。NTは、MIPS、Alpha、PowerPCといったプラットフォームへの展開を試みたが、結局、どれも続かず、最新版であるWindows 2000(NT 5.0に相当)は、インテルアーキテクチャのみとなった。
というわけで、Microsoftは、たしかにLinux上で.NETを展開する可能性を得たものの、今後どう動くのか、そしてどうなるのかはまだ分からない部分でもある。
実際、最初は、Corelを使ってはなばなしく、Linux対応を行なうものの、そのうち、Linux対応は打ち切りなんてことになってしまうのではないかなぁ、と思う。少なくとも、Microsoftを満足させるほど、LinuxでOfficeアプリケーションサービスを使うユーザーは少ないだろうし、わざわざ、Linuxを選択するユーザーが、Microsoftのサービスを使うでしょうか? それに、きっと、Linuxのユーザーは、Microsoftにとってはうるさいユーザーになるんではないでしょうかね。だとすると、やっても、途中でイヤになっちゃうんじゃないかなぁ、というのが理由である。
(塩田紳二)