Microsoft is set to release source code to the .net class libraries under the Microsoft Reference License. This is not an open source licence, is not even close to an open source licence:
“Reference use” means use of the software within your company as a reference, in read only form, for the sole purposes of debugging your products, maintaining your products, or enhancing the interoperability of your products with the software, and specifically excludes the right to distribute the software outside of your company.
…
(A) Copyright Grant- Subject to the terms of this license, the Licensor grants you a non-transferable, non-exclusive, worldwide, royalty-free copyright license to reproduce the software for reference use.
So why is Microsoft doing this?
Having worked at a Microsoft partner in the distant past, I’m guessing that the real reason for this is completely unconnected to the open source community and more related to easing the lines of communication with Microsoft partners, who’ve had (very restricted and cumbersome) access to code such as this for a long time. By making the code publicly available to everyone under a licence giving the same rights that partners have had for a long time, Microsoft greatly eases the communication of that code to partners, particularly those who’re looking jealously at the free flow of information and code between Sun and their partners under increasingly liberal licences.
Miguel de Icaza has an excellent post on what this might mean for the open source Mono project (very little). eweek has an even more sceptical article.