文 / Kenson Chou,TOPC 台灣開放平台俱樂部 創辦人
開放硬體(open hardware),最近這幾年在全世界都掀起了風潮。其中比較知名的開放硬體,包含有 Arduino 快速電子打樣系統、Raspberry pi 樹莓、迷你PC、3D列表機…等等。這些裝置,不但簡單易用,價錢也非常便宜,對世界的DIY愛好者,有著廣大的吸引力,也對全人類科技電腦的進步,有著顯著的影響。有人預估開放硬體的出現,也將如網路改變人類的生活一樣,加速人類第三次工業革命的到來。既然開放硬體有如此巨大的魅力與影響力,就讓我們深入開放硬體的殿堂,一窺其全貌。
什麼是開放硬體呢?
所謂開放硬體,就是硬體裝置(device)設計者將線路圖、佈線圖、零件表等關鍵技術資料,開放給一般大眾,讓所有人都能依據這些資料,使用、改進、製造更優良的硬體裝置。相對於開放硬體的開放,傳統的硬體裝置,所有關鍵資料都是屬於機密,當然也不會放到網路,開放給大眾。剛接觸開放硬體的人都會感覺驚訝:真的有人願意這麼作嗎?會把辛苦研發的產品分享出來?答案是確定的,真的有人如此作,而且還是不少人或團體。許多人推出開放硬體的目的也許不盡相同,但只要是開放,就符合「自由」、「分享」、「互惠」的基本精神,而這些精神,是令人鼓舞與讚賞的。
GPL遊戲規則
雖說自由、分享與互惠是開放硬體的精神,但要實際使用開放硬體,還是有些規則大家必須遵守,否則再好的精神,也無法長久持續下去。開放硬體的的規則主要是以GPL (general public license 通用公共授權條款)為代表。GPL當初是 由 Richard Stallman為了 GNU 計畫所撰寫(GNU 計畫是發展UNIX操作系統),而其目的,是為保證 GNU 軟體可以自由地被使用、複製、修改和發行,這與傳統商業授權條款用來限制使用者的目的完全相反。GPL 這種精神與內涵,後來陸續被其他人效法與使用。時至今日,除了當初的開放軟體外,開放硬體也同樣加入GPL的行列,使得GPL成為開放軟硬體使用最廣泛的授權條款了。當然,除了GPL以外,還有其他衍生LGPL與 BSD等類似授權條款,也被當作授權條款之一。
開放硬體內容
開放硬體到底開放哪些資料呢 ?一般而言,開放硬體所提供的開放資料包含下列幾個部份,有了這些資料,使用者就可以進行修改與複製。其中要注意的是,廠商依據其自身的考量,提供出來的開放資料不盡相同。另外,就算是廠商有提供這些關鍵技術資訊,也可能不是最新版本,也不會提供品質保證。這些開放資料的使用風險,使用者必須自己承擔。
- 線路圖 (schematic):線路圖是硬體裝置最重要的技術資料,有了線路圖,就可以據此產生佈線圖、零件表,最後將設備製造出來。所以一般而言,有號稱是開放硬體的裝置,線路圖一定會開放。
- 佈線圖 (Layout):就是零件(電容、電阻、關鍵IC)的佈置圖。許多開放硬體不一定會開放佈線圖。
- 零件表(Bill of Material):所有零件的列表,有了這個表,就可以據此製造開放裝置,計算出生產成本以及庫存管理。許多開放硬體不一定會開放零件表。
- 授權條款:廠商所宣告的授權條款,也因其自身考量而會不同,不過一般而言,還是以GPL或是LGPL/BSD為大宗。開放硬體絕大部份都有授權條款。
開放硬體的特色
售價低廉、容易使用、說明文件多、社群參與多,是開放硬體幾個鮮明特色。這些特色都源於開放硬體的最重要的部份:線路圖開放。
有了線路圖,就可以激起人類的好奇心與求知欲,參與的人就變多了,討論的人也變多了,當然就有熱情的人與社群願意分享許多使用經驗與產品說明;而這一切,都會加速開放硬體的推展。售價低廉是開放硬體一大特色,有了線路圖,理論上,誰都可以製造生產,不會被少數廠商壟斷,零售價當然就相對低廉許多。以前一片2000~3000NT的教學開發板,現在只要500~1000NT就解決了,對使用者而言是一大利多。源於義大利的 arduino 快速電子打樣系統,其最大優勢就是容易使用,一般電腦產品都需電腦專業人員才能修改或設計,但 arduino 提供一個簡單好用的開發平台,讓一般的DIY MAKER、藝術家、互動科技愛好者…..等等非電腦專業人員,也可以在 arduino 硬體板子上開發新的產品。
開放硬體與開放軟體的差異
有些人也許聽過開放軟體( open software),顧名思義,開放軟體就是將軟體原始碼(source code),開放給他人使用,如歷史悠久的linux操作系統就是開放軟體。那麼開放硬體與開放軟體有哪些異同呢?下面作個簡單的分析比較:
- 開放的精神:兩者都是一樣的,都是推廣自由、開放、分享的理念。
- 授權條款:也是相同,都是依據GPL或是衍生之相關授權如 LGPL,或是其他授權條款。
- 開放內容:不盡相同,開放軟體是以程式原始碼(source code)為開放標的,而開放硬體通常以線路圖、零件表為主,當然還要加上能夠在此開放硬體執行的開放原始碼(open source)。所以一般而言,開放硬體開放的內容包含軟硬體(也可以稱作開放平台),範圍比較廣。
- 開放者類型不同:開放軟體一般源於個人或社群,只要將原始碼放到網路,讓有興趣的人下載,即可達到傳播之目的,這種傳播方式一般不需要實際額外資金投入。而開放硬體一般源於社群或商業公司,主要原因是開放硬體需要經歷製造過程,如購料、加工、生產、庫存……等等,才能看到裝置實體,而這些製造過程需要實際資金投入才能完成。
開放硬體四個層次
目前市場上有各種不同種類的開放裝置,其應用方式不太相同,如果將其功能區分為四個層次就更容易了解。目前進展最快,銷售數量最大的,就屬於第二層的 miniPC(迷你PC) 與 第三層的 3D列表機。隨著市場擴大,更多不同應用的開放硬體將會陸續出現。
- 第一層 IC 層:這是最底層,也就是將IC的設計圖開放出來,這部份還不成熟。
- 第二層 板材層 (board level):目前市場上流行的 arduino、raspberry pi、miniPC……等等都屬於此類。
- 第三層 系統層( system level):這一層開放裝置,需要高度整合軟硬體資源,例如 3D 列表機需要整合3D繪圖軟體以及3D輸出裝置。
- 第四層 跨領域整合層:這一層開放裝置,除了整合嵌入軟硬體之外,還整合了生物醫學等不同領域的專業知識,例如個人DNA檢測機。
開放硬體的未來
藉由開放硬體逐漸深入生活,人類將更能享受彼此科技發展的成果。過去「COPY」的「惡行」,將轉化為人類大幅進化的「動力」。試想,如果網路上有許許多多的開放線路圖與開放原始碼,每個人都可以複製、修改、傳播,並據此激盪出更多的創意,然後再回饋開放給其他人。許多人也可以將精力與資源投入在更複雜與更需要解決的事物上,如此循環下去,開放硬體的深度與廣度將大幅擴展,人類的整體進步速度也將遠遠大於過去的發展。