〔转〕“中立人士”对嵌入式Linux的评论

上周,Green Hills Software(GHS)就嵌入式Linux撰写了一则措辞严厉的观点,下面就是它的开场白:“Embedded Linux是迄今为止最夸大其词的嵌入式操作系统。它吹嘘为廉价、高质量、高生产率、可靠、应用范围广以及得到很好的支持,可是,恰好相反…”

Green Hills接着恭贺Linux供应商承认这种操作系统是“一片混沌”(要谢谢风河!)且是“无底洞!”(也感谢你,MontaVista!)然而,赞扬是短暂的,据GHS透露,这种愤世嫉俗的工作方式会让你惊恐,以至于无法利用Linux自己编写操作系统,而最终变为风河或MontaVista的客户。

那是有些强硬的谈论,但是,GHS并不是中立的观察家。这家公司销售自己的操作系统,因此,它坚持由宣讲对Linux的恐惧、不确定性以及疑虑而获益。的确,我所交谈过的每一家供应商均在Linux上采取显然有利于自己的立场。下面是我听到的若干例子:

MIPS:自我编写的Linux非常管用!直接访问Linux MIPS并下载!我们的Linux支持我们成为赢家!

Wind River, MontaVista:免费的Linux是一场灾难。然而,我们才提供“真正”的Linux,否则的话,你将在键盘面前不知所措!

QNX: Linux是一场灾难。然而,我们的类似Linux的RTOS确实伟大的!

Microsoft: 晕!你为什么会看上Linux?如果采用WinCE,生活会更轻松!

Mentor Graphics: Linux?WinCE?你简直在开玩笑!你可以从像Nucleus那样轻量的RTOS中获得你想要的一切。

有一件事情是肯定的:没有人说Linux存在真正的缺点。然而,哪一家供应商说的是真相呢?或者说,他们希望促销才撒谎的吗?

实际上,每一个观点均包含合理的成分。每一个项目均具有独一无二的要求,因此,不同的项目会寻求不同的操作系统。下面我(无党派人士)列出了当评价嵌入式Linux时你应该提出的问题:

你需要全功能的操作系统吗?嵌入式Linux很大,通常代码长度超过2MB。当然,你可以通过裁减像网络堆栈以及文件系统这样的功能而压缩操作系统,但是,这些功能正是你要采用Linux的主要原因。如果你不需要这些功能,你最好采用精干的RTOS。

你能够获得针对特定应用功能的操作系统吗?WinCE就提供无数的版本,包括专门为汽车应用而设计的版本。(QNX也一样)。Nucleus提供针对便携式媒体播放机的公用的特殊功能。不一而足。

许可的模式是什么?Linux General Public License(Linux通用公共许可)存在其缺陷。如果你想修改内核要怎么做?然而,不要指望把你乱砍之后的内核与其它人分享?如果未经授权的代码溜进内核之中会怎样?所有者是否应该决定控诉?对于生命期长的产品,如汽车和网络基础设施来说,像这些问题就是主要的问题。我们当中其他人常常忽视法律问题并且在下一个产品版本中简单地升级内核。Linux会做出响应并足够可靠吗?我了解你在想什么:嵌入式Linux是专门为解决这些问题而设计的吗?是的,但是,嵌入式Linux无法匹配像INTEGRITY这样的操作系统。

你愿意现在付费或是以后付费?自己编写Linux操作系统是免版税的,但是,你必须做出重大的工程投资以及构建它并让它跑起来。相比之下,商用的Linux软件包(或竞争操作系统)能够让你以最小的前期投资成本进入市场。

你要付运多少产品?如果你的批量小,让你的操作系统团队急急忙忙自己开发操作系统的做法就没有意义。

你的上市时间如何?如果你赶着上市,那么,自己编写操作系统的方法也没有什么意义。

对你的特殊的处理器、电路板或参考设计提供技术支持吗?提供最佳技术支持的操作系统将给予你最低的NRE以及最短的上市时间。

你需要对接你的现有代码吗?大多数项目均是在现有的代码上构建的。如果在对接代码上浪费太长时间,你就会丧失转换操作系统所获得的好处。(你实际上可以跳过这个问题,但是,会增加系统的另一层复杂性。)

你的工具链支持操作系统吗?如果不是,你就要转换。这就增加了学习曲线并让设计团队不稳定。如果你愿意转换工具链,要寻找如MIPS的Linux热点分析仪这样的具有操作系统的功能。不论你对嵌入式Linux做出什么决定,但是,公司的MUTLI IDE自从2001年起就支持嵌入式Linux。要自问:如果GHS真的认为嵌入式Linux是一场灾难,为什么这家公司为它提供支持呢?

Commentary: What’s the deal with embedded Linux?

