But he does miss the boat on a few things.
One thing that I do think he discounts too much is the surprising effectiveness of small focused teams. In the same way a small startup is more effective than a lumbering machine, a small team of devs is often more effective than 1000 loosely organized volunteers. The classic example is GCC which has probably 10x more people working on it than any commercial compiler, yet the Intel and MS C/C++ compilers generally kill it. Not to mention other less popular compilers like IBM xlc and DEC's Alpha compiler.
The contribution list to RoR is impressive, but the quality of the product doesn't scale with the number of contributors.
I think the question MS has to ask is "do we forego control to possibly get an incremental increase in product quality?" What I've found interesting is the speed at which Silverlight and ASP.NET MVC have improved over the past few years. With relatively small developer teams, they've increased in quality as fast as any open source projects I know of.
The other thing he gets wrong is he conflates framework developers with application developers. And I think this causes him to see a skewed world-view that developers are "waiting" for Microsoft. In general, app developers, are not waiting for MS to do anything. You have tight deadlines and are trying to find the best solution today. You take a snapshot of the world right now and pick the best solution (or starting point). You don't have the time to ponder what might be available in eight months.
Most ppl on the MS stack are app developers. Always has been the case.