Bully in the (Embedded) Playground
Microsoft aims its guns at its next victim: embedded Linux. But, the embedded Linux community quickly responds to the challenge.
by Rick Lehrbaum
Monopolist Microsoft was up to its old tricks in the fourth quarter of 2001, publishing a lengthy and one-sided comparison of their newly introduced Windows XP Embedded with embedded Linux. The document, titled “Why Microsoft Windows XP Embedded and Not Embedded Linux?”, compares XP Embedded to embedded Linux:
Selecting an operating system (OS) platform is one of the first decisions an embedded developer must make for any given device design. Whether you are considering migrating from a proprietary to commercial platform, or from one commercial platform to another, the objectives are the same: accelerated time to market; a solid, extensible OS core that can be used across all projects; superior technologies that support differentiation and address emerging opportunities; and predictability over the device lifecycle. In addition, you want it at the lowest possible total cost from a reputable vendor who will support you throughout the process.
The document then proceeds to compare XP Embedded to embedded Linux, claiming, as you might expect, that XP is superior in each case: Integrated, Comprehensive, Unmatched, Interoperable, Proven, Global, Linux Is Not Free and OEM Licensing.
After learning of the Microsoft anti-embedded-Linux document, LinuxDevices.com issued a call to action, noting that “embedded Linux is not the product of a single dominant vendor, but rather is the result of the collaborative (and competitive) efforts of an entire market consisting of dozens of large and small companies plus thousands of individual developers”, and urging the embedded Linux community to respond en masse to Microsoft's attack.
The embedded Linux community quickly rose to the challenge, responding with sharply worded talk-backs, as well as in the form of lengthy, detailed and sometimes entertaining rebuttals from Lineo and LynuxWorks. Below are excerpts from a few of the many talk-back posts received.
This is not the first time that MS tries to discredit Linux by the means of a self-made comparison of features Windows supposedly has and Linux lacks. For someone living in Germany (like me), this type of PR is completely strange, as comparative advertisement is not allowed here. With Linux, we started seeing this kind of ad in newspapers, as Linux is not a company but a free product that can't sue another company for any sort of commercials. I always wondered why they are doing this. If we put away our natural preference for everything that represents freedom and individuality, we could thank MS for telling us where Linux can be improved and where we find good arguments to sell Linux to potential customers. Every article of this kind generates the same reaction—and at the end, MS seems to be the loser.
Microsoft is doing what it does best: going above the developers' heads to the managers and CxOs who have the power to Hand Down Decisions From Above. Embedded guys like to roll their own custom solutions and with good reason: horses for courses. Different devices have different requirements. PhBs like to purchase the one-size-fits-all solution and make it the company-wide standard. PhBs have enormous clout, otherwise MS would likely not be a monopoly. I don't know how much they have in the embedded space, but I figure with devices like cell phones, PDAs, kiosks, etc., gaining prominence, the PhB-to-clueful-manager ratio is increasing.
Microsoft has very valid reasons to be worried about its long-term importance and future fiscal profits with regard to its diminishing relationship and relevance to the IS “Backend Iron” and embedded products markets. Microsoft dominates the x86-32 desktop market and that is where it will die.
Well, speaking of PR or political support for Linux depends on where you look at it. Within the European Union Linux is getting more and more heavyweight political support. The governments of France, Germany, Spain, Portugal and Finland have started a lot of open-source projects that are evaluating the possibility of getting rid of MS.
Microsoft's idea of “embedded” is...something heavier than a thin PC client. The Microsoft Toaster would be a quad P4, two for each side of the toast, and would actually do the toasting by dropping to command-line mode for the required amount of time. The idea of fitting a whole OS, web browser, et. al., into 4MB of NVRAM and 8MB of real RAM is anathema to them. Embedded, to them, means maybe be able to squeeze into 32MB of RAM if pared back to the bone. They spec enough resources for their minimal system to run a decent e-commerce site on if you used Linux instead. If you don't wrap your mind around that perspective, you'll never understand where they're coming from.
Microsoft decries the fact that Linux provides developers with a choice: “For example, there are at least five different window managers and at least four competing browsers....” In Microsoft's mind, it would appear that for a developer to have a choice as to which window manager or browser best suits their needs is a bad thing. For some applications, the massive—and often unused—features of something like Microsoft's Internet Explorer may be overkill, and its multi-megabyte footprint would be prohibitive. For Microsoft, these issues seem to be secondary to the mindset that having choice is a bad thing.
We did some investigating of our own and are adding some commentary on the new [Windows XP Embedded] release as a contender in the embedded market. In general, we found that the operating system has limited applicability in embedded markets and doesn't have the clout to really take on embedded Linux in head-on comparisons. XP...has shortcomings as an embedded offering. There are some places it can go, but those are limited for reasons you will see below. The bulk of Microsoft's issues continue to be in size and performance.
[This is followed by a long discussion of specific features and issues.]
In summary, Windows XP is not as good an embedded solution as embedded Linux for the following reasons:
Memory footprint—Windows XP has a memory footprint between 5 and 15MB, where Embedded Linux has a memory footprint of 259KB.
Performance—the market has proven that Linux offers performance superior to or equal to Windows for servers. Given the additional factors against Windows XP for embedded (size and complexity), this comparison will be more in favor of Linux for embedded applications.
Maturity—Linux subscribes to an OS model proven through 40 years of innovations. Interoperability issues, performance and general design have had an extremely long time to be tried and improved. Moreover, all these improvements have been done in a very diverse set of platforms.
Configuration—Linux is highly configurable, having been developed and deployed in memory-limited environments, in comparison to Windows XP, which has operated in memory-hungry monolithic environments.
Innovation—because of the open nature of Linux source code, it has become a nexus of activity in regards to innovative computing to a far greater degree than any Windows product.
Third-party support—thousands of applications, drivers and kernel extensions are available from open source as well as commercial vendors for Linux. The number is certainly comparable with Windows XP.
Networking—all major networking protocols, security features and extensions are available for Linux. In fact, many are implemented on Linux before other platforms.
Security—open-source nature of Linux allows the “many eyes” approach to be used to incredible effect. Security protocols, in particular, benefit greatly from this approach because their design and implementation are well documented and understood. A very stunning example of this is the NSA's recent release of a secure Linux.
Interoperability—Linux servers are among the key participants in the evolution of the Internet and, as such, offer a state-of-the-art interoperability solution. With Java providing all the benefits of Windows XP's .NET framework, Linux has a much greater degree of interoperability than Windows XP.
Cost effectiveness—development in any environment is the greatest expense. Having a diverse community for testing and deployment figures greatly in the success of Linux. Also, because of the highly custom nature of many embedded solutions, the highly configurable nature of Linux makes it particularly cost effective.
Support—Microsoft provides a single source of support for their product, limiting competitive offerings. In the Linux world, however, there are many choices among vendors who will provide support, solutions and software.
Development tools—while Windows XP is primarily constrained to development under an IDE environment, Linux provides the powerful UNIX development environment in addition to IDE environments.
Reliability—the deployments speak for themselves. Windows is rarely considered for mission-critical applications, where Linux is routinely considered for them.
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....
[This is followed by a long discussion of specific features and issues.]
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 is 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. [Optional] 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.
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.
- diff -u: What's New in Kernel Development
- Server Hardening
- 22 Years of Linux Journal on One DVD - Now Available
- Giving Silos Their Due
- What's New in 3D Printing, Part III: the Software
- Controversy at the Linux Foundation
- Don't Burn Your Android Yet
- Firefox OS
- February 2016 Issue of Linux Journal