Microsoft Corp has announced it is opening up the entire source code for Windows Embedded CE to developers under the aegis of its Share Source Initiative.
The move, which is part of the announcement of version 6.0 of the OS by the Redmond, Washington-based software heavyweight will increase the total volume of shared source code by 56%, from 2.5 million to 3.9 million lines, according to Hardy Poppinga, marketing manager for Windows Mobile and Embedded in EMEA.
It means developers will now be able to gain source code access to the kernel, file system and Microsoft-developed device drivers, though of course the measure cannot extend to third-part drivers. Microsoft is also not opening any of Internet Explorer.
Poppinga said the initiative is specific to the embedded OS world, where flexibility is key and competitive pressure is growing. The Share Source Initiative, which actually dates back to 2001, is specific to Embedded CE licensees, and differs from an open source model in that anyone developing a derivative of the source code owns the resulting intellectual property and thus is under no obligation to give back anything to the developer community, he went on.
Windows CE is a deliberately flexible operating system, highly componentized so that device manufacturers choosing to base products on it can select which components to include, depending on how large or small they want the eventual OS footprint to be. Its target markets are products such as scanners, GPS, remote controls, man-to-machine interface and VoIP devices, including landline phones, where its small footprint vis-Ã -vis XP Embedded makes a difference. It’s where you need a footprint of 350KB, or even down as low as 200KB, said Dave Baker, embedded developer evangelist for Microsoft in the UK.
XPE is a full-blown OS and a cutdown version of XP, with a lot more functionality and designed for multimedia usage. As such, it is not appropriate for inclusion in the Shared Source Initiative, Poppinga went on. XPE is found in applications such as robots, industrial automation, medical equipment, thin clients and gaming stations. Another important difference between XPE and CE is that the former runs only on X.86 platforms, whereas CE is designed to run on other processors too, such as ARM, MIPS and SH, from STMicro and Hitachi joint venture Renesas. In addition, it is a real-time, deterministic OS, which means you know an operation will happen in a certain time, so that you can set priorities for processing, unlike XPE, which can do something else like caching to disk before it carries out the operation you want done, Baker went on.
Windows Mobile, meanwhile, is based on CE, but has a number of smart phone features added in and is thus technically a different product, and not the subject of this initiative. Windows Mobile is less flexible or componentized, said Baker.
Of course, in opening up its entire CE kernel, albeit on a controlled basis, is obviously in part designed to give Microsoft equal boasting rights to Linux on the openness front, since embedded Linux is CE’s most serious competitor to take over from manufacturer-specific OSes in the market the two address. The real benefit is beyond open source, Poppinga argued. It’s also in first-class development tools and support, and there’s also our IP Indemnification program announced in February, whereby we take o the cost of any litigation over intellectual property based on development work for Embedded CE.
Microsoft is also touting, in release 6.0, the fact that it can now run 32,000 simultaneous processes in its 2GB virtual memory space, compared with just 32 processes in the same space in v5.0. It is also segmenting the three use scenarios for the OS, namely in the house, at work and on the road, with different SKUs for each.
Scenario 1 is CE with multimedia capabilities taken from the Networked Media Device Feature Pack, Poppinga began. Scenario 2 is for wired or wireless projectors, with the capability in the OS to send presentations from a laptop to a projector, or indeed for as projector to access the data on a remote PC running Vista without needing to be running the specific app being displayed. Scenario 3 is where we’re including the cell core functionality from the GSM radio stack in WM5 for over-the-air updates for things like real-time traffic information.
Developers will now specify, within the Platform Builder development tool for CE, whether they are working on scenario 1, 2 or 3, with different components coming with each. Platform Builder is also now integrated into the Visual Studio 2005 Professional development environment, which is a major step forward, because it saves time because app developers can now work with Visual Studio for the app and Platform Builder for the OS, all in one place, Poppinga continued. There is also a pricing implication, in that Platform Builder has previously sold as a standalone for $995, but now it ships as default with Visual Studio.