Open Source and Microsoft.

Wow, Microsoft has entered the open source world!
yes, Microsoft has entered the open source world, they have port 25, codeplex and may be more. They also opened the .NET API implementation.
BUT I DON'T BELIEVE ALL THIS

We all remember what happened when Microsoft started working in Java. gradually they made Java a different way to write programs to their Windows and as this is against Java, Sun prosecuted Microsoft and finally the judge prevented Microsoft from using Java.
Microsoft enters anything to convert it to theirs and it seems they are trying to make this with the open source community.
a good example is CodePlex.
is it really a place for open source developers?
as I see, it is a place from where Microsoft will collect some codes for free!
also only Microsoft and Windows developers can use it, because it offers a non-standard way (as we accustomed from Microsoft) to access code repository not CVS, not SVN, but there is a special CodePlex client needed.

from a short period I attended a conference for Java developers in which a representative from Microsoft gave a session about interoperability between Java and .NET. I'll not speak about the level of the speaker and the session (they weren't very good), but I'll speak about how Microsoft defines interoperability (as I got from the session).
when Microsoft Internet Explorer opens a page rendered by Tomcat (a Java server), it is an interoperability!
when a Microsoft client calls a Java web service, it is an interoperability!
is it to this level?! Does they consider using standard HTML and XML an effort done from them to have interoperability with the open source community?! Is the normal to have different standards in everything and an effort is to follow the very basic standards HTML and XML?!
have I misunderstood the session and the speaker? I want to assume that because I still have a good idea about Microsoft and I don't want to change it. (I hope another attendee of the event who understood something different from this session to tell me what I misunderstood).

In a previous article about differences between Java and .NET I said " the real difference is between developers and way of thinking" and Microsoft strategies and Microsoft developers way of thinking are all against open source.
What is benefit from open source if it will work with a specific platform and standards in a field such software development in which all MUST follow open standards to enable applications written by different developers and vendors to deal with each other?!
If Microsoft really will contribute in open source community, I think they have to do two things.

  1. they MUST follow open standards in their products not to develop their own standards and assume using them by all.
  2. a very bold step is to open the source code of Windows!! (this isn't a joke, I really mean this but look at the state now, they even hide some APIs from public use)

so finally, if we agreed Microsoft isn't an open source supporter, why they declare supporting of open source?

  • may be it is a mode and they will follow it to maintain their domination on the market.
  • they may see developers go away from them following the attraction of open thinking.
  • or they may have bigger hopes and want to attract open source developers to use their tools and so, think in their way.

I don't know the real reason. do you know it? or just have some guesses like these?
Please write your comments on this.