Last week Green Hills Software wrote a scathing opinion piece on embedded Linux. Here’s the opening:

“Embedded Linux is the most hyped embedded operating system ever. It is promoted as inexpensive, high quality, high productivity, reliable, widely available, and well supported. It is none of these things…”

Ouch! Green Hills goes on to congratulate Linux vendors for admitting that the OS is “CHAOS” (thanks, Wind River!) and “a money pit” (you too, MontaVista!). But the praise is short-lived: According to GHS, this is a cynical ploy to scare you away from do-it-yourself Linux and turn you into a Wind River or MontaVista licensee.

That’s some tough talk, but Green Hills Software is hardly a neutral observer. The company sells its own operating systems, so it stands to benefit by sowing fear, uncertainty and doubt (FUD) about Linux. Indeed, every vendor I have spoken to has taken a distinctly self-interested position on Linux. Here’s a sampling of the claims I’ve heard:

MIPS: Do-it-yourself Linux works great! Just go to LinuxMIPS and download! Our Linux support makes us a winner!

Wind River, MontaVista: Free Linux is a disaster. Buy “real” Linux from us or you will end up crying over your keyboard!

QNX: Linux is a disaster. But our Linux-like RTOS is great!

Microsoft: Geez, why are you even looking at Linux? Life is much easier with WinCE.

Mentor Graphics: Linux? WinCE? You have to be kidding. You can get everything you want from a light-weight RTOS like Nucleus.

One thing is for sure: There is no shortage of opinions on Linux. But which vendor is telling the truth? Or are they are lying in hopes of building sales?

The reality is that each viewpoint contains elements of truth. Every project has unique requirements, so different projects call for different operating systems. Here is my (non-partisan) list of questions you should ask yourself when evaluating embedded Linux:

Do you need a full-featured OS? Embedded Linux is big; typical builds exceed 2 MB. Sure, you can shrink the OS by stripping out things like networking stacks and file systems, but these features are the main reason to use Linux. If you don’t need these features, you are better off with a lightweight RTOS.

Can you get an OS with application-specific features? WinCE comes in numerous flavors, including versions designed specifically for automotive applications. (The same is true of QNX.) Nucleus has. community special features for portable media players. And so on.

What is the licensing model? The Linux General Public License has its drawbacks. What if you want to modify the kernel, but don’t want share your hacks with the rest of the world? What if unauthorized code sneaks into the kernel, and the owner decides to sue? Questions like these are mainly issues for products with long life spans, like cars and network infrastructure. The rest of us can often ignore the legal issues and simply update the kernel in the next product rev.

Is Linux responsive and reliable enough? I know what you’re thinking: Isn’t embedded Linux specifically designed to address these points? Yes, but embedded Linux can’t match OSs like INTEGRITY.

Do you want to pay now or later? Do-it-yourself Linux is royalty-free, but you have to make a major engineering investment to get it up and running. In contrast, a commercial Linux package (or a competing OS) can get you to market with minimal up-front cost.

How many units will you ship? If your volumes are low, it doesn’t make sense to have your own OS team-so skip the do-it-yourself approach.

What is your time to market? The do-it-yourself approach doesn’t make sense if you’re in a hurry.

Is there support for your specific processor, board, or reference design? The OS with the best support will give you the lowest NRE and shortest time to market.

Will you have to port your existing code? Most projects are built on existing code. Waste too much time porting the code, and you lose the benefits of switching OSs. (You can sidestep this issue with virtualization, but that adds another layer of complexity to the system.)

Does your tool chain support the OS? If not, you will have to switch. This adds to the learning curve and makes the design team cranky. If you are willing to switch tool chains, look for OS-aware features like MIPS’ Linux hot-spot analyzer.

Whatever you decide about embedded Linux, it’s a good idea to take vendor claims with a grain of salt. For example, Green Hills talks tough about Linux, but the company’s MUTLI IDE has supported embedded Linux since 2001. Ask yourself: if GHS really thinks embedded Linux is a disaster, why does the company support it?

Embedded Linux: With friends like these, who needs enemies?

If embedded Linux champions are saying that embedded Linux is terrible, why would anyone want to risk their products or their company on it?

By Dan O’Dowd, Green Hills Software
Embedded.com
(05/07/08, 12:00:00 AM EDT)

Embedded Linux is the most hyped embedded operating system ever. It is promoted as inexpensive, high quality, high productivity, reliable, widely available, and well supported. It is none of these things, as two of its greatest proponents have recently pointed out. Wind River Systems and MontaVista Software, companies that each describe themselves as “the leader” in embedded Linux, have both initiated marketing campaigns touting the horrors of using embedded Linux.

