皆さんは「Midori」というプロジェクトを聞いたことがあるだろうか? Midori単体では8年近く、その前身となったプロジェクトも含めれば実に10年以上にわたって研究開発が進められてきたMicrosoftの極秘プロジェクトだ。
筆者も小耳に挟んだことがある程度のこのプロジェクトだが、今年2015年11月になり同プロジェクトの元メンバーだったJoe Duffy氏が、Midoriプロジェクトで進められてきたことを語りつつ、その成果の一部を自身のBlog上で定期的に公開し始めて話題になっている。本稿では「Midoriプロジェクト」の概要に触れつつ、それがMicrosoftで果たした役割について考えてみる。
「Windowsの次」を目指したOSプロジェクト
現時点でMidoriについて一般に公開されている情報はほとんどない。最盛期には100名以上のMicrosoftでも一流の技術者や研究者らがチームに参加し、それこそ次のMicrosoftやWindowsを担うべく極秘に進められていたプロジェクトだからだ。
Midoriの前身となったのは「Singularity」と呼ばれる2003年にスタートしたOSプロジェクトで、2008年にOSソフトウェアの最新版リリースを発表して終了しており、そのまま事実上の後継プロジェクトであるMidoriへと引き継がれている。Singularityが非常に実験的なプロジェクトだったのに対し、Midoriはそれを「商用レベル」あるいは「次のWindows」とする可能性も含めて開発が進められていたようだ。
このSingularityやMidoriがスタートした経緯は、ZDNetのMary Jo Foley氏が2008年6月に公開した記事に一部まとめられている。
Singularityプロジェクトがスタートしたのは、Windows XPの発売から2年後の2003年。Microsoft社内的にはWindows Vistaの開発が本格化していた時期だ。すでにWindows XPの延長サポートが終了した現在において、「Windows XPは古いスタイルのOS」という意見に異を唱える人は少ないだろう。セキュリティや信頼性は現在のOSに比べて低く、プロセスの並列実行やパフォーマンスの改善など、見直すべき点が多かった。
折しも、2000年にMicrosoftが「Next Generation Windows Services」(NGWS)構想を発表し、その成果としてC#や.NET Frameworkといった概念が登場すると、これら技術をベースに次世代OSを構築するプロジェクトがスタートすることになった。OS自体をマネージドコード(Managed Code)で構成し、新しいファイルシステムの「WinFS」といった意欲的なアイデアを盛り込んだ次世代OSは開発が難航し、2007年にようやく「Windows Vista」の名称で市場投入された際には、当初想定されていた機能が盛り込まれず、世間的な評判もあまり芳しくなかったという不遇の道を歩んだ。
Windows Vistaが不評だった一方で、Singularityは「マネージドコードで構成されたシステム」といったコンセプトを保持したまま、マイクロカーネルをベースにした「より安全なOS」を実現し、一定の成果を出している。Singularityのタイトルが「Rethinking Dependable System Design」(安全なシステムデザインを再考する)となっていることからも、このプロジェクトが目指していたことがわかるだろう。