I first blogged about Midori in 2008. Microsoft was assembling a team of crack engineers to build a new operating system that wasn't based on the Windows kernel. The Midori team was charged with building not just the OS from scratch, but a full software stack, including a browser, related tools and more.
At its peak, there were as many as 100 developers at Microsoft working on Midori, according to team member Chris Brumme's LinkedIn profile. Brumme identified himself as the "Co-founder, Architect and eventually General Manager for a significant OS incubation effort," that dated back to 2005. (Brumme joined Google in 2015, his profile says.)
With Midori, "although we started with C# and .NET, we were forced to radically depart in the name of security, reliability, and performance," Duffy blogged earlier this month. "Now, I am helping to bring many of those lessons learned back to the shipping products including, perhaps surprisingly, C++. Most of my blog entries will focus on the key lessons that we're now trying to apply back to the products, like asynchrony everywhere, zero-copy IO, dispelling the false dichotomy between safety and performance, capability-based security, safe concurrency, establishing a culture of technical debate, and more."
For a number of years, Microsoft officials tried to downplay, if not hide, Midori's existence. A few of the project's participants made cryptic references to a secret technical incubation with which they were involved at Microsoft. But these days, it's fairly easy to find rather detailed information about the components on which the Midori team worked.
One team member who worked on Midori from 2011 to April 2015, according to her LinkedIn profile, worked on "porting the distributed storage and compute engine to a managed language and bringing it up in the new OS environment." That engineer, Svitlana Tumanova, also worked on helping port the existing C++ codebase to a safer language and on designing the DOM Tree and CSS parts of the browser on the new OS.
"I led the tools team for the Midori project, taking the team from 4 people to lots of people. Midori was an operating system written entirely in C# that achieved performance comparable with production operating systems, minus the security and reliability problems found in OSes written in C or C++. We continued developing the Bartok compiler used in the Singularity project so that it could be used to write production-quality systems software in C#. We added support for generics, shared libraries, generic shared code across libraries, and other cool features for systems programming. We connected Bartok to the Phoenix compiler infrastructure and drastically improved the overall quality of code generated by Phoenix so that it was competitive with production C/C++ compilers for SPEC benchmarks and added extensive support for managed code optimization."
As one of my favorite Microsoft sleuths, The Walking Cat (a k a h0x0d on Twitter) has been documenting for years, many of the Midori team members left Microsoft. Once the project was moved under the current Operating Systems Group, even more ended up departing the team, if not the company. Earlier this year, Eric Rudder, who sources said was the executive champion of Midori, also left the company.
The Microsoft party line is that the Operating Systems Group and other teams at the company are incorporating "learnings" from Midori into what Microsoft builds next.
It was never clear to us Microsoft watchers what Microsoft ultimately planned to do with Midori. From Duffy's blog, it sounds like the team members weren't so sure, either.
"I'll be the first to admit, none of us knew how Midori would turn out. That's often the case with research," Duffy said.