新基建在硬體層面必須是開放的,在軟體層面必須是開源的。這不僅是基礎設施的公共屬性,是監管和政策的原因,也是技術的需要。雲原生的基礎設施正在大行其道,軟體正在吞噬世界,因此這裡重點談下,開源軟體為什麼會逐步佔領基礎軟體層。
任何產業在發展初期,因為技術不多市場不大,都容易被少數幾家先行者所壟斷。但隨著市場拓寬和技術拓展,越來越多的企業就會擁有自己的獨佔技術和勢力範圍,企業開始相互割據、相互競爭又相互牽制。但每家的“技術根據地”呈現出割據的局面,導致彼此相容或互通的成本很高,也降低了使用者的信任度,阻礙了整個產業向前發展。
因此,當一個產業發展到一定規模和相對成熟後,市場上的主要競爭者(即剩下的成功者)就會意識到,既然誰都無法壟斷,誰也吃不掉誰,技術市場又趨於成熟,大機會、大創新和大顛覆也不多了,那就彼此合作爭取制定“大一統”的規範,讓技術上彼此相容彼此互通,讓市場上彼此競爭彼此割據。只有把底層技術統一了,才可能成為真正的基礎設施,才可以讓上層應用放心地發展自己,才可能把整個產業做得更寬,把蛋糕逐步做大。
通訊、電子、計算機硬體和網際網路業如此,軟體業亦如此。軟體業發展到20世紀末期,底層基礎性技術的範圍一直在拓展,漸漸地一家公司無力獨立開發了,需要社會化開放協作開發了,當然更沒有可能獨家壟斷市場了。如果底層技術還不統一不開放,不僅導致相容性和互通性成本激增,而且底層黑盒的二進位制程式碼軟體,會讓合作伙伴、上層軟體開發者和使用者都顧慮重重。
如果軟體公司把底層技術開源,一方面可以吸引更多人來幫忙開發、測試和維護,降低成本提高程式品質,提高軟體透明度和信任度。另一方面,通過口碑傳播,吸引更多人使用自己的底層技術和開發上層的應用軟體,更容易形成新生態,用網路效應來排擠競爭對手。
但底層技術開源的核心目的,是引流而不是盈利,但企業最終還是要盈利的,只是換了一個打法後,換了一個主戰場而已,將競爭的焦點轉移到了上層業務和新興的技術領域,而上層的應用程式還是閉源的,還是核心技術祕密。
底層的基礎設施開源,上層的應用閉源,前者用於導流,後者用於盈利,就成了軟體巨頭的標配,並且這一過程是可持續的。上層應用本已“交底”給開源了,但如果慢慢做成功了做大了,就會形成平臺,形成新底,然後就是又一輪的“新底開源,新應用閉源”。
比如,早期的開源主要是底層的作業系統和資料庫等,現在則已經是雲端計算、大資料、區塊鏈和人工智慧框架等,因為這些也已經是新型基礎設施了,是新底了。因此,隨著技術的發展,開源軟體的“底”,是不斷上浮的,是會不斷髮展成新型基礎設施的。
與此類似地,網際網路也是“底層開放,應用封閉”的。下層的通訊標準(如TCP/IP,HTTP)是由IETF和W3C等開放制定的,屬於基礎設施層面的,多是電信運營商運營的。成了早年的email等少數幾個應用,網際網路的上層應用(如SNS)則多是碎片化的和非標準化的,是整個網際網路競爭的焦點,是Google、亞馬遜、阿里和騰訊等網際網路巨頭的天下。
開放是為了引流,封閉是為了賺錢,誰也不比誰更高貴。