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