Why Microsoft support open source for things already done well?

Though I feel that the best way to tackle open source is to make you products integrate with open source existing products and  enable users to use your rich application integrated with open source products, Microsoft seems to be following an alternate approach.

I am trying to use TFS in my project for code control, automated builds and automated testing. I find that TFS TFS is bulky and sometimes i feel why they cannot reuse subversion and CruiseControl, Nunit rather developing  similar capability with different name. Would it not be great that TFS makes use of Subversion, Nunit and Cruise Control, instead of inventing the same in different name. I would expect my ideal world to be same

When I Google on this,, I hit couple of others thinking like me, But there was one article which was answering me Why Microsoft can’t ship open source code