您的位置:軟件測試 > 開源軟件測試 > 開源軟件測試新聞 >
成功的必要條件:開源思想推動(dòng)創(chuàng)新
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/12/13 9:39:21 ] 推薦標(biāo)簽:

  Linux讓設(shè)備受益

  嵌入式系統(tǒng)開發(fā)商從開源操作系統(tǒng)中受益。

  Linux的傳統(tǒng)根據(jù)地在于服務(wù)器和工作站,而它正在這之外的非常小的設(shè)備上取得成功。對(duì)于嵌入式系統(tǒng)開發(fā)人員來說,Linux優(yōu)于專有操作系統(tǒng)的優(yōu)勢除了低成本外,還在于其靈活性和開放性。

  消費(fèi)電子產(chǎn)品市場對(duì)新技術(shù)有著永不滿足的需求,但是使用來自Microsoft和Symbian等公司的專有嵌入式平臺(tái)的開發(fā)人員,必須受限于某一廠商提供的設(shè)備驅(qū)動(dòng)程序和對(duì)新硬件的支持。然而,他們的開源社區(qū)同行常常在技術(shù)剛一推出時(shí)開始修補(bǔ)它們。他們開發(fā)的代碼也許很糙,但開發(fā)過程很快,這反過來可以使他們更快地制造出原型產(chǎn)品,更早地上市以取得市場先機(jī)。

  Linux還使開發(fā)復(fù)雜的嵌入式應(yīng)用變得更容易。用于嵌入式設(shè)備的傳統(tǒng)RTOS(實(shí)時(shí)操作系統(tǒng))是在單處理器線程中運(yùn)行單個(gè)任務(wù)的單用途平臺(tái)。嵌入式Linux類似于它的重量級(jí)表兄,是設(shè)計(jì)用于運(yùn)行多個(gè)應(yīng)用的通用操作系統(tǒng)。這種通用性幫助開發(fā)人員滿足客戶日益復(fù)雜的基礎(chǔ)需求。此外,沒有復(fù)雜的專有許可條款為開發(fā)人員提供了定制各個(gè)層次應(yīng)用的自由,他們可以選擇他們需要的部件而忽視另一些。

  廠商之間的競爭對(duì)于顧客肯定是件好事。在嵌入式Linux市場上,MontaVista和Wind River等廠商不僅與專有操作系統(tǒng)廠商競爭,而且還相互競爭。此外,一些設(shè)備制造商還選擇“單干”,獨(dú)立于操作系統(tǒng)廠商生產(chǎn)自己風(fēng)格的嵌入式Linux。然而Linux是開源操作系統(tǒng),每一種變種都成為由開發(fā)人員、客戶和合作伙伴構(gòu)成的大生態(tài)系統(tǒng)的一部分,都在為這個(gè)更大的整體做貢獻(xiàn)。

  這種“競爭式協(xié)作”仍給其他公司留出了利用額外的工具擴(kuò)大Linux基礎(chǔ)的空間。例如,Trolltech提供的Qtopia:一種迅速開發(fā)嵌入式Linux應(yīng)用和用戶界面的全面的環(huán)境。核心Qtopia技術(shù)可依據(jù)Gnu GPL(通用公共許可證)使用,從而為開發(fā)人員在Qtopia代碼上帶來了在Linux內(nèi)核上所享受到的同樣的可見性。同樣,Nokia發(fā)布了自己的開源應(yīng)用平臺(tái)Maemo。該平臺(tái)可以在Nokia 770 Internet Tablet等嵌入式設(shè)備上找到。

  這些工具為開發(fā)人員帶來了額外的優(yōu)勢:熟悉性。Qtopia是基于Trolltech歷史悠久的桌面Linux系統(tǒng)Qt工具包的;Maemo基于來自Gnome項(xiàng)目的類似技術(shù)。其結(jié)果不同于專有操作系統(tǒng),應(yīng)用開發(fā)人員可以利用自己已有的技能為嵌入式操作系統(tǒng)開發(fā)軟件。

  這些優(yōu)勢意味著陣營越來越龐大的Linux驅(qū)動(dòng)的設(shè)備。從Sharp PDA到TiVo機(jī)頂盒,從Linksys無線路由器到Motorola手機(jī),越來越多的公司將寶押在Linux上,把它作為在快速發(fā)展的、高度競爭的設(shè)備市場中取得成功的跳板。

  開源社區(qū)推動(dòng)腳本采用

  現(xiàn)代腳本語言在開放上取得成功。

  腳本語言,有時(shí)叫做“動(dòng)態(tài)”語言,變得非常流行,其中一個(gè)原因是它們能讓開發(fā)人員利用比較小的代碼完成很多工作。這種“高相對(duì)價(jià)值”源于將更多的工作交給編譯器和運(yùn)行時(shí)間環(huán)境(如按變量值得到變量類型)去做的新方法——除了完成經(jīng)常執(zhí)行活動(dòng)的特殊捷徑外。

  包括Perl、PHP和Python在內(nèi)的腳本語言還有另一個(gè)共同點(diǎn):它們幾乎統(tǒng)統(tǒng)都是開源語言。在很多地方,開源與非開源之間的不同之處可能并不重要,但開源似乎在腳本語言中至關(guān)重要。奇怪的是,這點(diǎn)并不是由于開源在修補(bǔ)漏洞中的靈活性的原因,而是由于其創(chuàng)建社區(qū)的能力。

  比較兩種幾乎同時(shí)問世的腳本語言Ruby和NetRexx的命運(yùn),是看到開源重要性的生動(dòng)例子。NetRexx是由IBM設(shè)計(jì)、部分基于其成功的大型機(jī)腳本工具Rexx的。它以解釋方式運(yùn)行,也可以編譯為Java字節(jié)代碼。作為一種語言,NetRexx具有很高的生產(chǎn)力并易于學(xué)習(xí)掌握,提供大量的優(yōu)雅的結(jié)構(gòu)。由于它可編譯為Java字節(jié)代碼,從NetRexx中可以訪問所有的Java庫,此外,它享受著Java虛擬機(jī)的性能。

  另一方面,Ruby是純解釋語言,它沒有虛擬機(jī),因此運(yùn)行速度慢。這種語言有它自己的優(yōu)點(diǎn),但主要優(yōu)勢來自采用部分起源于Perl縮略語法不直觀的句法成分。NetRexx與Ruby還有另一個(gè)重要的共同之處:它們都是免費(fèi)提供的。

  那么,這兩種語言中哪一個(gè)更成功呢?是快速、典雅的NetRexx,還是不直觀、速度慢的Ruby呢?事實(shí)可能與你所料的正相反,的Ruby躊躇滿志而NetRexx卻瀕臨死亡。

  關(guān)鍵原因在于Ruby是開源而NetRexx不是。結(jié)果是Ruby能夠建立一個(gè)活躍的開發(fā)員社區(qū)——特別在它的誕生地日本,它已經(jīng)流行了10年。Ruby在David Heinemeier Hansson編寫Web應(yīng)用框架Ruby on Rails之前一直在積累發(fā)展動(dòng)力。Rails是Ruby的殺手應(yīng)用,它是設(shè)計(jì)典雅的典范,保證了Ruby發(fā)揮持久的作用。同時(shí),盡管NetRexx有著巨大的價(jià)值,卻蹣跚而行,無人理睬。如果IBM開放了NetRexx源代碼,腳本技術(shù)可能是一番完全不同的景象。

  僅憑開源本身肯定不能保證一種語言取得成功。實(shí)際上,現(xiàn)在有很多沒有成功希望的開源語言。盡管開源并不是成功的充分條件,但卻是必要條件。缺少它是缺少M(fèi)icrosoft創(chuàng)建社區(qū)的資源。

上一頁1234下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd