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