Think about all the things that Wall Street has said Microsoft should do over the past decade. None of them was "more open source."
All the groundwork was done by Ballmer. It had to be because now that he and Gates have reduced their ownership stake and are no longer the two largest shareholders, Wall Street's flavor of the month ideas cannot be ignored.
The 'new' Microsoft has been building at least since they hired Hanselman back around 2008. He was talking then on his podcast about taking the job to advocate open source. Even then Microsoft worked with the Mono team. They moved Office to an open file format.
It takes a long time to change an aircraft carrier's course. This is Ballmer's strategic vision. His passion for developers even made it onto Youtube.
Or rather: When OpenDocument was standardized by ISO and threatened to create demand for open, common, standardized interchange formats, they created a similarly and confusingly named XML version of their existing format, with insufficient documentation to allow complete third-party implementations, and pushed it as a competing ISO standard, using tricks such as (accidentally, I believe they said) encouraging partner companies to join standards bodies just for the vote:
http://en.wikipedia.org/wiki/Swedish_Standards_Institute#The...
That may have been true at the time, but the documentation for OpenXML is actually very good. It's incredibly detailed -- I think the standard is somewhere around 5000 pages, and fairly readable. Of course, I haven't ever actually had to write my own implementation (thank god).
That's the way standards work. OpenDocument did not meet MicroSoft's needs. They were the one with a massive investment in an existing code base and customers who would be best served by feature compatibility. So they used the same process to create something with equal legitimacy.
As Grace Hopper said, the great thing about standards is there a are so many to choose from.
I'm not sure those two statements are related. I don't see how having .NET open sourced is directly effecting Microsoft's bottom line. I like getting free stuff too, but that doesn't man it is necessarily profitable for the company.
IMHO, it's the "open" part and less the "source" part. I believe a lot of projects were reluctant to jump on the Mono train because they expected it would be steamrolled (on purpose or just through sheer manpower) by the .NET. However, if everyone is building on top of the same CoreCLR, it's possible that fear might subside. I doubt it will ever go away because Microsoft will continue to keep some APIs close to the vest.
If it's possible to transpile either Java source or better Java class files to a CLR assembly, even some of the community momentum that Java has might turn into a benefit for .NET, too.
I had heard of such projects back in the day, but didn't know if they were still in service (and I didn't take the time to research it). I had some skepticism about whether IKVM had kept up with the rapid moving target that is the JRE, but after seeing that it runs Minecraft[0], I'm guessing it'll likely be alright :-)
But holy shit, who in their right mind still uses CVS?!
First of all, it's not just opening up .NET. It's also many other cool things Microsoft has been doing: Linux on Azure, TypeScript, etc. etc.
Regarding .NET, it is likely it will benefit Microsoft significantly. First, because Microsoft would not do it without strong reasons. Second, we can guess at those reasons: Microsoft wants to grow its developer ecosystem. .NET has been limited due to being Windows-focused. Opening it up makes sense.
(Yes, Mono exists, but the .NET cross-platform experience still wasn't good enough. Not necessarily Mono's fault, but regardless, opening .NET can solve this (possibly at a cost to Mono).)