很多人認(rèn)為,開放源碼軟件會(huì)讓別人輕松偷竊你的辛苦開發(fā)成果。但事實(shí)上我并不認(rèn)同這一觀點(diǎn)。我認(rèn)為,恰恰相反,事情正在向著好的方向發(fā)展。開放源碼軟件已經(jīng)改變了嵌入式軟件開發(fā)的前景。一些主要開放源碼軟件,如Linux、Apache、Firefox和Eclipse,現(xiàn)在已經(jīng)被很多應(yīng)用所采用,而且目前已經(jīng)有很多供應(yīng)商在提供這些產(chǎn)品。
在大多數(shù)情況下,你可以采用你自己的開放源碼軟件,但嵌入式產(chǎn)品開發(fā)者早已清楚地了解到了這一事實(shí),即你付出多少,你才能得到多少。對許多開發(fā)者來說,如果支持成本不是關(guān)鍵的考慮因素,那么免費(fèi)版本是一種可行的選擇方案,它也是一種無需很大前期投資就能測試軟件的途徑。源代碼是發(fā)現(xiàn)問題并常常也是改正問題的關(guān)鍵。
而這就牽涉到專利使用費(fèi)問題。這就是為什么另一種替代方案(專有軟件)提供源代碼和無專利使用費(fèi)發(fā)放的原因之一。當(dāng)然,這也受到了多種專有軟件方案之間競爭的驅(qū)動(dòng)。事實(shí)上,從定制化水平來看,很多做得好的銷售開放源碼解決方案的供應(yīng)商都有自己版本的開放源碼平臺(tái)。
最大的區(qū)別是開放源碼環(huán)境中通??商峁┑墓不A(chǔ)。這有助于提高所有開放源碼軟件的水準(zhǔn),因?yàn)樗鼈兌际菑耐还不A(chǔ)起步的。創(chuàng)建開發(fā)工具的設(shè)計(jì)師可以專心于更高水平功能的開發(fā)和改善這一公共基礎(chǔ)。同樣,該公共基礎(chǔ)也應(yīng)當(dāng)不斷改進(jìn),因?yàn)樗且环N每個(gè)人都可以對它進(jìn)行測試、修改和增強(qiáng)的共享資源。
另一方面,開放源碼平臺(tái)引人矚目地降低了平臺(tái)開發(fā)者及其使用者的進(jìn)入門檻成本。它已經(jīng)允許MIPS在Eclipse的基礎(chǔ)上和Linux支持下創(chuàng)建了其集成式開發(fā)環(huán)境(IDE)Navigator ICS。該IDE支持針對其他操作系統(tǒng)(如Express Logic的Threadx)的調(diào)試器插件,并可與Viosoft公司的Arriba Linux調(diào)試器協(xié)同工作。
這是一個(gè)從該公共基礎(chǔ)衍生出來的典型例子。除了標(biāo)準(zhǔn)gdb調(diào)試器之外,也可使用Arriba調(diào)試器,但是Arriba調(diào)試器具有更多的功能,包括內(nèi)核級調(diào)試。其可加載的Vmon2模塊提供了運(yùn)行時(shí)調(diào)試函數(shù),這允許使用MIPS的Linux事件分析器(LEA)進(jìn)行系統(tǒng)監(jiān)控。
LEA是MIPS公司的另一種基本專有工具。它總的來說是一種有用的跟蹤工具,但面向其他平臺(tái)的設(shè)計(jì)師將不得不使用一種替代方案,像要求一個(gè)補(bǔ)丁過內(nèi)核的Linux Trace Toolkit(LTT)一樣。
由于要求硬件支持,其他專有選項(xiàng)對MIPS更有實(shí)際意義,如熱點(diǎn)分析器(Hot Spot Analyzer,HSA)。HAS插件需要MIPS內(nèi)核中才有的匹配硬件,否則它就毫無用處。
MIPS現(xiàn)在的重心放在獲得這些工具使用授權(quán)的客戶身上,而不是一般的程序員身上。有些設(shè)計(jì)師可能重新標(biāo)記這一套餐,但其公共基礎(chǔ)允許更好的多種插件混合和匹配。例如,MIPS公司基于Eclipse的插件將可以與MontaVista和Wind River的基于Eclipse的IDE協(xié)同工作。
如果沒有一個(gè)公共基礎(chǔ),這一程度的相互影響是不可能的。先成為一個(gè)主導(dǎo)性供應(yīng)商(像微軟),然后讓其他的供應(yīng)商朝你的模式發(fā)展是可能的,現(xiàn)在的趨勢是隔離對公共基礎(chǔ)的修改,這可能是好事,也可能是壞事。
從有利的一面看,這有一定水平的穩(wěn)定性,因?yàn)橹挥幸粋€(gè)針對該公共基礎(chǔ)的源。不利的一面是,改變該公共基礎(chǔ)的更新版本的能力將受到更多的限制。同樣,對該公共基礎(chǔ)源代碼的訪問也將變得更受限制,這將使插件調(diào)試更加困難或者至少是更為獨(dú)特。我發(fā)現(xiàn),對開放源碼的承諾程度(特別是像MIPS和ARM這樣的芯片供應(yīng)商的Linux及Eclipse)特別有意思。Intel以及與其兼容的AMD和Via都是少數(shù)不提供他們自己的基于Eclipse的IDE和Linux版本的商家。這些并不是真正必要的,因?yàn)檫@些和其他與特定處理器相關(guān)的開放源碼項(xiàng)目的默認(rèn)對象是x86平臺(tái)。
廣泛使用Eclipse和Linux的另一個(gè)有用結(jié)果是發(fā)現(xiàn)熟悉這些平臺(tái)的程序員的能力。從事企業(yè)服務(wù)器應(yīng)用工作的開發(fā)者所用的IDE基本上都與從事32位MIPS 微處理器開發(fā)的人一樣擁有相同的IDE。現(xiàn)在,你還認(rèn)為開放源碼在偷竊你的生意的嗎?還是它正在使你的生命變得更容易?