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