The latest version of Microsoft’s .Net Micro framework is now in thehands of the FOSS community. Microsoft announced at its ProfessionalDeveloper Conference (PDC) on Tuesday the release of version 4.0 under theApache 2.0 license.
The license transfer makes good on a longstanding promise fromRedmond that it would make the popular .Net code base available asopen source.
The gift to the open source community, however, does come with somestrings attached — or, rather, removed from the gift wrapping. Microsoft reduced some of theframework’s functionality in making the Software Developer’s Kit (SDK)open source, according to Peter Galli, the Open Source CommunityManager for Microsoft’s Platform Strategy Group. In his blog, Galli revealed details about the code release.
Microsoft pulled the framework’s cryptography libraries and alsostripped out its TCP/IP stack because it contains third-party softwarelicensed 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’subiquitous framework more available and interoperable with other FOSScode,” Bill Weinberg, principal analyst at LinuxPundit.com, toldLinuxInsider.
What It Does
The .Net Micro Framework is a development and execution environmentfor resource-constrained devices, according to Galli. It is well-usedin embedded devices with low-powered processors that have a limitedamount of RAM.
The framework was initially developed inside the Microsoft StartupBusiness Accelerator but was recently moved to the Developer Divisionto be more closely aligned with the overall direction of Microsoftdevelopment efforts, he noted.
“The result of this is that the .Net Micro Framework has become aseamless development experience, bringing a single programming modeland tool chain for the breadth of developer solutions, all the wayfrom small intelligent devices to servers and the cloud. There arealso no more time-limited versions,” wrote Galli.
Microsoft’s decision to include the source code for almost all of theproduct ensures that developers now get access to the Base ClassLibraries that were implemented for .Net Micro Framework and theCommon Language Runtime (CLR) code itself, he added. CLR is a corecomponent of Microsoft’s .Net initiative.
Why Leave That Out?
The TCP/IP stack is third party software that Microsoft licenses fromEBSNet. Thus, Microsoft did not have the rights to distribute thatsource code.
Microsoft did not include the cryptography libraries in the source codebecause they are used outside of the scope of the .Net MicroFramework. Customers who need access to the code in the cryptographyfunctions can get that functionality in other sources.
Not an Abandonment
Microsoft plans to remain active as a community partner to continuedeveloping the framework. While the license allows customers todevelop their own specialized versions of the framework, Microsoftintends to stay involved to avoid any possible fragmentation of theplatform, Galli explained
“As such, we are planning on establishing a core technology team thatis made up of both Microsoft and non-Microsoft contributors thatcontinues the goals of producing a high-quality product for very smalldevices. This group will act as the gateway to community contributionswhile, at the same time, Microsoft Developers will continue [to] addfunctionality and coordinate with the overall .Net team,” Galli said.
Microsoft also plans to form a community of involved members to helpshape 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 vettedbefore they are accepted, he noted.
“The site will also support people building extensions that existalongside the platform rather than being integrated into it,” Program Manager Colin Miller told Galli, according to the blog.
In the short term, the Micro Framework will only aid developers andintegrators of resource-constrained embedded systems and not thelarger communities building more robust intelligent devices, desktopand enterprise applications, according to Weinberg. More crucial isthe potential for pressure from other other source projects to spur.Net uses.
“I find the release more interesting for its use of the permissiveApache license. By licensing the Micro Framework under Apache, therelease throws down a gauntlet to open source .Net work-alike Mono,which is licensed under GNU GPL and LGPL. What used to be a starkchoice between highly proprietary and closed source .NET vs. open andfree Mono is now more clouded,” Weinberg said.
Embedded developers and others could find Redmond’s code and termsmore attractive for the flexibility conferred by Apache licensing. Thekey is that Apache 2.0 demands minimal reciprocity for code licensedunder it. The license requires only preservation of the copyrightnotice and disclaimer, he explained.
“Unlike GNU, GPL and LGPL employed by Mono, Apache is not a copyleftlicense and allows use of source code for both proprietary and FOSSderivation and deployment. While OEMs, integrators and others aretoday mostly comfortable with the disclosure requirements imposed byGNU licenses, their legal departments still cleave to closely heldIPR, potentially giving .Net Micro Framework advantage over itstraditional FOSS rival, Mono,” concluded Weinberg.