【趋势】开源软件开始迈入嵌入式时代

来源:互联网 发布:未分配利润为负数 知乎 编辑:程序博客网 时间:2024/05/02 04:50

(本人是一个普通的出版工作者,如果希望交流加微信:185232201)

近十年来,开源软件已经主宰了嵌入式系统。网景公司的联合创始人,同时也是LinkedIn主要投资人的MarcAndressen,最近发表了一篇“软件正在鲸吞世界”的文章。当今嵌入式软件的适用场合比任何其他种类软件加起来还要广。嵌入式软件是交通、安全、医疗、食品、农业、国防和娱乐等应用系统的核心,事实上这些行业的每个领域都以各种方式深入到我们日常生活中。

嵌入式软件设计的复杂度在以指数级的速度增加。在一定程度上,它反映并且遵循了集成式设备中,门电路的复杂度在过去的40年里每18个月增加一倍的规律。代码复杂度的增加和互不分割的全球化市场变革有所重叠。对于缺货产品的需求成倍增长,产品的功能增多,开发成本降低,这些都导致需求、合作和代码复用的增加。开源软件作为代码复用的最终表现,已经成了当今嵌入式市场竞争的主要推动因素。

从1983年首个GNU,到2011侵入到整个IT系统,开源已经渗透到了软件开发的每个层面。开源软件已经成为40%嵌入式项目的选择(下载报告全文:选择研究:嵌入式工程调查,来自VDCResearch),因为它能提供的优势包括:快速面市、低开发成本、更好的安全性、反复经过检验的质量、多样性、令授权成本、诸多知名供应商提供的多个选择等等。

开源征服嵌入式设备

开源软件在嵌入式应用的典型例子包括Android(嵌入式Linux和其他开源实时操作系统RTOS),用于手机和PDA的Qt用户界面,冰箱和工业控制系统,大约十万种其他项目,涵盖从通信软件栈,网络浏览、用户界面、远程管理、嵌入式数据库、音频和视频编解码,甚至虚拟机(例如Java虚拟机)。40%用于嵌入式环境的实时操作系统(RTOS)都是开源的,除了Android外还包括重量级的厂商如MontaVista,QNX和Mentor。

应该管理开源应用

开源软件的优势只有在其实际应用得到管理的时候才能体现。开源软件从来都有明确的条款,有相应的授权、版权、安全隐患说明和出口管制分类。如果不了解或者不遵守这些条款,就有可能导致产品质量问题。消费产品等嵌入式设备大量售出,任何质量问题或损害授权条款的问题都有可能造成严重的经济损失。

项目层面,或者组织层面的政策通常限定了条款的可接受度。虽然有人觉得很难承认,但今天占有丰富资源的开发者都不会从最基础的部分开始写代码,因为他们知道哪儿能获得所需代码,自己只要靠创造力优化代码就可以了。指望开发者在软件开发时间紧张的情况下了解并管理代码条例不太合理也不现实,因此相关组织就越来越多地允许管理下的开源软件在项目中的使用,缩短开发间隔,降低开发成本。

曾经有专门针对100多个覆盖跨国大组织到50人以下的小技术公司进行的调查,发现了嵌入式领域应用并管理开源软件的最好的做法。在产品推出市场之前建立授权政策、采用软件包预批核流程、对现有的软件目录创建基本准则、实时而且定期规范软件分析等,都是嵌入式领域采取的做法。

开源软件开始主导嵌入式设备市场,其对于嵌入式系统公司的开发者和管理层,以及对嵌入式解决方案最终用户都能带来广泛的优势。这些优势包括更低的开发成本、更低的市场产品成本、更短的面市时间、更快的产品进化速度、反复经过检验的高质量方案、方案的多样性以及确保长期产品可用,同时降低了供需变化不确定性的资源。每一项采用开源软件带来的优势对于资源丰富的开发者来说都极具吸引力,他们可以集中注意力于在现有代码,在此基础上加上自己的创造力,实现更快的创新周期。立即可用的开源代码也有短处,例如用来了解整个嵌入式项目的开源内容的代码记录和整理会有滞后、需要保持新版本的更新进度、存在潜在的授权和版权条款问题以及要考虑安全可行性和修补并减轻这些问题。

架构完善的开源软件使用流程(OSSAP)让组织能够使用可控制和可管理的模式发挥开源软件的优势。OSSAP所包含的步骤包括建立政策、软件包的预批核、建立现有代码和来自商业供应商和外包团体的代码扫描的基本准则。定期扫描项目代码合集,进入项目库或在开发者进行开发的时候实时发现并管理软件,确保任何时候项目中的开源软件内容都可以被知晓或了解,而构建时间的扫描确保了最终推向市场的产品满足采取的开源政策。

