Microsoftの秘密プロジェクト「Midori」について、筆者が最後に記事を書いてから1年以上になる。
しかし、Midoriプロジェクトの当時のメンバーの1人が新たに投稿している一連のブログ記事によって、今では解散したMidoriチームと、その10年近い開発プロジェクトの過程で得られた成果について、再び関心が湧いてきた。
筆者がMidoriについて初めて記事を書いたのは2008年だ。MicrosoftはWindowsカーネルをベースとしない新たなオペレーティングシステム(OS)を構築するため、一流のエンジニアによるチームを編成した。Midoriチームには、単にゼロからOSを作り上げるだけでなく、ブラウザや関連ツールを含む、完全なソフトウェアスタックを作る任務が与えられた。
チームメンバーだったChris Brumme氏のLinkedInプロフィールによれば、ピーク時には最大100名ほどの開発者がMicrosoftでMidoriに関わっていた。Brumme氏は自身について、2005年頃から「大型OSインキュベーションの共同設立者であり、後にジェネラルマネージャーを務めた」としている(プロフィールによれば、Brumme氏は2015年にGoogleに加わっている)。
Midoriの開発マネージャー兼言語アーキテクトだったJoe Duffy氏は最近、Midoriプロジェクトでの同氏の仕事について、最終的に十数件になる予定のブログ記事のシリーズを書き始めた。米国時間11月3日の最初の記事は、3つの安全性(型、メモリ、並行性)に関するものだった。Duffy氏は現在、Microsoftのコンパイラと言語プラットフォームのグループでエンジニアリングディレクターを務めている。
同氏はMidoriについて、「当初はC#と.NETで始めたが、セキュリティ、信頼性、性能のために大きくその路線を外れざるを得なかった」とそのブログ記事で書いている。「現在わたしは、そこで得た知見を実際の製品に反映させるのを手伝っている。驚く人もいるかもしれないが、その対象には、C++も含まれている。今後投稿するわたしのブログ記事の多くは、現在の製品に反映させようとしている、Midoriプロジェクトから得た重要な知見についてのものだ。これには、あらゆる場所での同期性、ゼロコピーI/O、安全性と性能に関する誤った二分説の解消、ケイパビリティに基づくセキュリティ、安全な並行性、技術に関するディベート文化の確立などが含まれる」(Duffy氏)
Micrsoftの関係者は長年の間、存在を隠しこそしないものの、Midoriプロジェクトを目立たせないようにしてきた。その間、プロジェクト関係者数人が、Microsoftで自分が関わっている秘密の技術インキュベーション案件について、謎めいた言葉を発しただけだった。しかし今では、Midoriチームが取り組んでいたコンポーネントに関するかなり詳細な情報を、簡単に見つけられるようになっている。
Midoriプロジェクトに2011年から2015年4月まで関わっていたあるチームメンバーは、LinkedInのプロフィールで、「分散ストレージおよびコンピュートエンジンのマネージド言語への移植と、それらの新しいOS環境での立ち上げ」に取り組んでいたと書いている。またこのエンジニア、Svitlana Tumanova氏は、既存のC++のコードベースをより安全な言語に移植する作業を支援するとともに、新OSのブラウザのDOMツリーとCSSの部分を設計したという。
2008年から2014年6月までMidoriプロジェクトに関与した、別のエンジニアリングリーダー兼アーキテクトLeif Kornstaedt氏は、「プロセス間通信、プロミス、マネージドコードランタイム、マネージドコードの事前コンパイル、マネージド/ネイティブコードの相互運用性、並行ガベージコレクション、非同期実行モデル、JavaScriptの実行およびホスティング、ウェブブラウザアーキテクチャなど、数多くの技術に関する前衛的なアプローチ」に取り組んだとしている。