In the January/February 2008 issue of Military Embedded Systems, Jim Ready, the founder and chief technology officer of MontaVista, says “a [develop-it-yourself] embedded Linux distribution [is] a significant investment (read ‘big bucks’) in time and money.” He estimates the three-year cost of a large scale embedded Linux deployment at $19,623,750. Here are some other quotes from the article:

"To keep abreast of the changes occurring on a daily basis a developer needs to monitor the email traffic of 11 different and unsynchronized open source projects… up to 5,000 messages a day with 1,000 of these being patches that need to be evaluated and possibly applied to the source base. Simply ignoring the traffic, figuring that the system in use seems to be working well enough, can lead to disastrous consequences later.

"A recent security patch that took all of 13 lines of code to implement against an embedded Linux system would have taken more than 800k lines of source patches to implement, if the previous trail of patches had been ignored. It’s a classic case of pay now or really pay later.

“If there ever were a situation where the ‘software money pit’ could really take hold, it’s in owning 30 million lines of constantly changing source code. Even in the simplest case, the development costs are typically in the millions of dollars.”

Wind River delivers the same message in a recent full-page advertisement. It asks: “Choosing Linux as your next device operating system?” It answers: “CHAOS” in large crooked letters, followed by “fatal error,” “system crash,” “game over,” and “panic.”

Even the greatest critics of embedded Linux have never been so harsh. The experts say that embedded Linux is “CHAOS” and “a money pit.” With friends like these, who needs enemies?

One would expect Wind River and MontaVista to tout the advantages of their embedded Linux support, but why trash the product on which their business is based? If they are being unfair to embedded Linux, the Linux community will rise up to denounce them, destroying their embedded Linux support business.

It’s more likely that Wind River and MontaVista are telling it as they see it–for marketing purposes. Marketing usually puts forward a problem (bad breath, headaches) that many potential customers will relate to, and then promises a solution. Why would Wind River and MontaVista put forward the problem of embedded Linux nightmares in marketing materials unless they think many potential customers have experienced those nightmares and need a solution? Wind River and MontaVista are certainly in a position to know how hard it is to use embedded Linux, because they are using it, supporting it, and selling it. And since their business is trying to pick up the pieces for companies that have already failed with embedded Linux, they have heard plenty of horror stories.

Wind River and MontaVista each say that they can tame the embedded Linux monster and make it work for customers. But can they? Trying to fix embedded Linux for eight years, MontaVista is reported to have lost over $60,000,000, going through five rounds of venture capital, three rounds of layoffs, and three CEOs in the last two years. Since jumping on the Linux bandwagon, Wind River has gone from profitability to losses, recently announcing a layoff of 7% of their staff.

So why are Wind River and MontaVista bashing embedded Linux? Each year, Embedded System Design magazine carries out a survey of embedded systems developers. Over a two year period from 2005 to 2007, the percentage of developers using embedded Linux and the percentage planning to use embedded Linux have both declined. And even more important, the percentage not interested in embedded Linux has nearly doubled.

According to ESD’s analysis, most of those who are reasonable targets for embedded Linux (those with PC-like applications) have already adopted it. The rest have learned it is not appropriate and are moving on. See the article “Annual study uncovers the embedded market” (Richard Nass, www.embedded.com/design/opensource/201803499?pgno=2) for details of survey.

It seems clear what is happening: Wind River and MontaVista are trying to get the dwindling number of disenchanted embedded Linux users to pay them “big bucks” to escape the embedded Linux nightmare. They hope that if they can get enough customers signed up, they will finally get enough money to tame the beast.

But what happens if they cannot? There are indications that they may have exhausted the market. If Wind River fails to stem the tide, they will need to drop their support for embedded Linux to return to profitability. And if MontaVista doesn’t show some sign of stemming their losses soon, their investors will pull the plug. When Wind River and MontaVista abandon embedded Linux, their customers will have to live the embedded Linux nightmare that Wind River and MontaVista are telling them–all too clearly–that they will have.

This embedded Linux bashing from embedded Linux’s strongest proponents should give pause to those who are thinking through their embedded operating system strategy. If embedded Linux champions are saying that embedded Linux is terrible, why would anyone want to risk their products or their company on it?

Why would anyone use a product that its proponents say is awful? Would you buy a car from a salesman who admitted the car was a piece of junk just because he said he had a great service department? That’s what embedded Linux’s friends suggest that you do. With friends like these, who needs enemies?

Dan O’Dowd is the founder and chief executive officer of Green Hills Software. Prior to Green Hills Software, O’Dowd managed compiler and operating systems development at National Semiconductor, where he designed the architecture for the NS32000 32-bit microprocessor. O’Dowd holds a bachelor of science in engineering from the California Institute of Technology.