Find Command Cheat Sheet » Free from Linux Training Academy » Download Now!
Welcome Guest | Sign In

Microsoft FOSSifies .Net Micro Framework

By Jack M. Germain
Nov 18, 2009 4:00 AM PT

The latest version of Microsoft's .Net Micro framework is now in the hands of the FOSS community. Microsoft announced at its Professional Developer Conference (PDC) on Tuesday the release of version 4.0 under the Apache 2.0 license.

Microsoft FOSSifies .Net Micro Framework

The license transfer makes good on a longstanding promise from Redmond that it would make the popular .Net code base available as open source.

The gift to the open source community, however, does come with some strings attached -- or, rather, removed from the gift wrapping. Microsoft reduced some of the framework's functionality in making the Software Developer's Kit (SDK) open source, according to Peter Galli, the Open Source Community Manager for Microsoft's Platform Strategy Group. In his blog, Galli revealed details about the code release.

Microsoft pulled the framework's cryptography libraries and also stripped out its TCP/IP stack because it contains third-party software licensed from EBSnet, wrote Galli.

"While the Micro Framework constitutes only a small part of the total .Net corpus, it is a significant step forward in making Redmond's ubiquitous framework more available and interoperable with other FOSS code," Bill Weinberg, principal analyst at, told LinuxInsider.

What It Does

The .Net Micro Framework is a development and execution environment for resource-constrained devices, according to Galli. It is well-used in embedded devices with low-powered processors that have a limited amount of RAM.

The framework was initially developed inside the Microsoft Startup Business Accelerator but was recently moved to the Developer Division to be more closely aligned with the overall direction of Microsoft development efforts, he noted.

"The result of this is that the .Net Micro Framework has become a seamless development experience, bringing a single programming model and tool chain for the breadth of developer solutions, all the way from small intelligent devices to servers and the cloud. There are also no more time-limited versions," wrote Galli.

Microsoft's decision to include the source code for almost all of the product ensures that developers now get access to the Base Class Libraries that were implemented for .Net Micro Framework and the Common Language Runtime (CLR) code itself, he added. CLR is a core component of Microsoft's .Net initiative.

Why Leave That Out?

The TCP/IP stack is third party software that Microsoft licenses from EBSNet. Thus, Microsoft did not have the rights to distribute that source code.

Microsoft did not include the cryptography libraries in the source code because they are used outside of the scope of the .Net Micro Framework. Customers who need access to the code in the cryptography functions can get that functionality in other sources.

Not an Abandonment

Microsoft plans to remain active as a community partner to continue developing the framework. While the license allows customers to develop their own specialized versions of the framework, Microsoft intends to stay involved to avoid any possible fragmentation of the platform, Galli explained

"As such, we are planning on establishing a core technology team that is made up of both Microsoft and non-Microsoft contributors that continues the goals of producing a high-quality product for very small devices. This group will act as the gateway to community contributions while, at the same time, Microsoft Developers will continue [to] add functionality and coordinate with the overall .Net team," Galli said.

Microsoft also plans to form a community of involved members to help shape the future direction of the framework product. This will include a core technology team composed of Microsoft and external partners. People will be encouraged to propose projects, which will be vetted before they are accepted, he noted.

"The site will also support people building extensions that exist alongside the platform rather than being integrated into it," Program Manager Colin Miller told Galli, according to the blog.

Limited Uses

In the short term, the Micro Framework will only aid developers and integrators of resource-constrained embedded systems and not the larger communities building more robust intelligent devices, desktop and enterprise applications, according to Weinberg. More crucial is the potential for pressure from other other source projects to spur .Net uses.

"I find the release more interesting for its use of the permissive Apache license. By licensing the Micro Framework under Apache, the release throws down a gauntlet to open source .Net work-alike Mono, which is licensed under GNU GPL and LGPL. What used to be a stark choice between highly proprietary and closed source .NET vs. open and free Mono is now more clouded," Weinberg said.

Embedded developers and others could find Redmond's code and terms more attractive for the flexibility conferred by Apache licensing. The key is that Apache 2.0 demands minimal reciprocity for code licensed under it. The license requires only preservation of the copyright notice and disclaimer, he explained.

"Unlike GNU, GPL and LGPL employed by Mono, Apache is not a copyleft license and allows use of source code for both proprietary and FOSS derivation and deployment. While OEMs, integrators and others are today mostly comfortable with the disclosure requirements imposed by GNU licenses, their legal departments still cleave to closely held IPR, potentially giving .Net Micro Framework advantage over its traditional FOSS rival, Mono," concluded Weinberg.

How important is a candidate's knowledge of technology in winning your vote?
Extremely -- technology is at the center of most of the world's big problems and solutions.
Very -- a candidate who doesn't understand technology can't relate to young people.
Somewhat -- a general understanding is sufficient.
Not very -- choosing good advisers is more important than direct knowledge.
Not at all -- technology is often a distraction from more important issues.