今天,在整個業界擁有極高聲譽,但日益衰落的MIPS指令集,終于在新東家WaveComputing的手里正式宣布開源。在MIPS經過多次賣身,最后屈身于AI初創公司,RISC-V開源指令集日益流行的今天,這個結果的確在筆者意料之中,雖然MIPS開源整個指令集架構屬于迫不得已,但已經非常清楚的表明,在開源軟件已經統治整個行業的時代,開源硬件的大潮也已經來臨,指令集開源的流行正是其最大標志。
相比于業內人盡皆知的開源軟件運動,開源硬件在業內的普及度就差了不少,蓋源于大部分人對開源的理解出現非常大的偏差,把Free理解為免費。而開源硬件顯然不太可能免費提供,于是很多硬件行業的人對開源產生極大的抵觸情緒,認為這將危及整個行業的商業模式。
其實不然,開源雖然源于自由軟件運動,但實際上并不排斥商業化,紅帽被IBM收購其實已經很好的說明了開源也可以獲得巨大的商業利益,并且和原有的生態完美融合。其實說到開源硬件,大部分科技史作者會把PC作為其開端。是的,你沒有看錯,我們每天接觸到的PC機,其規范就是公開的,任何廠商都可以根據這個規范制造出PC兼容機,其軟件完全兼容。感謝藍色巨人的博大胸襟,使得PC成為人類第一個大規模普及的計算設備,也把各類封閉的微型計算機打得屁滾尿流,現在已經完全消失。就算是果粉們頂禮膜拜的蘋果機,現在也已經是徹頭徹尾的PC機,唯一的區別只是品牌和操作系統。
當然最近幾年,隨著開源理念的日漸深入人心,很多開源硬件項目浮出水面,成為大家聚焦的熱點,其中最出名的是Arduino,但這個平臺似乎更像是創客的玩具,距離商業化產品還有一定距離。
而由Facebook主導的OCP開放計算項目現在已經獲得了相當多行業巨頭的支持,為數據中心的各類設備的標準化帶來了巨大的進步,而名為開放網絡基金會ONF的組織也正在制定基于軟件的網絡設備的標準或藍圖。這樣的開源硬件項目其實已經非常普遍,它們一直在促進整個行業走向開放和標準化。
而處理器指令集架構是軟硬件系統最核心的界面,所有的軟件都通過指令集與處理器打交道,誰掌握了指令集誰就能控制行業的生態。但現有的主流指令集全部是專有的,這對于行業的發展其實非常不利,處理器指令集是最應該公共化的東西,卻被某個企業所控制,這就產生了巨大的矛盾。
所以當RISC-V開源指令集橫空出世以后,立刻得到了業界的強烈支持,短短幾年,RISC-V基金會的會員數已經超過200家,并且絕大部分的科技業巨頭都已經加入基金會,顯示了整個業界對開源指令集的巨大熱情。
正是在這個熱潮的推動下,已經完全邊緣化的MIPS指令集終于勇敢地走出了開源的重要一步。其實MIPS的開放性在原有的幾個商用指令集里面已經首屈一指,非常容易得到指令集架構授權,這與ARM嚴格限制指令集架構授權形成鮮明對比。筆者原來推演過一個MIPS公司的結局,就是Google這樣的互聯網巨頭收購MIPS,然后開源MIPS指令集甚至是已有的一些內核。現在這件事情由WaveComputing這樣的創業公司來完成了,當然內核沒有開源,內核授權業務仍舊保留。這是一個非常理智的商業安排,通過開源指令集來擴大整個指令集的生態系統,再由擴大的生態來反哺內核授權業務,完成了一個完整的商業閉環。
那么開源的MIPS指令集和RISC-V指令集之間不可避免也會產生競爭關系,它們的競爭態勢會如何呢?筆者分析下它們之間的對比情況:首先,現在MIPS指令集的軟件生態還是強于新生的RISC-V,畢竟它是最早的商用RISC指令集架構,雖然敗于ARM,但積累的軟件和開發工具還是非常可觀的,尤其在原來占優勢的領域。但這次開源的是MIPS R6指令集,這是一個大幅修改近乎全新的指令集架構,和以前的MIPS指令集區別極大,也就是那些歷史遺產實際上毫無用處,一個沒有歷史遺產的全新指令集,那不就是另外一個RISC-V嗎?甚至它的生態還不如現在整個行業全情投入的RISC-V,利用MIPS這個名頭來打歷史情懷牌,實際上卻是一個新手,這次WaveComputing的營銷噱頭有點過。再從處理器內核架構的成熟度方面來討論,MIPS歷史上的那些內核是很成熟,但新指令集已經改變,內核是重新設計的,這個成熟度其實無從說起,RISC-V最早的內核甚至比它們更早。
MIPS的新聞稿里面還提到了能夠為客戶提供專利方面的保護,這個提法也有問疑問,因為MIPS在出售給Imagination以前把自己擁有的580個專利里面的498個專利都出售給了BridgeCrossing,自己只保留了82個和指令集直接相關的專利,出售的專利獲得永久授權。這個BridgeCrossing是ARM為首的幾個科技巨頭組成的一個專利聯盟,這個專利聯盟從當時的行為看主要是為了做專利防御,因為ARM64位處理器的指令集和MIPS64位指令集非常相似,很容易被告專利侵權,收購這些專利等于是化解了這些專利風險。但現在MIPS能否把這些已經出售的專利再授權給自己的客戶,這個要看當時簽訂的專利授權合同里面有無相關條款,否則它的這個說法值得令人懷疑。
除此以外,在內核生態領域,MIPS就明顯占劣勢了,因為現在已經有許多處理器IP公司在做基于RISC-V指令集的內核,并且成為它們的戰略重點,而由于MIPS原有內核授權業務優勢過大,其他公司估計不會去參與這個業務的競爭,而開源社區出身的RISC-V還有開源內核可選,使得MIPS內核的多樣性和可選擇性大大弱于RISC-V內核,甚至由于歷史慣性,這點可能永遠也趕不上RISC-V。
還有MIPS指令集架構開源以后,它的擁有者肯定不會是現在的WaveComputing,應該會建立一個中立的非盈利性組織來管理,大家推測可能會放到前幾年成立的prpl基金會里面,但這個基金會的組成還是比較單薄,能否吸引更多的業內企業加入也是個挑戰,畢竟行業不需要多個不同的標準的指令集,形成現在的生態分裂局面,后面的競爭就是看巨頭站隊了。這個態勢不由讓筆者想起BSD和Linux的競爭,最后新生的Linux是完勝更加古老成熟的BSD UNIX的,這還是和歷史路徑以及巨頭站隊有關,雖然軟件和硬件不是完全一樣的情況,但歷史從來都可以作為鏡鑒。
從上面分析看,MIPS開源的指令集其實不占有任何優勢,一個披著MIPS名字的全新指令集,其生態其實還不如RISC-V,我們可以理解為已經徹底邊緣化的新指令集架構利用開源的模式來為自己建立生態,然后可以獲得相應的商業內核授權收益。這個商業模式當然無可厚非,只是來得太晚了,如果早5年開源,RISC-V可能就沒有任何機會了。歷史沒有假設,商業公司畢竟有它的利益牽絆,但歷史大勢不可阻擋。
當然現在更重要的事情不是它們兩個指令集誰取勝,而是ARM怎么辦?在行業大勢面前,ARM雖然也有幾個免授權費的內核,但版稅不可少。在巨大的商業利益面前,ARM顯然不會開源自己的指令集,除非軟銀為了更加巨大的潛在利益而放棄現有收益,但目前還看不到這種舉動的背后邏輯。
開源軟件已經成為整個互聯網行業的基石,并且不斷開疆拓土,開源硬件也不斷侵蝕云計算和通信等行業,而最核心的開源指令集這幾年終于蔚為大觀成為整個行業的新潮流,MIPS不會是最后一家開源的指令集,以前那些大型商業RISC處理器指令集要么開源要么終結,不會有其他的道路,唯一的疑問是現在的霸主ARM能抗拒多久?從微軟整體戰略的轉變,我們不難得到答案。