Microsoft playing nicely with open source

Microsoft's approach to open source seems to be mellowing quite dramatically — the software giant has released its .NET Micro Framework under an Apache licence and made a GPLed source code release over the weekend.

Before the Microsoft-centric developer world goes completely gaga at the company's Professional Developer Conference in the coming days, it's worth noting a couple of open source milestones that may have slipped under the radar.

Microsoft announced today that it is open-sourcing the .NET Micro Framework under an Apache 2.0 licence.

Peter Galli, a Microsoft open source community manager, said in the announcement that "Including the source code for almost all of the product also ensures that developers now also get access to the Base Class Libraries that were implemented for .NET Micro Framework and the CLR code itself."

Being an Apache licence means that, ironically, anyone can pick up the .NET Micro Framework and re-licence it under a proprietary licence. But not all the parts of the framework are being opened; the TCP/IP stack was made by a third party, EBSNet, and separate arrangements would need to be made with EBSNet for that source code.

Citing the use of the cryptography libraries beyond .NET Micro, Microsoft will not be releasing those libraries. "Customers who need to have access to the code in the cryptography functions will find that these libraries can be replaced," Microsoft program manager Colin Miller said.

Keep in mind that this isn't Microsoft opening up the holy of holies; the Micro Framework behaves in a different manner to the standard .NET Framework and has less capability than its .NET brethren due to the need for it to work on embedded devices.

If you are thinking of getting involved in the .NET Micro community, I'd give the website a little more time to bake.

But wait, there's more
Over the weekend, Microsoft also made its Windows 7 USB/DVD Download Tool available under the GPLv2. That's the same licence that Redmond has called "viral" for the longest time — and it's that same GPLv2 that made Microsoft release the code.

It began a couple of weeks ago when this blog post appeared and noted that some GPLed code seemed to be within the tool. The Redmond giant then pulled the tool from the Microsoft store and conducted an investigation of the claims. The claims turned out to be true — a contractor had included the library and Microsoft had failed to pick this up during code review.

To its credit, rather than damning the tool to program hell, Microsoft released the tool's source code under the GPLv2 licence.

While it is clear that this is not an action that Redmond wants to see repeated and is adjusting its code auditing procedures to pick this up in future, it shows a level of maturity in engaging with open source licences. They made a mistake, a licence violation, and were big enough to accept it and play nicely with the rules.

Would the Microsoft of 2002 accept its indiscretions and move on? I don't think so.