開源硬件要復(fù)制軟件開源的成功? 難!
開源不算新鮮事,但目前還是屬于一種小眾文化,開源硬件在整個開源領(lǐng)域更是小眾里的小眾。而隨著智能硬件的興起,開源硬件也逐漸成為一個無法忽視的重要一環(huán)。由于軟件開源在過去數(shù)十年取得了不凡的成績,因此,對于開源硬件,很多人也期盼能夠復(fù)制開源軟件的成功。
筆者認(rèn)為要復(fù)制開源軟件的成功模式可以說是很有難度的。因為硬件工程相對于軟件工程有著本質(zhì)區(qū)別,硬件的開源也遠(yuǎn)比軟件復(fù)雜。需要克服入行門檻高、成本高、設(shè)計非標(biāo)準(zhǔn)化等多方問題,這些問題短期內(nèi)還不能被解決。
首先,入行門檻上硬件要求更高。在軟件行業(yè)發(fā)達(dá)的當(dāng)下,具有良好邏輯思維能力的人,只要感興趣,有一臺可以上網(wǎng)的電腦,甚至可以就通過互聯(lián)網(wǎng)獲得足夠的教育,就能成為一名軟件開發(fā)人員。這使得現(xiàn)在的程序員數(shù)量蹭蹭上升,幾個程序員聚集在一起就可以合作一些有趣的事情。而在硬件方面,大多需要科班出身的專業(yè)人員進(jìn)行設(shè)計,自學(xué)成才的硬件電子設(shè)計工程師比較少。一名合格的硬件設(shè)計工程師,需要學(xué)習(xí)大量物理和電子方面的基礎(chǔ)理論知識,而且需要使用各種儀器進(jìn)行實踐工作,這其中的時間和投資成本比軟件要高得多。硬件工程師的數(shù)量相對就比較少一些,加上協(xié)作的難度,要搞硬件的聚到一起做風(fēng)險較高的開源工作就更困難。
為什么說硬件開源協(xié)作困難呢?這就涉及到模塊化、標(biāo)準(zhǔn)化問題。我們知道軟件產(chǎn)品有完整定義,可以隨時調(diào)整的輸入輸出。也就是說一個軟件模塊編寫運行測試通過,那么這個模塊就可以被視作黑盒子,被另外一個完整定義的模塊調(diào)用運行。只要軟件之間的接口不變,那么各個模塊之間的邏輯就不會發(fā)生變化,這就使得無論開發(fā)人員身處哪里,都可以僅僅通過定義好的接口來互相合作。
在硬件領(lǐng)域就不存在只要知道接口就可以加入設(shè)計使用的硬件。硬件的選型就不是簡單的事情,即使工作很多年的硬件設(shè)計師,在選用從未使用過的硬件設(shè)備時,也很有可能在接口電壓或是時鐘頻率的匹配這種“小問題”上栽跟頭。硬件設(shè)計師們沒有強(qiáng)大的IDE,沒有美好的編譯器和解釋器,軟件仿真也只能作為參考。硬件設(shè)計唯一能依靠的就是扎實的理論基礎(chǔ)和反復(fù)的實驗檢測。像是“一個中國工程師和一個美國工程師遠(yuǎn)距離合作開發(fā)出來一個信號采集器”這種在開源軟件看來很正常的合作模式在硬件領(lǐng)域是不太可能發(fā)生的。硬件設(shè)計師們必須坐在一起跑仿真,測芯片,焊板子。
最重要的、也是市場化最關(guān)注的成本問題。在軟件開發(fā)過程中,一旦某個模塊的接口需要改變,那么軟件工程師所要做的就是坐在電腦前修改代碼然后使用短信,電話,email或其他通訊工具通知所有需要使用這個模塊的人,大家一起調(diào)試通過后修改就完成了。因此開發(fā)成本基本上就是人力成本。發(fā)布軟件的成本那就更低了,有了互聯(lián)網(wǎng),基本都是零成本了。
硬件開發(fā)則是相反的,當(dāng)硬件工程師千辛萬苦跑了無數(shù)仿真做出來的電路送到工廠,花了不少金錢制作出來之后,示波器,邏輯分析和頻譜分析儀會用嚴(yán)酷的事實告訴你:這個東西不對。那么修改成本那又是如流水般,幾萬、幾十萬都不算什么事兒。如果產(chǎn)品順產(chǎn),后期的倉儲、銷售、售后等環(huán)節(jié)更是難以預(yù)計。開發(fā)人員的成本只是占很少部分。
因此,雖然現(xiàn)在像Arduino、樹莓派等解決方案取得了一些突破,但是總體而言,要取得開源軟件那樣的成功,硬件還需要一個更好的開源模式。