Microsoft has released 20,000 lines of Linux code to the Linux kernel community.
Making a shock U-turn, Microsoft's code includes three Linux device drivers; it will be available to both the Linux community and customers.
It will enhance the performance of the Linux operating system when virtualised on Microsoft Hyper-V Server 2008 virtualisation software, according to Microsoft. Code will be offered under the GNU General Public License 2.
"We are seeing Microsoft communities and open source communities grow together, which is ultimately of benefit to our customers," said Microsoft's Sam Ramji, senior director of platform strategy in the company's Server and Tools organisation. "The Linux community, for example, has built a platform used by many customers. So our strategy is to enhance interoperability between the Windows platform and many open source technologies, which includes Linux, to provide the choices our customers are asking for."
"Today's release would have been unheard of from Microsoft a few years ago but it's a prime example that customer demand is a powerful catalyst for change," said Ramji.
Indeed, Microsoft has been involved in ongoing disagreements with open source advocates, with Microsoft claiming open source projects like Linux violate 235 Microsoft patents.
Ramji also cited the current economic climate as a driving force. "Many companies are turning to Microsoft more frequently to help them succeed in a heterogeneous technology world because we understand that reducing complexity is a key factor to reducing cost. We are seeing interoperability as a lever for business growth," Ramji said.
In a statement, the executive director of the Linux Foundation saw Microsoft's effort as validation of open source.