LinuxGizmos.com Sponsor ads:

Lineo has issued a further rebuttal to a paper posted by Microsoft on its website, in which Microsoft asserts that Windows XP Embedded is superior to Embedded Linux. Earlier this week, Lineo issued an… initial response countering many of the specific statements made by Microsoft in its anti Embedded Linux paper, as did LynuxWorks. In this additional rebuttal, Lineo identifies the key characteristics that are important in comparing operating systems intended for use in the embedded market, and offers a differing perspective (from that of Microsoft) on how Windows XP Embedded and Embedded Linux compare.

Below is a point-by-point rebuttal to Microsoft's recent paper comparing Windows XP Embedded to embedded Linux in general and to Lineo-specific products.

Historically, such comparisons from Microsoft have consistently attempted to show negative elements about a competitor's solution while ignoring Microsoft's own shortcomings altogether.

In this paper, the Microsoft authors seemingly forgot to address the relevant community of intelligent and capable software engineers, device manufacturers and media editors who would care about embedded system software. The content and spin of this Microsoft paper seems to assume an audience unfamiliar with competitive offerings and speaks to the level of Microsoft's usual “white paper” audience of people who use their home computer to surf the Internet, swap audio files and occasionally use a word processor.

Lineo welcomes the opportunity to openly discuss the issues Microsoft attempts to spin in this comparison. Please contact the Lineo at (801) 426-5001 or via email to [email protected] The following are a few of Lineo's responses to some of the erroneous and/or “over-spun” statements made in the Microsoft comparison.

Security

Microsoft refers to Red Hat SEC filings in an attempt to warn of security risks inherent to open source development. The truth is SEC filings always contain very alarming risk statements, even when they are unlikely, in the interest of full disclosure to the investment community. The reality of open source software and the “many eyes” theory is realized by comparing the track record of security reports for a Microsoft OS vs. Linux. Microsoft's long and dismal record for the stability and security of its operating systems must be taken into account here. Consider what Microsoft's “security risk” statements would have to be on an SEC filing.

Given its history and reputation, it is surprising that Microsoft has chosen to address the security and reliability issues of Linux, especially as Microsoft's own end user license agreement (EULA) includes statements such as: “DISCLAIMER OF WARRANTIES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND ITS SUPPLIERS PROVIDE THE PRODUCT AND ANY (IF ANY) SUPPORT SERVICES RELATED TO THE PRODUCT ( “SUPPORT SERVICES”) AS IS AND WITH ALL FAULTS, AND HEREBY DISCLAIM ALL OTHER WARRANTIES AND CONDITIONS, … “

Processor support and tool robustness

Microsoft claims Lineo has “just 4 preconfigurations, 2 for x86 and 2 for PowerPC”. Microsoft's information is dated. In-fact, Lineo has multiple preconfigurations for every processor supported. Presently, Lineo supports many boards across the primary embedded processors, including: x86, PPC, MIPS, ARM, SH3, and MPC5272. It is true these preconfigurations (or Board Support Packages in Lineo terms) come at additional cost above Lineo's base tool-chain, but Lineo BSPs also provide the added value of a fully functional build tool-chain (compiler, linker, etc.), debug support (for all Linux memory/application spaces) and deployment wizards (to easily move your code from the development platform to the target). Lineo's BSPs are not simply software configurations which the user must then figure out how to build, debug, and deploy.

The Lineo Target Wizard allows a developer to load any of the existing configurations. Once this is loaded, turning on or off various packages and capabilities is trivial via an easy-to-use graphical tool that aids developers in creating numerous customized configurations.

Software footprint

Microsoft believes Embedix has a minimum footprint of around 2 MB of flash and 4 MB of RAM. These numbers are reasonable minimums for a realistic and usable system under Lineo-based solutions. But, Lineo is not sure why Microsoft made mention of the memory requirements at all. As a comparison, Microsoft claims XP Embedded “supports a minimal bootable image of 4.8 MB”, which apparently is a reference to only non-volatile memory requirements. As a result of Microsoft's stated minimum required memory crossing the 4MB boundary, solutions running Windows XP Embedded will require a minimum 8MB of memory, doubling the cost of Flash/RAM memory per device. It is impossible to purchase just 0.8 MB ROM.

