Scott Guthrie has the details. As my title implies, this is great for debugging. There will be benefits for the Framework as well, presuming Microsoft listens when a developer says, “Why does your code do this and not that?”
Is this a big radical step for Microsoft? I don’t think so. Nor does it merit this kind of predictable backlash – Steven J Vaughan-Nichols saying that Microsoft is tempting open source developers to use its code and become vulnerable to lawsuits.
I recall an early .NET briefing in which an IT exec from the Nationwide Building Society (an early adopter) said how grateful he was to Microsoft for sharing the source to the .NET Framework. How come? Well, ever come across Reflector for .NET? If compiled .NET libraries are not obfuscated, you can easily decompile the code. Admittedly you will not see comments, but it is still pretty effective. As far as I know, the .NET Framework has never been obfuscated, so in some ways we already had the code.
I do understand the risks for projects like Mono, which seek to be clean-room implementations, but I doubt they are significantly greater than before. Further, I suspect that if Microsoft wanted to bring legal guns to bear on Mono, it is likely that it already could. Although Mono builds on ECMA standards, it implements plenty of stuff that is not covered by those standards. I have no idea whether it breaches any Microsoft patents; but I would not find it surprising. What stops Microsoft pursuing Mono? Mainly, I imagine, because it is good for .NET and therefore a benefit to the company.