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