Additionally, Microsoft has chosen to leave off whatever Microsoftian (historically very large) amounts of RAM XP Embedded will require.

Price

Microsoft takes issue with Lineo charging a royalty for its intellectual property (IP). While Lineo does charge for some IP, royalties are not charged for any of the items Microsoft has listed. Microsoft has also distorted the price that Lineo charges and the terms of the licensing. Important to note, the core Linux elements, including hundreds of features which can be used to create a large number of embedded devices, remain royalty free.

Microsoft also uses dated information for Lineo tool pricing. The current cost for the Lineo Embedix SDK is $3000 per seat, quite comparable to the price of using Microsoft developer tools. Lineo BSPs, which include a ported, tested and validated Linux kernel and operating system services combined with the complete development tool chain (compilers and linkers) is currently priced at $1495. In comparison with industry alternatives, this is not a costly toolset.

Microsoft's tool chains generally consist of completely closed-source elements, with a huge list of integrated features, designed specifically to manipulate Microsoft OS binaries. Lineo and Linux on the other hand, provide a simplified development system where the tools are focused and the source is open. Lineo believes it would be impossible for Microsoft to design a tool large enough and with enough features to compensate developers for the lack of source code access.

In truth, Lineo provides OEMs with multiple options to pay for the use of the company's IP, including one-time, upfront payments or royalty-based pricing, where Lineo agrees to share the risk of product success with the OEM.

Customer support

The technical support needs of Linux versus a closed operating system are completely different. Microsoft is again comparing apples to oranges. The open source nature of Linux provides any competent engineer with the ability to review the OS code and derive a new feature, application, device driver, or bug-fix without requiring external vendor support. Closed-source solutions, such as Windows XP Embedded, effectively tie the hands of engineers, forcing them to consult Microsoft for often very minor problems.

Microsoft hails the benefits of three years of “hotfixes”, which are of limited value since Microsoft, like Lineo, will most likely have product upgrades more frequently than every three years. Regardless, the open source nature of Linux allows anyone to download the latest kernel (including improvements and bug-fixes) and include it for free into product – all without dependence on a third party or vendor.

Microsoft also raises the issue of Lineo product consisting of Lineo tools, Metrowerks tools and the Caldera Linux desktop distribution. Microsoft erroneously claims a Lineo customer must contact all three companies for various support needs. The truth is Lineo provides front line support for these products to its OEM customers.

Additionally, developers are not required to use the Caldera desktop distribution provided with Lineo Embedix SDK; Embedix SDK will run on most Linux host distributions as well as a Windows distribution.

Embedded experience

Lineo believes the Microsoft authors should have reviewed the state of the current Linux 2.4 kernel while trying to understand its beginnings. Linux grew up on the Internet. Linux support for networking services is comprehensive and continuously evolving.

Does Microsoft really not understand that in the embedded world support for discrete network cards is generally not required? Instead, networking hardware is usually provided directly on board rather than via a separate network card. Nevertheless, the open source nature of Linux allows anyone to modify existing drivers (generally faster than legacy software companies can deliver similar modifications) to support new hardware as it becomes available.

Microsoft creates issue with the localization of the OS in the embedded space, which Lineo believes should never be done. Instead, Lineo suggests localizing the user interface and not the OS. Even desktop Linux versions don't localize the OS – it's simply not necessary.

Microsoft claims a “comprehensive OS foundation with proven performance and reliability” for an operating system that was only recently released to the desktop and has certainly not yet shown “proven performance and reliability”, especially in the embedded market. Linux, on the other hand, has been much more customized for the embedded market than Windows XP Embedded, with uClinux being the best example of this customization. Lineo Embedix is proven in both real-world performance and reliability.

Developer community

Recently, Lineo has spun off various hardware businesses within the company.

Microsoft takes a potshot at these recent Lineo reorganizations that resulted in employee reduction. Microsoft neglects to effectively point out that the bulk of the “people loss” involved people working on products other than what Lineo considers to be the core technologies of operating systems and development tools.

