技术开发 频道

三局见真章 微软Linux嵌入式开发成本PK

  【IT168 专稿】随着嵌入式系统开发日益复杂,使到开发成本也在不断增加之中。因此,大力降低开发的复杂性,实现低成本开发对于嵌入式厂商来说显得意义非凡。一般来说,嵌入式设备是软件和硬件高度集成的设备,其中软件平台是由软件开发工具和开发集成环境构成。如果开发平台选择失误,重新选择往往意味着要浪费大量的人力、物力以及时间,更重要的是会延误产品的上市时间,这无疑是一个沉重的打击。

  近日,我公司新一代嵌入式设备面临着开发平台的选择。公司多次组织开发部门和相关技术人员进行讨论。在会议上,Windows Embedded和嵌入式Linux两种平台的支持者争执不下,观点针锋相对。那么,究竟哪一种开发平台更能有效地降低开发的复杂性、降低产品成本和加快上市速度呢?在这个问题上两大阵营是经常发生“公说公有理、婆说婆有理”的口水大战,我们不妨来个全面的比较。本文详细分析嵌入式平台选型的要点,然后结合讨论会上的发言,分析许多开发人员关心的一个问题:究竟Windows Embedded 和嵌入式Linux相比较,谁的开发成本更具有竞争力?

  第一局:开发总成本大比拼

  (1)免费嵌入式Linux VS 商业化平台工具

  在嵌入式平台领域中,微软的地位无疑是非常重要的。但Linux不但继承了Unix的技术特色,更因为开放源代码而在商业机制上与一贯封闭的微软相对垒,更是赢得了众多支持者的口碑。免费开源的嵌入式Linux现在是嵌入式领域的热点话题,很多小型厂商为了节省开发成本都在采用免费的嵌入式Linux开发产品。他们认为Linux是免费的,因此开发成本会低很多,虽然他们也承认必须要花费不少的资源和时间去将它变成一个可用的商业产品。或者有人认为可从风河、MontaVista和红帽子等供应商处买到商业版Linux,但事实上商业版Linux可不便宜,在很多同等情况下和Windows Embedded的费用相差不大。

  对于一个嵌入式产品来说,从开发到批量上市的费用大致由三个方面构成:开发平台和开发工具费用、产品License许可证费用、以及开发过程中的各种隐性费用。在产品License许可证费用上,Linux是免收使用许可费的,Windows Embedded是要收取使用许可费的。抛开在技术上的区别,从开发平台费用来看可以分为:免费的嵌入式Linux、商业版嵌入式Linux和Windows Embedded。从平台费用的经济性上看,Open Source的Linux无疑是最吸引人的,因为它是免费的,而其它商用平台(如Windows Embedded、VxWorks)和商业版Linux都需要支付一定的费用。

  嵌入式开发平台从商业模式上可以分为两类:In-House平台(由各生产厂商自行研发和维护)和商业化的平台。对于完全免费的嵌入式Linux平台,由于各自应用的领域和需求的不同,必然要求开发者在基础版本上自行修改和维护,最终形成各自不同的版本,这样就和In-House的嵌入式开发工具没有什么区别了。在这一点上开发者需要有非常清醒的认识,就是厂商开发的是面向最终用户的嵌入式设备,而不是花大量的时间和成本在修改和维护Linux平台上。所以,虽然很多人会觉得免费的Linux可以节省成本,但实情上却是需要花费更多的隐形维护成本。

  因此,经过激烈的争辩和分析后,在我们公司的讨论会上一致的结论是:针对我们公司的技术实力而言,免费的嵌入式Linux暂时不具备商用化的快速开发、高可靠性、低成本维护等商业要求。当然,这个结论对许多嵌入式设备开发厂商同样具有参考意义。因为对于一个嵌入式产品开发来说,是要清醒的认识到总开发成本TCD(Total Cost of Development),而不能只看产品的入门许可证费用,这也是选择嵌入式软件开发平台的一个基本准则。

  (2)Linux VS Window Embedded的开发成本比较

  从前文我们可知,对总开发成本TCD的评估可以帮助嵌入式厂商评估花在软件开发中的总体成本。在这里参考和引用知名市场研究机构Embedded Market Forecasters提出的一个模型和数据:TCD=TTM x NOE x CPMM。其中:TTM(Time to Market)是产品从开发开始到上市所用的时间,以月为单位;NOE(Number of Engineers Used)是开发该产品所需要的开发人员数量;CPMM(Cost Per Man-Month)是每个开发人员每个月所需要的费用。调查数据表示:Windows Embedded平台的平均TTM为8.1个月,而嵌入式Linux平台的平均TTM为14.3个月,前者比后者快了43%。从对开发人员的需求数量来看,Windows Embedded 平台中每开发一个产品所需的平均开发人员数量为7.9人,而嵌入式Linux平台需要14.2人,前者比后者节省44%。再把两种平台开发人员的平均月成本CPMM都假定为相同。从而得出一个结论:就是Windows Embedded平台成本大约只是Linux的四分之一,而且开发周期更短。报告的主要作者Jerry Krasner博士对差别如此之大所作的解释是:Windows Embedded更为成熟、功能更加丰富、采用基于组件的设计方法、具有集成化的工具集、支持并行开发工作流程。

  这个结论一经发布,可谓一石激起千层浪。嵌入式Linux的支持者纷纷出来辩论,并对其提出质疑。因为热衷于嵌入式Linux的人们认为开发平台的评估方法应该是准确地衡量开发工作中的全部因素。虽然TTM和TCD的确是很重要的因素,但如果只是拿一两个指标来衡量,其结果一定是片面的。对于Windows Embedded是否更具TCD(总开发成本)优势这个结论我们先不予置评,但TTM和NOE这两个数据却是真实的调查数据,对我们选择开发平台时有一定的参考价值。

0
相关文章