開(kāi)源硬件也瘋狂
學(xué)過(guò)電腦或是軟件工程的同學(xué),一定會(huì)把Dennis Allison 在1975 年發(fā)布Tiny BASIC 時(shí)候說(shuō)的話(huà)放在心上,他倡導(dǎo)的開(kāi)放、共用的思想得到了多數(shù)開(kāi)發(fā)者的認(rèn)同,這些年,軟件開(kāi)源取得了令人矚目的成績(jī)。同時(shí),他那句“讓我們站在彼此的肩膀,而不是彼此的腳趾上。”也變成了開(kāi)源軟件運(yùn)動(dòng)的名言。
附圖: 易懂易學(xué)的Arduino 開(kāi)發(fā)板
如今,隨著智慧手機(jī)的爆發(fā)性增長(zhǎng),Android、Firefox OS、樂(lè)OS、Palm各種不同的開(kāi)源軟件都有著自己不錯(cuò)的表現(xiàn)和成績(jī),每種開(kāi)源軟件都有著自己的粉絲,可是大家有沒(méi)有想過(guò)一個(gè)電腦或者說(shuō)一個(gè)合格的系統(tǒng),是由軟件和硬件共同組成的,也就說(shuō),我們有著開(kāi)源的軟件,那么在硬件上有沒(méi)有開(kāi)源的專(zhuān)案和想法呢,今天來(lái)看看開(kāi)源硬件的思想、優(yōu)點(diǎn)和成功的方案,那么大家趕快做上這班開(kāi)源硬件的列車(chē)吧!
“開(kāi)源硬件”的浪潮
從Richard Stallman開(kāi)始的自由軟件運(yùn)動(dòng),其本意是為了要讓開(kāi)放源碼持續(xù)保持在開(kāi)放、可取得的狀態(tài),好讓拿到程式的人都可以研究、修改程式。這樣研究、修改的精神也被應(yīng)用到許多不同的領(lǐng)域與層面,同樣在IT領(lǐng)域中的硬件,也受到了影響,于是就產(chǎn)生了開(kāi)放硬件這樣一個(gè)概念。
“開(kāi)放硬件”的概念之所以誕生,一方面如上段所述,直接受到自由軟件開(kāi)放、研究精神的啟發(fā),另外一方面則是希望間接地讓自由軟件發(fā)展者可以完整地研究開(kāi)放源碼的運(yùn)作,貫徹研究精神,因?yàn)楝F(xiàn)代硬件設(shè)備的運(yùn)作機(jī)制復(fù)雜,例如CPU、圖形加速卡、無(wú)線訊號(hào)接收裝置、可程式化邏輯設(shè)備等,都有軟件來(lái)控制這些硬件的運(yùn)作,只有與軟、硬件密切配合,這些設(shè)備才可以發(fā)揮***功效,若只開(kāi)放相關(guān)的開(kāi)放源碼,卻未開(kāi)放硬件設(shè)計(jì)與規(guī)格,表示所開(kāi)放的資訊并不完整,有能力的開(kāi)發(fā)者并無(wú)法完整地研究這個(gè)設(shè)備的運(yùn)作。
在這樣的歷史背景與因素之下,開(kāi)放硬件的概念逐漸成形,而也因?yàn)檫@樣的歷史緣由,開(kāi)放硬件的英文除了"Open Hardware"之外,還有人使用"Open Source Hardware"(OSHW)一詞,表示沿襲了自由軟件精神,要將硬件設(shè)計(jì)的源頭內(nèi)容給開(kāi)放、提供出來(lái),好讓他人得以自由地使用、修改、制造與散布整個(gè)硬件。而開(kāi)放硬件這一個(gè)概念發(fā)展到今日,也已經(jīng)孕育出了不少的專(zhuān)案。
開(kāi)源硬件成功的專(zhuān)案
1、Power.org
2004 年,IBM 創(chuàng)建了Power.org 作為其Power Everywhere 創(chuàng)意的一部分,將Power ArchitectureR 建成了一個(gè)開(kāi)放硬件專(zhuān)案,具有免費(fèi)許可的標(biāo)準(zhǔn)、設(shè)計(jì)和規(guī)范。
2、OpenSPARC T1
Sun Microsystems 也緊跟著在2006 推出了OpenSPARC T1,這是其成功的SPARC 處理器的一次全開(kāi)放實(shí)現(xiàn)。目前,有三個(gè)基于Reduced Instruction Set Computer (RISC) 的SPARC 架構(gòu)的全開(kāi)放實(shí)現(xiàn),源代碼用Verilog HDL 編寫(xiě),在GNU Public License (GPL) 許可下發(fā)布。
3、BeagleBoard
BeagleBoard 是一個(gè)基于Texas Instruments 的Open Multimedia Application Platform 3 (OMAP3) system on chip (SoC) 的單板電腦,它包括一個(gè)基于ARM 的微處理器和一個(gè)數(shù)位信號(hào)處理器。BeagleBoard 使用了與很多智慧手機(jī)和上網(wǎng)本相同的處理引擎。
4、Arduino
Arduino 是一個(gè)面向終端用戶(hù)設(shè)計(jì)的微處理器,具有易學(xué)易懂的編程模型、一個(gè)可供任何人使用的全開(kāi)放設(shè)計(jì),以及一個(gè)由文檔、擴(kuò)展板、派生產(chǎn)品和社區(qū)組成的大型生態(tài)系統(tǒng)。
5、OpenCores.org
OpenCores.org 是一個(gè)始于1999 年的開(kāi)放硬件機(jī)構(gòu)的先驅(qū),它是開(kāi)放處理器核心的入口網(wǎng)站,提供了在各種開(kāi)放許可下提供的諸多處理器核心的設(shè)計(jì)文檔,包括一個(gè)免費(fèi)的RISC 計(jì)算平臺(tái)、幾個(gè)微控制器、兩個(gè)SoC 以及一些演算法、通信和其他的核,其中大多都是用Verilog HDL 描述的。
總結(jié)
相比開(kāi)源軟件,開(kāi)源硬件仍然是小眾,仍然在緩慢增長(zhǎng),不過(guò)數(shù)量已經(jīng)從***增加至60+。和開(kāi)源軟件一樣,開(kāi)源硬件提供源碼、圖表、硬件和材料清單,并允許商業(yè)使用。
雖然開(kāi)源軟件的理念究竟能否推廣到其他領(lǐng)域還是個(gè)未知數(shù),但是已經(jīng)有很多人在致力于這樣做了,上次是開(kāi)源汽車(chē),這次則有人呼吁搞開(kāi)源硬件,其動(dòng)機(jī)是因?yàn)楝F(xiàn)有的PC系統(tǒng)大多過(guò)于臃腫,充滿(mǎn)了無(wú)用的功能,作者希望大家能設(shè)計(jì)出一套夠用又輕便的系統(tǒng),然后以外包的方式交給廠家去生產(chǎn),好處就是一切的細(xì)節(jié)都可以自己訂制,當(dāng)然也就可以加以?xún)?yōu)化了。老實(shí)說(shuō),雖然這個(gè)設(shè)想的難度不小,但是當(dāng)我看到新一代的顯卡都開(kāi)始需要獨(dú)立電源甚至水冷設(shè)備時(shí),我認(rèn)為有人站出來(lái)號(hào)召一套低功耗的環(huán)保PC還是很有意義的。
對(duì)于開(kāi)源硬件還有很長(zhǎng)的路要走,但至少,我們已經(jīng)看見(jiàn)到了光,難道不是嗎?