Microsoft compares its complete “Windows Embedded” developer team (they diverge from the use of “XP Embedded” and now refer to four product teams to inflate numbers) with the Linux development community. Does Microsoft include, within the XP Embedded team, developers for the GUI and the Internet browser, previously mentioned as key elements of their embedded solutions? Additionally, Microsoft neglects to mention the fact the Lineo engineers leverage the contributions of thousands of additional Linux developers, some of whom, ironically, may even work at Microsoft!

Open source licenses

Microsoft points out complications with the various open source licenses involving 3rd party applications and the Linux kernel itself and that Lineo has a $3000 “lawyer in a box” (referring to the Lineo Embedix GPL Compliance Toolset) to help analyze these licenses. These statements seem to reflect Microsoft's fear and lack of understanding of the open source licenses. When using open source software, such as the complete Linux environment, there is a potential for many different licenses to be used. Different software developers choose to word their licenses in different ways. The Lineo Embedix GPL Compliance Toolset organizes and simplifies these licenses to help an embedded developer understand obligations and to point out necessary code changes if the developer desires not to meet the obligations. For the most part, obligations are either crediting the provider of tools within product documentation or, in some cases, require only credit within the source code that might never be seen by the end user. Other packages require a small donation to a charity, a postcard to the original author or in the case of the “Beerware” license, just send a six-pack of quality beer to the author.

Lineo provides the Embedix GPL Compliance Toolset to review the complete, deployable software configuration and architecture. This tool flags potential open source licensing violations relative to applications, services, libraries and specific library linking techniques. It allows any line-level engineer to quickly (within minutes) evaluate a system to spot early stage licensing violations. Developers can then decide to proceed along the same path, releasing the resultant code under the open source license, or rearchitect the application to avoid the licensing issues completely. This tool gives developers knowledge, resulting in power and flexibility.

Meanwhile, one of the main functions of the tool is to combat the FUD Microsoft and others spread about open source licenses. Regardless of the chosen operating system, any software engineering work requires responsible engineering practices and some oversight to avoid copying or unfairly utilizing the work of others or infringing on intellectual property. Pretending this is unique to open source development is one of Microsoft's biggest misdirection tactics. Microsoft does nothing to assist customers with IP management issues, even though potential XP Embedded customers will face some of the same legal and patent infringement issues that exist for open source embedded developers.

Microsoft portrays open source licenses as a disadvantage to software development, when the truth is that open source offers more choice. For instance, does the developer want to use existing, freely available code (and contribute the resultant product back to the community) to quickly produce your driver or application or does he want to program from the ground up — increasing the development cycle, but avoiding the derivative work clauses of the open source licenses? This choice is not offered by a closed operating system such as Windows XP Embedded.

Concluding thoughts

Microsoft has tied the web browser and windowing environment to the underlying operating system and defines these items as major OS components. Apparently they do not believe in product differentiation or choice. This philosophy runs strong throughout this Microsoft document.

On the other hand, Lineo does not attempt to dictate to its customers what must be included in the final configuration. For example, many embedded products do not require a GUI or a web browser; therefore it would be presumptuous for any embedded operating system company to conclude that these are major components required in every system. Instead, the Lineo Embedix embedded operating system offers a “core” set of features necessary to provide a fully functional operating system, allowing the developer to pick and choose elements that distinguish a product from the competition. The truth is that this flexibility allows developers to innovate far beyond what it possible under Microsoft's closed-source model.

Lineo provides fully open source Linux with no per-unit costs. The developer is free to modify and use thousands of existing applications for their specific device. License bearing components are negotiated in a way that best suits both the customer and Lineo. Windows XP Embedded uses a one-size-fits-all technique with a commensurate royalty structure, restricting the ability of the development team to limit costs.

Support for Linux is also competitive. The open source nature of Linux means that effective support can be provided from a wide range of resources including internal, contractor, public access (Internet-based resources) and commercial Linux corporations. What do these things mean to the developer? They mean that Linux vendors will be vying for your business, giving developers more choice to match their unique time-to-market, cost and feature requirements.