開(kāi)源硬件能否像開(kāi)源軟件一樣流行
當(dāng)前開(kāi)源軟件的流行我們有目共睹。從嵌入式平臺(tái)的 Android 到桌面平臺(tái)的 Ubuntu、Firefox 和 Chromium 再到服務(wù)器平臺(tái)的 LAMP,或正迅猛地吞食市場(chǎng),或已打下大半江山。然而,在不為普通用戶注意的角落,有一群極客在默默開(kāi)發(fā)著所謂的“開(kāi)源硬件”。那些“開(kāi)源硬件”將來(lái)會(huì)進(jìn)入大眾的視線嗎?
在談開(kāi)源硬件之前,讓我們先來(lái)看一下開(kāi)源軟件為什么會(huì)流行。普通的用戶絕對(duì)不會(huì)在乎一款軟件是否開(kāi)放源代碼,使用什么許可協(xié)議。他們唯一關(guān)注的是能不能花最少的錢(qián)用上最好的軟件。那么,開(kāi)源軟件又是怎么做到便宜和好用的呢?
1、免費(fèi) 開(kāi)源軟件最吸引人的地方毫無(wú)疑問(wèn)是它的免費(fèi)。相比于 Windows 幾百上千的價(jià)格,可以自由傳播,自由使用的 Ubuntu 早已向前邁了一大步。對(duì)于嵌入式系統(tǒng)而言,開(kāi)源的系統(tǒng)可以降低設(shè)備制造成本,實(shí)惠消費(fèi)者也是不爭(zhēng)的事實(shí)。
2、高質(zhì) 優(yōu)秀的開(kāi)源項(xiàng)目往往能吸引大量的技術(shù)天才來(lái)協(xié)助開(kāi)發(fā)。于是最終發(fā)行的軟件在質(zhì)量上也不會(huì)低于收費(fèi)軟件。就質(zhì)量上 PK,開(kāi)源的 Virtualbox 也沒(méi)有比收費(fèi)的 VMWare 遜色多少。
3、跨平臺(tái)
作為一個(gè)Mac用戶,我常常為找不到那些優(yōu)秀的 Windows 平臺(tái)軟件的 Mac 版而苦惱。但是對(duì)于開(kāi)源軟件則沒(méi)有這個(gè)問(wèn)題。一個(gè)優(yōu)秀的開(kāi)源軟件即使沒(méi)有“小眾操作系統(tǒng)”的版本,也會(huì)有愛(ài)好者自己編譯。最終,優(yōu)秀的開(kāi)源軟件常常是完美支持多平臺(tái)的。例如大名鼎鼎的 AutoCAD 不原生支持 Mac,但是同樣是 CAD 軟件,開(kāi)源的 Archimedes 卻同時(shí)支持 Windows 和 Mac。所以如果我常常要在兩種系統(tǒng)間來(lái)回切換,我顯然會(huì)選擇 Archimedes 來(lái)減少麻煩。
4、定制性強(qiáng) 一個(gè)優(yōu)秀的開(kāi)源軟件周?chē)3?huì)有數(shù)不勝數(shù)的插件。于是軟件也就會(huì)可以通過(guò)安裝插件來(lái)迎合每個(gè)人的需求——如果不理解,去看看 Firefox 那恐怖的插件庫(kù)吧。 5、問(wèn)題修復(fù)及時(shí) 是軟件就會(huì)出問(wèn)題,這是已經(jīng)被無(wú)數(shù)次證實(shí)的真理。而開(kāi)源軟件總是可以依靠群眾的智慧,在第一時(shí)間修復(fù)問(wèn)題。根據(jù)Ed bott的博客文章,Ubuntu 和 Fedora 的更新發(fā)布頻率都遠(yuǎn)高于 Windows。 什么是開(kāi)源硬件
開(kāi)源硬件,指與自由和開(kāi)放源碼軟件相同方式設(shè)計(jì)的計(jì)算機(jī)和電子硬件。開(kāi)源硬件開(kāi)始考慮對(duì)軟件以外的領(lǐng)域開(kāi)源,是開(kāi)源文化的一部分。
這個(gè)詞主要是用來(lái)反映自由釋放詳細(xì)信息的硬件設(shè)計(jì),如電路圖、材料清單和電路板布局?jǐn)?shù)據(jù),通常使用開(kāi)源軟件來(lái)驅(qū)動(dòng)硬件。
共享邏輯設(shè)計(jì)連同可編程邏輯器件之重構(gòu),也是一種形式的開(kāi)源硬件。
一些開(kāi)源硬件項(xiàng)目:
ECB AT91 – 基于 Atmel AT91RM9200 ARM9 信息處理器 (180 MHz)的單板計(jì)算機(jī)
ECB ATmega32/644 – 基于 Atmel ATmega32/644 (20 MHz) 單板計(jì)算機(jī),網(wǎng)絡(luò)服務(wù)器性能和少于 100mA 的電源消耗
Simputer – 針對(duì)發(fā)展中國(guó)家的掌上電腦
Open Graphics Project 目的是設(shè)計(jì)一個(gè)開(kāi)放的架構(gòu)和標(biāo)準(zhǔn)的顯卡。
OpenSPARC 是一個(gè) Sun Microsystems 貢獻(xiàn)了 UltraSPARC T1 和 UltraSPARC T2 multicore 處理器設(shè)計(jì)之開(kāi)放源碼之處理器項(xiàng)目 。
OpenRISC 是一個(gè)開(kāi)發(fā)者工作產(chǎn)生非常高性能的開(kāi)源 RISC 中央處理器 。
LEON 是一個(gè) ESA 創(chuàng)建的開(kāi)源 SPARC-like 的開(kāi)源 32 位中央處理器。是歐洲太空業(yè)標(biāo)準(zhǔn)中央處理器。
OpenCores 是一個(gè)基金會(huì),試圖形成一個(gè)設(shè)計(jì)師社區(qū),以支持開(kāi)源核心(邏輯設(shè)計(jì))之處理器、外圍設(shè)備和其他設(shè)備。 OpenCores 維持一個(gè)叫做 Wishbone 的開(kāi)放源碼之芯片上互連總線規(guī)范要求 。(via 維基百科)
簡(jiǎn)而言之,開(kāi)源軟件開(kāi)放源代碼,開(kāi)源硬件開(kāi)放電路設(shè)計(jì)。
開(kāi)源硬件流行的基礎(chǔ):可編程邏輯器件(PLD)
不像硬件,軟件的的開(kāi)發(fā),傳播和部署幾乎可以做到零成本。 但是如果使用“一次性”的電路,開(kāi)源硬件別說(shuō)投入大規(guī)模使用,連開(kāi)發(fā)都成問(wèn)題——開(kāi)發(fā)者必須忍受極其緩慢的模擬器。但是,可編程邏輯器件的存在給開(kāi)源硬件帶來(lái)了希望。
簡(jiǎn)單的說(shuō)來(lái),可編程邏輯器件就是一個(gè)存儲(chǔ)器加上一個(gè)邏輯門(mén)陣列。存儲(chǔ)器上的數(shù)據(jù)可以控制邏輯門(mén)之間線路的通斷。有的可編程邏輯器件甚至可以反復(fù)刷寫(xiě),多次改變內(nèi)部的電路排列。
如此,開(kāi)源硬件也變得如軟件一般可以“零成本開(kāi)發(fā),零成本部署”了。
開(kāi)源軟件的優(yōu)點(diǎn)可以移植到硬件上嗎
畢竟軟件和硬件是不同的。開(kāi)源軟件的優(yōu)勢(shì)在硬件上仍然存在嗎?
1、價(jià)格 一眼看來(lái),似乎開(kāi)源硬件會(huì)有價(jià)格上的優(yōu)勢(shì),因?yàn)楫a(chǎn)品價(jià)格不包含可觀的研發(fā)成本。但是硬件早已不是可以“動(dòng)手制作”了。然而,訂做小批量的產(chǎn)品是非常昂貴的。讓愛(ài)好自由的極客統(tǒng)一起來(lái)訂上大批量的開(kāi)源硬件又是幾乎不可能的事。因此唯一可行的把開(kāi)源硬件設(shè)計(jì)“落實(shí)”的方法就是把電路置于可編程邏輯器件當(dāng)中。
2、品質(zhì) 開(kāi)源軟件往往是由一個(gè)龐大的開(kāi)發(fā)者社區(qū)“催熟”的。但是開(kāi)源硬件的開(kāi)發(fā)者還不夠多。但這不是個(gè)問(wèn)題,畢竟開(kāi)發(fā)者是可以培養(yǎng)的。最終,優(yōu)秀的開(kāi)源硬件設(shè)計(jì)是完全有可能出現(xiàn)的。
3、跨平臺(tái)
很遺憾,硬件是無(wú)法“跨平臺(tái)”的。舉個(gè)大家熟悉的例子:即使是同為 x86 架構(gòu),Intel, AMD 和 VIA 的處理器還是差異巨大的。因?yàn)檎麄€(gè)平臺(tái)的不同,所謂的移植實(shí)施起來(lái)難度也大到幾乎不可能實(shí)現(xiàn)。有人可能會(huì)提到全美達(dá)的 Efficeon ,但是這樣的架構(gòu)在可編程邏輯器件當(dāng)中即使能實(shí)現(xiàn)也不會(huì)有滿意的性能,而且還有各平臺(tái)針腳定義不同的問(wèn)題。
4、定制性 開(kāi)源硬件可以通過(guò)制訂內(nèi)部總線標(biāo)準(zhǔn)去實(shí)現(xiàn)擴(kuò)展性。但是接下來(lái)的問(wèn)題是可編程邏輯器件的容量往往會(huì)極大的限制硬件的擴(kuò)展性。
5、更新 可編程邏輯器件的使用讓零成本更新硬件成為現(xiàn)實(shí)。于是更新的問(wèn)題并不會(huì)過(guò)多阻礙開(kāi)源硬件的發(fā)展。 可編程邏輯器件使硬件性能和功能失去競(jìng)爭(zhēng)力
前面提到,可編程邏輯器件讓開(kāi)源硬件的傳播成為可能。但立于可編程邏輯器件之上的硬件還可以依靠性能和功能去打動(dòng)用戶嗎?
可編程邏輯器件的原理是由存儲(chǔ)器內(nèi)的數(shù)據(jù)決定邏輯門(mén)之間線路的通斷。所以可編程邏輯器件的結(jié)構(gòu)決定了它不能承載太復(fù)雜的設(shè)計(jì),而且功耗高,速度慢。所以,可編程邏輯器件的使用不僅限制開(kāi)發(fā)者的思維空間,而且拖慢速度。對(duì)于移動(dòng)設(shè)備而言,可編程邏輯器件還會(huì)降低續(xù)航能力。[!--empirenews.page--]
開(kāi)源硬件流行?不太可能
看到這里,你應(yīng)該已經(jīng)明白按照現(xiàn)有的科技和組織方式,開(kāi)源硬件只會(huì)在極客當(dāng)中傳播。一個(gè)可能的例外是當(dāng)一個(gè)開(kāi)源硬件設(shè)計(jì)足夠成熟的時(shí)候,可能有人會(huì)投資大規(guī)模制造。這樣開(kāi)源硬件則可能會(huì)大眾化。