嵌入式開源軟件:君子合而不同
近十年來,開源軟件已經(jīng)主宰了嵌入式系統(tǒng)。網(wǎng)景公司的聯(lián)合創(chuàng)始人,同時(shí)也是LinkedIn主要投資人的Marc Andressen,最近發(fā)表了一篇“軟件正在鯨吞世界”的文章。當(dāng)今嵌入式軟件的適用場(chǎng)合比任何其他種類軟件加起來還要廣。嵌入式軟件是交通、安全、醫(yī)療、食品、農(nóng)業(yè)、國防和娛樂等應(yīng)用系統(tǒng)的核心,事實(shí)上這些行業(yè)的每個(gè)領(lǐng)域都以各種方式深入到我們?nèi)粘I钪小?/p>
嵌入式軟件設(shè)計(jì)的復(fù)雜度在以指數(shù)級(jí)的速度增加。在一定程度上,它反映并且遵循了集成式設(shè)備中,門電路的復(fù)雜度在過去的40年里每18個(gè)月增加一倍的 規(guī)律。代碼復(fù)雜度的增加和互不分割的全球化市場(chǎng)變革有所重疊。對(duì)于缺貨產(chǎn)品的需求成倍增長,產(chǎn)品的功能增多,開發(fā)成本降低,這些都導(dǎo)致采購需求、合作和代 碼復(fù)用的增加。開源軟件作為代碼復(fù)用的最終表現(xiàn),已經(jīng)成了當(dāng)今嵌入式市場(chǎng)競(jìng)爭(zhēng)的主要推動(dòng)因素。
從1983年首個(gè)GNU,到2011侵入到整個(gè)IT系統(tǒng),開源已經(jīng)滲透到了軟件開發(fā)的每個(gè)層面。開源軟件已經(jīng)成為40%嵌入式項(xiàng)目的選擇(下載報(bào)告 全文:選擇研究:嵌入式工程調(diào)查,來自VDC Research),因?yàn)樗芴峁┑膬?yōu)勢(shì)包括:快速面市、低開發(fā)成本、更好的安全性、反復(fù)經(jīng)過檢驗(yàn)的質(zhì)量、多樣性、令授權(quán)成本、諸多知名供應(yīng)商提供的多個(gè) 選擇等等。
開源征服嵌入式設(shè)備
開源軟件在嵌入式應(yīng)用的典型例子包括Android(嵌入式Linux和其他開源實(shí)時(shí)操作系統(tǒng)RTOS),用于手機(jī)和PDA的Qt用戶界面,冰箱和 工業(yè)控制系統(tǒng),大約十萬種其他項(xiàng)目,涵蓋從通信軟件棧,網(wǎng)絡(luò)瀏覽、用戶界面、遠(yuǎn)程管理、嵌入式數(shù)據(jù)庫、音頻和視頻編解碼,甚至虛擬機(jī)(例如Java虛擬 機(jī))。40%用于嵌入式環(huán)境的實(shí)時(shí)操作系統(tǒng)(RTOS)都是開源的,除了Android外還包括重量級(jí)的廠商如MontaVista,QNX和 Mentor。
應(yīng)該管理開源應(yīng)用
開源軟件的優(yōu)勢(shì)只有在其實(shí)際應(yīng)用得到管理的時(shí)候才能體現(xiàn)。開源軟件從來都有明確的條款,有相應(yīng)的授權(quán)、版權(quán)、安全隱患說明和出口管制分類。如果不了 解或者不遵守這些條款,就有可能導(dǎo)致產(chǎn)品質(zhì)量問題。消費(fèi)產(chǎn)品等嵌入式設(shè)備大量售出,任何質(zhì)量問題或損害授權(quán)條款的問題都有可能造成嚴(yán)重的經(jīng)濟(jì)損失。
項(xiàng)目層面,或者組織層面的政策通常限定了條款的可接受度。雖然有人覺得很難承認(rèn),但今天占有豐富資源的開發(fā)者都不會(huì)從最基礎(chǔ)的部分開始寫代碼,因?yàn)?他們知道哪兒能獲得所需代碼,自己只要靠創(chuàng)造力優(yōu)化代碼就可以了。指望開發(fā)者在軟件開發(fā)時(shí)間緊張的情況下了解并管理代碼條例不太合理也不現(xiàn)實(shí),因此相關(guān)組 織就越來越多地允許管理下的開源軟件在項(xiàng)目中的使用,縮短開發(fā)間隔,降低開發(fā)成本。
曾經(jīng)有專門針對(duì)100多個(gè)覆蓋跨國大組織到50人以下的小技術(shù)公司進(jìn)行的調(diào)查,發(fā)現(xiàn)了嵌入式領(lǐng)域應(yīng)用并管理開源軟件的最好的做法。在產(chǎn)品推出市場(chǎng)之 前建立授權(quán)政策、采用軟件包預(yù)批核流程、對(duì)現(xiàn)有的軟件目錄創(chuàng)建基本準(zhǔn)則、實(shí)時(shí)而且定期規(guī)范軟件分析等,都是嵌入式領(lǐng)域采取的做法。
開源軟件開始主導(dǎo)嵌入式設(shè)備市場(chǎng),其對(duì)于嵌入式系統(tǒng)公司的開發(fā)者和管理層,以及對(duì)嵌入式解決方案最終用戶都能帶來廣泛的優(yōu)勢(shì)。這些優(yōu)勢(shì)包括更低的開 發(fā)成本、更低的市場(chǎng)產(chǎn)品成本、更短的面市時(shí)間、更快的產(chǎn)品進(jìn)化速度、反復(fù)經(jīng)過檢驗(yàn)的高質(zhì)量方案、方案的多樣性以及確保長期產(chǎn)品可用,同時(shí)降低了供需變化不 確定性的資源。每一項(xiàng)采用開源軟件帶來的優(yōu)勢(shì)對(duì)于資源豐富的開發(fā)者來說都極具吸引力,他們可以集中注意力于在現(xiàn)有代碼,在此基礎(chǔ)上加上自己的創(chuàng)造力,實(shí)現(xiàn) 更快的創(chuàng)新周期。立即可用的開源代碼也有短處,例如用來了解整個(gè)嵌入式項(xiàng)目的開源內(nèi)容的代碼記錄和整理會(huì)有滯后、需要保持新版本的更新進(jìn)度、存在潛在的授 權(quán)和版權(quán)條款問題以及要考慮安全可行性和修補(bǔ)并減輕這些問題。
架構(gòu)完善的開源軟件使用流程(OSSAP)讓組織能夠使用可控制和可管理的模式發(fā)揮開源軟件的優(yōu)勢(shì)。OSSAP所包含的步驟包括建立政策、軟件包的 預(yù)批核、建立現(xiàn)有代碼和來自商業(yè)供應(yīng)商和外包團(tuán)體的代碼掃描的基本準(zhǔn)則。定期掃描項(xiàng)目代碼合集,進(jìn)入項(xiàng)目庫或在開發(fā)者進(jìn)行開發(fā)的時(shí)候?qū)崟r(shí)發(fā)現(xiàn)并管理軟件, 確保任何時(shí)候項(xiàng)目中的開源軟件內(nèi)容都可以被知曉或了解,而構(gòu)建時(shí)間的掃描確保了最終推向市場(chǎng)的產(chǎn)品滿足采取的開源政策。