開放源碼:嵌入式系統(tǒng)開發(fā)面臨新環(huán)境
掃描二維碼
隨時隨地手機(jī)看文章
隨著新公司的涌現(xiàn)以及對壓縮成本的要求,嵌入式系統(tǒng)開發(fā)界正在逐漸接受開放源碼的軟件。目前,已經(jīng)有大批量供貨的消費(fèi)電子產(chǎn)品的開發(fā)采用了那些從互聯(lián)網(wǎng)上下載的開放源碼的軟件產(chǎn)品。容易獲得、創(chuàng)新的編程方式、良好的適應(yīng)性,以及零復(fù)用費(fèi)用是人們津津樂道的開放源碼產(chǎn)品的優(yōu)點(diǎn)。盡管懷疑論者依然對開放源碼產(chǎn)品在授權(quán)及技術(shù)支持方面提出質(zhì)疑,但是可以看到越來越多的人開始在新項目中放棄選擇那些商業(yè)化的軟件,轉(zhuǎn)而嘗試使用開放源碼的軟件。
開發(fā):不再是個人游戲
與商業(yè)化的軟件不同,開放源碼軟件的開發(fā)是在"社區(qū)"中完成的。通常程序員先在社區(qū)中建立一個開放源碼的項目,然后有眾多程序員共同合作完成對源碼的改進(jìn)并共享修改后的成果。以這種方式開發(fā)出的軟件中,最著名的就是Linux操作系統(tǒng)。今天,隨著其他通過GNU項目開發(fā)出的軟件的增加,Linux也已經(jīng)演化出了很多根據(jù)不同需要開發(fā)的項目,而且在其周圍聚集了數(shù)以千計的開發(fā)者和不少商業(yè)公司。
商業(yè)公司的介入也在轉(zhuǎn)變?nèi)藗儗﹂_發(fā)源碼軟件的傳統(tǒng)認(rèn)識,即它們不過是程序員出于個人愛好在業(yè)余時間產(chǎn)出的智力勞動成果。IBM、Apple和Sun等大公司已經(jīng)參與了開放源碼的項目,并基于項目所產(chǎn)生的源碼開發(fā)出了多款軟、硬件產(chǎn)品。僅IBM的Linux技術(shù)中心就雇傭了超過200名的全職程序員從事開放源碼項目的開發(fā)工作。 商業(yè)公司非常清楚,開放源碼已經(jīng)成為了一種潮流,順應(yīng)這種潮流,未來其軟、硬件產(chǎn)品也會隨著開放源碼產(chǎn)品的廣泛應(yīng)用而大行其道。
使用:成本與風(fēng)險不斷降低
開放源碼產(chǎn)品給嵌入式系統(tǒng)開發(fā)者帶來的最大的好處就是降低開發(fā)成本。即使是對大批量的產(chǎn)品,商業(yè)化的操作系統(tǒng)或是第三方應(yīng)用支持軟件包的版稅也是嵌入式設(shè)備開發(fā)成本中很大一個組成部分。因此,降低成本的一個行之有效的方法就是在開發(fā)中選用一個或是更多的開放源碼的程序。也許對開放源碼程序的移植會產(chǎn)生一些成本,但是從開發(fā)總成本考慮還是會帶來明顯的節(jié)省。
在考慮成本問題時還有一點(diǎn)十分重要:與商業(yè)化的軟件相比,開放源碼軟件的適應(yīng)性是一個顯著的優(yōu)點(diǎn)。開發(fā)者可以根據(jù)自己實際的應(yīng)用要求,在開放的源碼基礎(chǔ)上編寫出一個新的軟件版本,使得軟件對系統(tǒng)計算和存儲資源的占用最小化。而與之相對應(yīng),商業(yè)化軟件由于要考慮到最大限度地覆蓋客戶需求,會在產(chǎn)品中包括開發(fā)者并不需要的其他功能,而開發(fā)者又不得不為這部分"功能"買單。而且商業(yè)軟件的供應(yīng)商也承認(rèn),最初的購置費(fèi)用只占嵌入式軟件整個生命周期使用費(fèi)用的一小部分。
對于那些選擇"自己開發(fā)"的開發(fā)者來說,開放源碼軟件也是具有吸引力的,他們通常需要將諸如任務(wù)表、網(wǎng)絡(luò)和用戶界面等操作系統(tǒng)功能集成到一個單一的應(yīng)用軟件包中。隨著其所開發(fā)的嵌入式設(shè)備的復(fù)雜性的增加,這些開發(fā)者不得不在不增加預(yù)算的前提下盡量去滿足客戶的需求。開放源碼的操作系統(tǒng)為開發(fā)者提供了一套將經(jīng)測試的支持軟件集成在一起的低成本的技術(shù)手段,可以使開發(fā)者集中精力進(jìn)行獨(dú)特應(yīng)用功能的開發(fā)。今天的開放源碼操作系統(tǒng)已經(jīng)足夠成熟,可以將使用者的風(fēng)險降到最低限度。
對開放源碼軟件持反對意見者通常會指出,由于沒有版權(quán)的約束和保護(hù),這可能會阻礙開發(fā)者公布其編寫的代碼。但事實證明,這種觀點(diǎn)是片面的,在開放源碼資源網(wǎng)站www.opensource.org上,我們可以看到超過40種的經(jīng)驗證的軟件授權(quán)方式。簡單地說,開發(fā)者和版權(quán)所有者可以根據(jù)他們的需要,按照他們認(rèn)為合適的任何一種方式達(dá)成授權(quán)協(xié)議。比如有些授權(quán)就介于商業(yè)應(yīng)用和非贏利用戶之間,如出于教育研究目的的授權(quán)。
目前比較流行的授權(quán)模式包括GPL(General Public License)、BSD(Berkeley Software Distribution)和Mozilla Public License三種。其中GPL開放程度最高,BSD則對授權(quán)的開放度做出了一些限制,而Mozilla Public License介于前二者之間,允許開發(fā)者將基于開放源碼開發(fā)的軟件分為受保護(hù)的和可共享的兩部分。
服務(wù):商業(yè)公司介入
除了授權(quán)模式,嵌入式系統(tǒng)的開發(fā)者在考慮是否選用開放源碼的軟件產(chǎn)品考慮的另一個問題是,可以獲得什么樣的技術(shù)支持。對于一些小的程序,開發(fā)者可以直接下載源代碼自己進(jìn)行維護(hù)和支持。但是對于那些比較復(fù)雜的系統(tǒng),如操作系統(tǒng),許多開發(fā)者選擇了尋找有經(jīng)驗的支持團(tuán)隊的方法。在這方面,我們可以發(fā)現(xiàn)開放源碼軟件的另一個優(yōu)點(diǎn),即開放的系統(tǒng)可以使你獲得兼容的售后支持,即使你更換了供應(yīng)商,也仍然可以保留原有的軟件并獲得相應(yīng)的支持。
各家嵌入式Linux供應(yīng)商也根據(jù)自己客戶的特點(diǎn)設(shè)計出了不同的商業(yè)模式。MontaVista通過收取年費(fèi)的方式銷售它的Linux產(chǎn)品,用戶繳費(fèi)后可以獲得最新的軟件版本、無限制的通過電話或電子郵件的技術(shù)支持,或是訪問專為客戶設(shè)立的網(wǎng)站獲取更新版本、補(bǔ)丁程序和參加社區(qū)論壇。此外,大多數(shù)年費(fèi)服務(wù)包中還包括向用戶提供的培訓(xùn)。LynuxWorks的運(yùn)作方式稍有不同,它向嵌入式系統(tǒng)開發(fā)者同時提供開放源碼和商業(yè)化的兩種操作系統(tǒng)。BlueCat Linux與公司所提供的滿足實時需要的商業(yè)化操作系統(tǒng)LynxOS兼容,其6個月的服務(wù)包售價為2699美元。
目前作為嵌入式Linux供應(yīng)商,MontaVista和LynuxWorks與IBM, Red Hat, Panasonic和Sony等公司合作,組成了嵌入式Linux聯(lián)盟以防止在源代碼流行的過程中出現(xiàn)的"分裂"問題,該問題可能會造成應(yīng)用程序不兼容的后果。聯(lián)盟提出的解決方案是出臺一個平臺規(guī)范來定義嵌入式Linux的API。遵從該平臺規(guī)范的應(yīng)用程序和中間件的開發(fā)者可以保證他們的產(chǎn)品在兼容的Linux系統(tǒng)中運(yùn)行。
延伸:硬件也"開放"
這些基于開放源碼的自由軟件,特別是操作系統(tǒng)和支持軟件的另一個來源,就是嵌入式單片機(jī)硬件供應(yīng)商。很多硬件供應(yīng)商為客戶提供開放源碼的軟件以提高自身產(chǎn)品的附加值,以利于硬件產(chǎn)品的銷售。
同時,在開發(fā)源碼的軟件的推動下,嵌入式系統(tǒng)開發(fā)者已經(jīng)在進(jìn)行一些新的嘗試--開發(fā)開放源碼的硬件產(chǎn)品。比如,小型化的嵌入式LART(Linux-advanced-radio-terminal)計算機(jī)可以運(yùn)行Linux,其硬件包括功耗小于1W的、工作頻率為220MHz的SA-1100 StrongARM CPU。在標(biāo)準(zhǔn)配置中,它包括32M的DRAM和4M的flash存儲器。LART的硬件不是免費(fèi)的,但是其全部設(shè)計、圖紙、裝配圖、文檔和軟件是免費(fèi)的,并可從LART網(wǎng)站上下載獲得。開發(fā)者可以通過一種近似于軟件所采用的GPL的授權(quán)方式獲得LART的硬件設(shè)計授權(quán),并且不用繳納版稅和授權(quán)費(fèi)即可復(fù)制該硬件系統(tǒng)。[!--empirenews.page--]