Shared Source and Windows CE
I read with some excitement Microsoft's recent announcement of their shared source release of Windows CE 6.0. Microsoft has clearly recognized what many RTOS companies have known for a while – device software developers want and need easy access to the OS source code, both for debugging and for customization. This is a great move that will surely benefit developers.
What really piqued my interest, though, was the shared source initiative under which CE 6.0 was released. Microsoft has three different shared source license agreements in this initiative, plus a couple of variations. I'm not a lawyer, so take this with a grain of salt, but it appears they have loosely modeled the Microsoft Permissive License (Ms-PL) after the Apache License and the Microsoft Community License (Ms-CL) after the Mozilla Public License. From my reading of these two licenses, I believe they qualify as official open source licenses as defined by the Open Source Initiative. I wonder if the OSI has the same opinion. The third license, Microsoft Reference License (Ms-RL), is only for viewing source code and not for modifying and redistributing it, so this one doesn't qualify as an open source license. Neither do the Ms-LPL and Ms-LCL variants (L=Limited) because they apply only to software running on the Windows platform. However, I have to say that I'm impressed with the simplicity of each of the licenses, and I'd love to hear opinions from others who have looked at these closely.
So how is CE 6.0 licensed? It wasn't clear at first, even on the CE page. I downloaded the CE 6.0 evaluation, and the Evaluation License appears to inherit from the Ms-PL – the least restrictive shared source license. I say "inherit" because there is a lot of extra language about patent rights and non-commercial evaluation usage. (I'm very curious how the Production version of the CE 6.0 shared license differs from the Evaluation License.) That being said, the Evaluation License is similar to Ms-PL in that it allows users the ability to modify and redistribute (non-commercial) derivative works without being required to share their changes with the community.
I must confess that I was a little disappointed…probably because my Eclipse bias caused me to read the announcement and think "community development of WinCE". Microsoft has not taken that radical of a step. They have opened up the kernel source code to the general public, though, and anyone is free to download and try out the technology. It's a good first step.
On a final DSDP-related note, both the NAB and eRCP projects have ports for earlier versions of WinCE, so stay tuned as they as move forward on the new Platform.


1 Comments:
It looks like Microsoft is beginning to see the eventual commoditisation of the operating system. Consider that Java and the .NET languages are already mostly OS-independant. .NET executables written in C#, VB.NET, Visual C++.NET, etc. can run on non-Windows OSes (via Mono and Rotor). In 5 or 10 years, user-space applications may not care at all what OS they run on — as long as there's a rich, standardized class library insulating the app from the ugly incompatibilities of the OS. The UNIX and Win32 APIs are destined never to merge, but the J2?E/.NET class libraries run on both OSes. Perhaps the evolution of J2?E/.NET will bring the final unification that will truly create write once, run anywhere?
Post a Comment
<< Home