As today I heard CodePlex backed and fund by Microsoft is open aiming to enable the exchange of code and understanding among software companies and open source communities, as their own words. It is a great move, not sure clever but a bold one. However, I am not sure if Microsoft really realise what does open source mean. Open source means community, sharing, talking/arguing/agreeing on things. If you don't have your believers behind you open sourcing does not mean anything. You will stand as a Mesiah on your own without any believers.
Several years ago I was working in a bank for a core banking migration project, which consist of mainly java and some .net development. At some stage due to now having anough Java developers, some of the .net folks also asked to join the Java team. One of them who was a good .net developer, took over the socket communication framework which I built. One day I stopped at his desk to ask how he is progressing, which he told me, he was stuck at some point of communication level where he is receiving unexpected data. When I showed him he can as deep as the source codes of Java sockets to debug everything byte by byte he was thrilled.
Microsoft never open sources their main products the operating systems, servers, office stuff. They didn't even open sourced their development products. Now do they really expect people who develop on their platforms to do the opposite?
Why don't they start first, showing they are honest and backing open source community. What about open sourcing their development tools, or at least an old version of Windows which is not on sale now?
Let me give you an example, probably hibernate would not be an open source project if they knew JPA which is build partly on them and became an integral part of JRE would be open source. Its still your turn Microsoft..