過去十年的定義是各種技術(shù)領(lǐng)域的開源創(chuàng)新。軟件堆棧的可公開訪問性質(zhì)使開發(fā)人員社區(qū)能夠交換代碼并實現(xiàn)想法,以構(gòu)建超越組織邊界的協(xié)作杰作。很長一段時間以來,更廣泛的社區(qū)都沒有認識到這一趨勢。最終,絕對的數(shù)量和質(zhì)量贏得了許多擁護者,開源成為軟件事實上的黃金標(biāo)準(zhǔn),但開源硬件呢?
在軟件不斷增長的同時,硬件開發(fā)仍然是孤立的,并且以公司為中心,以創(chuàng)造競爭優(yōu)勢。硬件的歷史充滿了導(dǎo)致不同規(guī)格出現(xiàn)的非協(xié)作運動。孤立的創(chuàng)新最終導(dǎo)致市場分散的例子很多。專有性質(zhì)并沒有成為可持續(xù)的業(yè)務(wù)優(yōu)勢,而是成為瓶頸,并最終導(dǎo)致該標(biāo)準(zhǔn)的終結(jié)。索尼藍光就是這樣一個例子。
一個可能的原因可能是硬件是通過 IP 保護獲得商業(yè)競爭力的源泉,因此公司希望將其保留在內(nèi)部。顯然,這種方法并沒有擴大規(guī)模,我們目睹了硬件平臺的增長速度要慢得多。例如,當(dāng)人工智能 (AI) 出現(xiàn)精益但要求苛刻的用例時,該行業(yè)還沒有準(zhǔn)備好?,F(xiàn)有參與者試圖推動傳統(tǒng)的 FPGA、GPU 和 CPU 解決方案,這些解決方案對于不斷發(fā)展的推理行業(yè)所需的計算來說并不理想。很長一段時間,Arm 不斷創(chuàng)新,提供了非常進化的指令集,但最終也未能跟上步伐。
這種情況最終導(dǎo)致亞馬遜和谷歌看到了定制計算解決方案的潛力,因此他們開始投資半導(dǎo)體以開發(fā)推理定制處理解決方案。它為開源硬件驅(qū)動的車輛帶來了一線希望,這將有助于縮小數(shù)據(jù)科學(xué)與大數(shù)據(jù)驅(qū)動的智能之間的鴻溝。本文追溯了開源軟件的歷程,并總結(jié)了一些經(jīng)驗教訓(xùn),可以幫助開源硬件通過采用最佳實踐來迎頭趕上。
圖 1:Arm 及其指令集架構(gòu) (ISA) 多年來一直是知識中心。
開源秘方
二十多年前,當(dāng)開源概念首次出現(xiàn)時,圍繞貨幣化存在許多問題,隨著時間的推移,各種模型也在演變。如今,超過 3500 萬開發(fā)人員為代碼做出了貢獻,為數(shù)十億臺設(shè)備提供動力,并由此產(chǎn)生了巨大的價值。從 MongoDB(79 億美元)和 Elastic(73 億美元)的公開上市以及微軟(70 億美元)、IBM 的 RedHat(340 億美元)和 Salesforce 的 MuleSoft 的大額收購公開上市后就可以看出上市65億美元。
今天,所有大公司都在以某種形式使用開源,因為它有助于創(chuàng)建優(yōu)化的軟件來解決手頭的問題。雖然計算機和電信行業(yè)是開源軟件的主要消費者,約占其軟件需求的 60%,但工業(yè)和醫(yī)療保健企業(yè)正在迅速采用。開源大大減少了開發(fā)時間,因為大多數(shù)模塊都以經(jīng)過良好測試和優(yōu)化的形式提供,隨時可以集成到軟件堆棧中以解決特定問題。
開源提供了一個經(jīng)典的營銷課程:用戶在意識到之前就已經(jīng)是客戶了。當(dāng)他們意識到這一點時,他們在他們的堆棧中使用了如此多的開源代碼,以至于他們最好購買許可證。從 Apache 孵化的許可證到 MongoDB、Elastic 和 Cockroach 提供的對商業(yè)更友好的許可證,該行業(yè)已經(jīng)走了很長一段路。這就是開源在最初幾天沒有任何明確的營銷需求就開創(chuàng)了免費增值模式的方式。
開源軟件成功的秘訣是在任何新旅程的核心發(fā)現(xiàn)問題,并讓商業(yè)模式隨著時間的推移而出現(xiàn)。隨著您解決更重要的問題,您的源代碼需求會增長,從而擴大項目規(guī)模,吸引更多資金。這就是為什么上四分位數(shù)的開源項目會產(chǎn)生顯著的開發(fā)者吸引力,而其中大多數(shù)是免費的社區(qū)項目。
理解為什么有人會為已經(jīng)開源的代碼付費也很重要?答案在于一段時間內(nèi)的專門支持、安全修復(fù)和維護。它導(dǎo)致滿足不同行業(yè)需求水平的不同開放程度。
Linux的出現(xiàn)
今天,開源軟件在代碼大師班和商業(yè)模式方面有了顯著的發(fā)展。每當(dāng)一家領(lǐng)先的公司參與開源開發(fā)時,它都會成為創(chuàng)建龐大而持久的堆棧的催化劑。
Google 開創(chuàng)了各種成功案例,例如 Android 移動操作系統(tǒng)、TensorFlow 機器學(xué)習(xí)和 Kubernetes,用于部署、擴展和容器化應(yīng)用程序管理。有幾個企業(yè)家努力解決問題的年輕創(chuàng)業(yè)公司的例子。隨著大眾對這個問題的突出認識,解決方案的規(guī)模和數(shù)量都在增長,從而帶來了商業(yè)成功的故事。
在這個增長過程中,關(guān)鍵的組成部分是 Linux 的出現(xiàn)。它作為一個可擴展的主干,可以吸收如此多的不同組件和硬件并無縫提供高性能。無論是提供強大的主干來處理嚴格的時序要求,還是創(chuàng)建空間以適應(yīng)處理特定架構(gòu)元素的不同方式,Linux 都在成功交付成果的同時滿足了苛刻的用例。
構(gòu)建類似 Linux 的膠水
有了關(guān)于開源軟件進化的背景,讓我們將探索轉(zhuǎn)向開源硬件世界。并不是說開源硬件沒有取得任何成功;無論硬件在哪里開源,它都會成為一個巨大的成功故事。Arduino 是一款開源微控制器板,它是開源硬件如何徹底改變?nèi)藗兪褂糜布M行研究和項目相關(guān)活動的方式的典型代表。
隨著計算世界日益增長的需求,開源硬件的想法正在迅速普及。幾家小型企業(yè)嘗試使用模塊化硬件,為客戶提供配置首選硬件模塊的選擇。這個想法令人興奮,使用戶能夠為揚聲器、攝像頭和來自不同供應(yīng)商的網(wǎng)絡(luò)模塊使用一流的硬件,并創(chuàng)建他們想要的任何設(shè)備。
但這種方法未能轉(zhuǎn)化為可擴展的產(chǎn)品和消費者的大規(guī)模采用。原因可以追溯到缺乏可以使硬件模塊化真正可用的驅(qū)動硬件代碼。孤立且高度捆綁的開發(fā)使得在最終產(chǎn)品中實現(xiàn)模塊化幾乎是不可能的。隨著處理器達到違反摩爾定律的地步,前所未有地需要開創(chuàng)性的創(chuàng)新來匯集該行業(yè)的主流智慧。
正如我們看到硬件領(lǐng)域?qū)﹂_源的需求一樣,先驅(qū)者可以從其開源軟件兄弟那里吸取一些教訓(xùn)。開源軟件旨在彌補領(lǐng)先供應(yīng)商提供的軟件的性能差距。因此,重點從來不是用戶友好性,而是在具有挑戰(zhàn)性的環(huán)境中更高的可靠性和代碼性能。
Linux 成為一種流行的服務(wù)器操作系統(tǒng)。MySQL 在該領(lǐng)域向 Oracle 發(fā)起了挑戰(zhàn),純粹是基于架構(gòu)穩(wěn)健性和模塊化方法的優(yōu)點,并解決了單體架構(gòu)的缺點。今天,我們看到亞馬遜將幾乎所有的軟件模塊作為單獨的服務(wù)出售,這在早期的單一軟件理念中是不可能的。
關(guān)鍵問題是,開源硬件的Linux等價物是什么?挑戰(zhàn)在于硬件的復(fù)雜性,使它幾乎不可能構(gòu)建一個類似Linux的膠水,將所有硬件連接在一起。因此,在建立民主的硬件生態(tài)系統(tǒng)方面,物理、法律和經(jīng)濟障礙從未受到真正的挑戰(zhàn)。在第一部分中,物理限制是相當(dāng)復(fù)雜的,并限制了真正的Linux等價于開源硬件突破的發(fā)展。但5G從開放硬件(如無線電接入網(wǎng)絡(luò)(RAN))中脫穎而出,這表明它是可以想象和創(chuàng)造的。
下一個關(guān)鍵問題是,像RISC-V這樣的指令集體系結(jié)構(gòu)(ISA)是否可以觸發(fā)開源硬件的擴散,Linux為平滑同化各種異類組件提供了一條途徑。如果是這樣的話,什么阻止了早期玩家建立這樣一個生態(tài)系統(tǒng)是很重要的。
圖3:Microsemi在其FPGA設(shè)計中實現(xiàn)了RISC-V內(nèi)核。
在很長一段時間里,ARM扮演著知識中心的角色,為那些不愿意被束縛在流行選項上的玩家?guī)砹俗詈玫闹噶罴ISC-V在開源硬件領(lǐng)域提供了一個獨特的機會,在ARM可能被并入一家大型半導(dǎo)體公司后,它有可能成為黃金標(biāo)準(zhǔn)。
隨后的挑戰(zhàn)在于新工具的學(xué)習(xí)曲線。在一段令人難以置信的時期,硬件行業(yè)在驗證 RTL 代碼的方式上并沒有發(fā)生巨大的變化。SV-UVM 是一種事實上的選擇,它逐漸發(fā)展并創(chuàng)造了一個重要的舒適區(qū)。創(chuàng)建一個新的解決方案并期望人們愉快地采用它是具有挑戰(zhàn)性的。價值必須大得多,才能觸發(fā)大規(guī)模采用新的設(shè)計和驗證工具集,以創(chuàng)建優(yōu)雅的硬件設(shè)計。
在諸如 PCIe、USB、OpenCL 和 OpenCV 等開源硬件規(guī)范方面有成功案例,然而,通往真正開源硬件的道路卻要經(jīng)歷生產(chǎn)難題。這將涉及下一個 TSMC 的出現(xiàn),它可以支持靈活的運輸,并為 RTL 驗證流片創(chuàng)建端到端管道,與開源硬件的新世界保持一致。說起來容易做起來難,因為與投資不大的軟件不同,在硬件方面,每一層都以緊密耦合的方式構(gòu)建了數(shù)十年,為開源硬件讓路而拆除成本很高。
現(xiàn)有工具的增量演進可能需要一個世紀(jì)才能達到改變業(yè)務(wù)的開源硬件階段。解決方案是通過明確的路線圖開啟一個不同思維和突破的新時代。除非開源硬件的先驅(qū)者找到端到端問題的答案,否則采用和建立一個事實上的 Linux 等效物將發(fā)現(xiàn)有限的接受者。對設(shè)計工具和生產(chǎn)的投資需要通過大規(guī)模的技能再培訓(xùn)來取得成功,以使設(shè)計社區(qū)大規(guī)模采用新的工具鏈來創(chuàng)建敏捷的硬件開發(fā)。
審核編輯:郭婷
評論