Ed Bott氏は先ごろ、Microsoftが新たな道を歩んでいることについて書いた記事で、重要な点を数多く指摘したが、技術に関しておそらく最も重要な点を見落としたと筆者は考えている。Microsoftがついに、本当の意味でオープンソースソフトウェアを受け入れるようになった、という点だ。
Microsoftはこれまで、Linuxなどのオープンソースプログラムと争ってはいたが、自社の利益になる場合、オープンソースソフトウェアの利用をためらうことはなかった。同社はそれについて語ってこなかっただけのことだ。
例えば、「Windows」が「Windows NT 3.5x」で最初に採用したTCP/IPとMicrosoftの「Hotmail」の初期のリリースは、いずれも「FreeBSD」をベースとしていた。しかし、ほとんどの場合、Microsoftの表向きの態度は、Steve Ballmer氏が2001年に述べた「Linuxは癌」という有名な一言に表れていたかもしれない。
それは昔の話だ。今は違う。
現在、Microsoftの最高経営責任者(CEO)であるSatya Nadella氏は、「MicrosoftはLinuxが大好きだ」と話している。
これは、Ballmer氏がついに退任したことだけが原因で起きた急激な変化ではなかった。
2008年、当時Microsoftのプラットフォームテクノロジ戦略担当ディレクターを務めていたSam Ramji氏は、「Microsoftのオープンソース戦略の焦点は、現在の異種混合の技術環境において顧客とパートナーの成功を支援することだ」と述べた。Microsoftは2011年、クラウドの大部分がLinuxを基盤として構築されると予測し、Linuxに大きく貢献した。
Microsoftの未来予測は正しかった。Nadella氏が「Linuxを大好き」なのは、Microsoftの「Azure」クラウドで動作するOSの20%がLinuxディストリビューションだからだ。今後数カ月以内にMicrosoftがAzureで「Red Hat Enterprise Linux」(RHEL)をサポートすると発表しても、筆者は少しも驚かないだろう。
しかし、真の変化は、Microsoftが自社プログラムの宣伝のためにLinuxなどのオープンソースを利用するようになったことではない。自社のプログラムと競合するオープンソースプロジェクトを積極的に支援し、自社のコードの一部をオープンソース化するようになったことだ。
例えば、Microsoftは「Ubuntu Linux」の開発元であるCanonicalと提携し、Azureの競合製品である「OpenStack」で「Windows Server」を稼働できるようにしている。Ballmer氏やGate氏の時代には考えられなかったことだろう。
最も驚くべきことかもしれないが、Microsoftは.NETのサーバ側コアスタック全体をオープンソース化し、LinuxとMac OSにも対応させることを計画している。