There is an interesting post in the form of an Open Letter to Scott Guthrie that has hit the blogosphere. The essence of the letter is that Microsoft uses a lot of IP that exists in various Open Source project within its own products. There is not flow back of enhancements etc from Microsoft into these Open Source projects or the Open Source Community in general.
I am in total agreement with the essence that Microsoft should contribute to Open Source and to a degree Code Plexis them acknowledging this. When you consider a feature that exist in the Open Source world that Microsoft want to include in their product eg NUnit the product has to become commercial. When you as a developer buys Visual Studio you expect certain things around quality, backwards compatibility, stability and integration. Microsoft can’t leave these quality issues in the hands of the open source community.
Some development teams will choose to supplement their toolset with Open Source tools and much to Microsoft’s credit they do try to make their products extensible. You do this at your own risk and I think people acknowledge this.
Could Microsoft rather than digest an open source project into one of its product nurture the project in the Open Source world? I don’t think customer expectation around a purchased product would quite allow it, as sad as it is when the product is commercial 100% of the user base must be considered when evolving the product.