原文参考: Avoiding Enemies and Making Friends Using Embedded OpenSource Software

Open source software has become an entrenched component of embeddedsystems within the last decade. Marc Andreessen, cofounder ofNetscape and the key investor in LinkedIn, recently announced that“Software is eating the world”. There are more instances ofembedded software in the world today than any other type ofsoftware combined. It is at the heart of transportation, safety,health care, food, agriculture, defense, entertainment andtherefore virtually every sector of industry that one way oranother touches our everyday lives.

Complexity of software design within the embedded space hasincreased exponentially. In a way it has mirrored and followed theway gate complexity in integrated devices has doubled every 18months in the last forty years. The growth in code complexity hasoverlapped the change in business dynamics of our interconnectedglobal market. Demands for shortening product development times,increasing functionality in products and reducing development costshas led to an increase in outsourcing, contracting, and code-reuse.Open source software, the ultimate manifestation of code-reuse, hasbecome a key enabler of today’s competitive embedded market.

From the first GNU in 1983 to invasion of the whole IT stack by2011, open source has penetrated every facet of softwaredevelopment. Such desirable attributes as faster time to market,lower development cost, better security, peer-reviewed quality,variety, zero licensing cost and multiple sources from mostlyreputable suppliers are some of the reasons where open source hasbecome the software of choice for over 40% of embedded projects(download Select Findings: Embedded Engineering Survey [PDF file]from VDC Research).

Open Source Has Conquered Embedded Devices

Better known examples of open source software targeted for embeddedapplications include Android, embedded Linux and other open sourceReal Time Operating Systems (RTOS), Qt User Interface (UI) used inphones and PDAs, refrigerators and industrial control systems, androughly 100,000 other projects that cover everything fromcommunications stacks, web browsing, user interfaces, remotemanagement, embedded databases, audio and video codecs and evenvirtual machines (as in Java Virtual Machine). More than 40% of theRTOS solutions for embedded environment are open source, and apartfrom Android, they include the heavyweights from vendors such asMontaVista, QNX and Mentor.

Open Source Adoption Must be Managed

The advantages of open source software can only be realized if itsadoption is managed. Open source software invariable comes withobligations that are represented in their associated licenses,copyrights, security vulnerability notices and export controlclassifications. Failure to understand and respect theseobligations has repercussions that are similar to those due toshortcomings in product quality. Embedded devices such as consumerproducts are distributed in volume, and any impairment in quality,or in meeting licensing obligations, can be very costly in thefield.

Project-level or organizational policies usually frame theacceptable terms and obligations. Although some may find itdifficult to admit, today’s resourceful developers do not writecode from scratch. They know where to get code and enhance it withtheir own creativity. It is unreasonable and impractical to expectdevelopers to be aware of, and manage, code obligations as theycreate software under tight schedules. Increasingly, organizationsare deploying practices that allow managed adoption open source inprojects, shortening development intervals and reducing developmentcosts.

A survey of more than hundred technology organizations, from largemultinationals to small technology firms of less than 50 people hasidentified the best practices used in embedded industry forleveraging and managing open source software. Establishing licensepolicies, adopting package pre-approval processes, creating abaseline of the existing inventory of software, regular softwareanalysis in real-time and at build-time, before the final productis shipped to the market, are some of the steps deployed by theembedded industry.

Open source software has become entrenched in the embedded devicemarket, offering a range of advantages to developers and managementin embedded system enterprises and to the end users of embeddedsolutions. These advantages include lower development costs, lowercost products in the market, shorter time to market, faster productevolutions, peer-reviewed quality solutions, and variety ofsolutions and sources that ensure long term product viability withreduced uncertainties around supply disruption. Ease of adoption ofopen source software is particularly attractive to resourcefuldevelopers, where they can concentrate on applying their creativityto existing code, resulting in a faster innovation cycles. Pitfallsof readily available open source code include lapses in good recordkeeping in order to know the open source content of an embeddedproject, keeping track of the newer versions, potential licensingand copyright obligations, and knowledge of known securityviabilities and the patched to mitigate these impairments.

A structured Open Source Software Adoption Process (OSSAP) allowsorganizations to take advantage of open source software in acontrolled and managed fashion. The steps involved in OSSAP includeestablishing a policy, software package pre-approval, establishinga baseline of existing code and scanning code acquired fromcommercial suppliers or outsourcers. Regular scanning of codeportfolio in a project, complemented with real-time identificationand management of software as it is checked into the projectlibrary or as it is developed on a developer workstation, ensuresthat at any time the open source software content within a projectis known and understood. Build-time scanning ensures that the finalartifact that is shipped to market satisfies the open sourcepolicies adopted by the organization.

文章来源:Electronic Design


原创粉丝点击