1968 年,著名的北大西洋公約組織在聯邦德國組織了一次學術會議,前來參會的是 50 多名北約各國的計算機專家、軟件工程師、工業界代表。會議隻有一個主題:應對 " 軟件危機 "。
在當時,大型計算機還沒有普及,但軟件開發帶來的巨大成本已經讓各國開始恐慌。歐美國家普遍發現,如果每個軟件都采取高度定制化的開發方式,那麼随着軟件數量增加,開發成本和維護難度會拖垮産業鍊,甚至危及社會經濟安全。
最終,會議形成的應對共識,是國家必須發展軟件工程 ( software engineering ) ,确保自身掌握從開發語言、操作系統,再到軟件開發工具的一系列基座。用系統化、數量化的工程原則來實現軟件開發的低成本與高可控,從而避免産業經濟被軟件拖垮。
這一結論影響了此後數十年的全球軟件發展史。美國、歐洲、日本紛紛在基礎軟件與開發工具上重兵集結,一決雌雄。由此不僅在市場層面産生了一系列基礎軟件巨頭,在國家競争層面,以美國為代表的發達國家,可以通過基礎軟件與開發工具優勢牢牢掌控全球軟件發展,确保自身的領先地位。至此,軟件工程已經不再是一個技術問題,而是成為國家戰略安全問題。它帶來了很多結果,比如在基礎軟件中競争失敗的歐洲、日本,喪失了後續信息革命的主導權;又比如東南亞、印度等地,隻能淪為美國的軟件外包商,喪失了底層創新機會。
軟件工程,從來都是一場發生在代碼中的無聲戰争。
時間來到 21 世紀,伴随着全球化的大發展,開源軟件與開源社區已經成為了主流的基礎軟件(尤其是軟件開發工具)獲取形式。中國、韓國、新加坡等國家的軟件産業,充分利用了開源機遇,用最低成本的方式獲得了成熟的軟件開發基座。但這種模式真的牢不可破嗎?甜蜜的軟件開發工具開源,真的會始終美好嗎?
當逆全球化與地緣紛争的鐘聲敲響,我們驚覺風險從未消散,新 " 軟件危機 " 正在醞釀。
軟件,從來不隻是個技術問題,而是企業乃至社會的命運問題。
讨論 " 缺芯少魂 ",
不能忘記開發工具
這些年來," 缺芯少魂 "" 卡脖子 " 成為全民熱議的話題。誠然,芯片和操作系統是軟硬件兩大體系的核心。但要看到的是,我們缺和少的絕不僅僅是這兩樣東西。事實上,走向科技自立要補的課非常多,比如硬件層面的存儲、數控元件;軟件層面的開發框架、中間件、數據庫。其中不能忽略的一點,就是軟件開發工具。
軟件開發工具,是基礎軟件中的基礎軟件,也是應對 " 軟件危機 " 的關鍵。所謂軟件開發工具,是指軟件開發從創意到需求分解,再到設計、編碼、生成文件,最終部署到對應環境中,各個步驟、流程所需要的必備工具支持。其内涵十分豐富,體系十分龐雜。
從開發流程上看,軟件開發工具一般涉及項目管理、代碼托管、代碼檢查、編譯、部署、測試、發布等等,每個流程環節都有不同的工具。對于軟件企業來說,軟件開發工具需要盡量形成完整的工具鍊,這樣才能協同各個部門,管理整個軟件開發項目的流程與進度。而對于開發者來說,軟件開發工具需要盡量集成化、一體化,從而降低使用不兼容工具開發帶來的綜合成本,實現敏捷、高效率地開發。
在這些動力的加持下,軟件開發工具不斷走向現代化,其價值也水漲船高,行業影響力随之而來。
數字化時代裡有句名言," 軟件定義一切 ",可以說,每家企業都将是軟件企業,每位研發人員都将是軟件開發者,每個基礎研發流程都離不開軟件開發工具。如果我們做一個逆向假設:大量軟件開發工具不能用了,會發生什麼?
就像缺了光刻機不能造芯片一樣,缺了軟件開發工具首先無法實現軟件開發。同時,大量軟件還将無法進行創新叠代,已有軟件很難進行維護和運營。這種情況,不僅直接威脅大衆生活中的 APP 與軟件應用,更會直接打擊依賴軟件的工業數字化體系與民生數字化基礎設施,這是任何人都無法承受的代價。
如今,軟件工具已經大量使用全球化的開源工具與開源平台。那麼,我們不禁需要提出一個問題:這種模式,真的安全嗎?
後開源時代,
新 " 軟件危機 " 來臨
随着 20 世紀 80、90 年代信息全球化的開展,頭部企業意識到開源是最有效形成生态、構建産業優勢的方式,于是基礎軟件開源成為全球化過程中一道亮眼的風景。到了 21 世紀,新進的軟件開發者、從業者,從開始就習慣了開源開發工具,将使用開源工具,加入開源社區作為一種常識。
當時間指針轉到今天,我們卻猛然間發現,開源的美好原來是那麼可貴與脆弱。它并非一成不變的真理,而僅僅是黃金時代的饋贈。
2022 年 3 月,随着俄烏沖突爆發,谷歌、蘋果、亞馬遜、微軟、Meta 等軟件巨頭,以及 SAP、Oracle 等軟件公司都快速停止了面向俄羅斯的業務。大量代碼托管平台以及開源社區,紛紛在第一時間宣布封鎖俄羅斯開發者賬号。俄羅斯方面也在 3 月底宣布,禁止所有國家機構與半政府實體在關鍵基礎設施項目購買外國軟件。
可以說,在短短不到一個月時間裡,歐美就對俄羅斯,以及這個國家的軟件企業、開發者、數字化項目落下了軟件鐵幕。名義上開源開放的工具,在關鍵時刻沒有一個秉持固有原則,紛紛在地緣紛争中站隊。
比如說,今天全球軟件開發者許多已經習慣在 Github 進行代碼托管,甚至認為 GitHub 已經變成了一種開發者之間的 " 默認準則 "。然而就在俄烏沖突開始不久,GitHub 就對受到美國制裁俄羅斯實體的相關軟件開發者進行了個人賬戶禁用、内容清空等限制。Sberbank 科技、SberbankAI 實驗室、阿爾法數據庫實驗室等俄著名俄羅斯科技企業先是遭到了項目禁用,緊接着托管代碼被整個删除。甚至有俄羅斯開發者稱,他們隻是先前與相關企業有過合作,目前合作關系早已結束,但依舊遭到了 GitHub 在沒有預先警示的情況下封禁賬戶。
這種情景,不禁讓全世界更多國家開始反思,開源工具真的萬無一失嗎?它真的獨立于政治和地緣之外,是一種純粹技術的第三方價值嗎?
答案顯然是否定的。一旦底線被打破,那麼它就會一次次被打破。一次次國際紛争,讓我們看到了 " 後開源時代 " 已經到來。開源工具與開源平台,根本不獨立于國際局勢,甚至可以在必要的時候作為國際紛争中的工具、砝碼,甚至是武器。
這也在某種程度上預示着,新的 " 軟件危機 " 已經到來—— 20 世紀 60 年代的軟件危機,是缺乏軟件工程基礎會面臨危險;今天的軟件危機,是當你習慣了被他人控制的軟件工程基礎,那麼危險也如影随形。
應對軟件工具失控,
中國準備好了嗎?
開放與發展無疑是全球化的共同目标,我們當然不希望開源軟件工具被封鎖。但《三體》裡的情節告訴我們,當你不準備應對危機,危機就已經不遠了。
事實上,中國的軟件生态,尤其是生産軟件的工具箱,還是非常脆弱的。工信部數據顯示,從 2000 年至 2020 年,中國軟件市場整體規模實現了 135 倍增長,美國為 3.2 倍;2020 年,中國軟件産業規模占全球軟件産業的 24%,占 GDP 比重約 7.9%。中國軟件産業在 20 年中實現了舉世矚目的騰飛。但這種經濟奇迹,其實是建立在他人提供的基礎和底座上的。
根據中國軟件協會的調研數據,2020 年,在全球操作系統、基礎軟件領域,美國業務收入約 0.81 萬億美元,占全球比例五分之四。而中國基礎軟件份額較少,國産軟件的國内市場份額僅為 5%,國産操作系統的國内市場占有率僅 4%。
國産基礎軟件體系薄弱、市場份額低的軟肋,已經暴露在了國際格局中。從 2019 年至今,已有超過 600 家中國企業、機構等被列入美國 " 實體清單 "。而在相關商品與技術的制裁體系中,基礎軟件是當之無愧的 " 利器 "。大量優秀的企業、科研院校,都被美國禁止使用主流的基礎軟件與軟件開發工具,嚴重限制了中國産學各界的創新能力。應對這種局面,似乎隻有自己掌握軟件開發工具,才是保障創新安全底線的最優解。
值得注意的是," 新軟件危機 " 并非隻有開源工具斷供一個選項。很多國内企業都會選擇購買商業版、定制版的軟件。但這些軟件看似離開了開源工具,實質上很大程度是将開源工具進行封裝與定制化,再進行打包轉賣。這種情況下,主動權依舊受制于人。一旦出現開源工具失控,那麼這些投資巨大的商業軟件将面臨着無法更新、漏洞無法修補等嚴重問題。
另一方面,軟件開發工具的危機也不僅僅通過斷供來發生。随着越來越多的軟件采用雲上開發模式,大量數據、開發代碼需要存在工具背後的國外企業服務器中。這也就意味着敏感數據理論上可以被其他國家查看、分析甚至拷貝的,其風險意義不言而喻。
而一旦出現類似的軟件危機,中國會有哪些企業深受其害呢?首當其沖是數字化程度高、軟件使用規模龐大、軟件開發需求複雜的大型政企;接下來是掌握關鍵數據,同時肩負創新責任的科研機構與院校;緊接着是有着充分數字化、智能化需求的實體企業;接下來則是科技産業,尤其是軟件開發企業與軟件開發者群落。
這樣的烈性事件一旦出現,就不是技術能夠解決的問題。它不以任何企業、機構的技術努力而轉移,而會直接導緻命運出現分叉。當千百家企業受到影響,産生供應鍊的多米諾效應。社會面的影響是難以估量的。
所以說,軟件開發工具的受制于人,根本不是一個技術問題,而是命運掌握在他人手中的問題。
至此,我們也可以得出一個結論:中國确實還沒有準備好應對 " 新軟件危機 "。但必須從此刻開始準備。要有意識、有方法地在國計民生行業、關鍵科研領域、重大科技産業中排除基礎風險,實現自主創新。
2019-2020 年之後,中國各界關于軟件自主可控的共識提高到了空前的水平。大量政企用戶在采購軟件過程中,将國産化和數據安全納為關鍵考量因素。也由此衍生了巨大的機遇窗口。比如說,各大互聯網雲公司,都在以國産數據庫為切口進入政企市場。幾年來,在稅務、醫保、郵政、運營商等領域形成了規模化效應。而國産工業軟件,比如仿真、CAD 等領域也高速發展,在制造業、能源産業中實現了突破。
但也要看到,基礎軟件國産化還有很長的路要走,比如 " 做軟件的軟件 " ——軟件開發工具。在今天得到的重視就還遠遠不夠。
好在逆全球化暗潮洶湧的幾年後,事情開始出現了轉機。
" 永遠不要浪費一場危機 "
從政策趨勢與産學共識的宏觀層面看,基礎軟件開發工具的國産化與獨立自主,已經是時代的大勢所趨。
在信息技術應用創新委員會的定義中,應用軟件開發平台同雲計算、操作系統、數據庫一樣被定義為開發支撐基礎軟件,位居 " 十四五 " 軟件和信息技術服務發展規劃中的五大主要任務之首。
另一方面,軟件開發工具的國産 + 商業版創新,也随着主要科技公司的進步,進入到新的局面。從中興、華為事件以來,已經有數百家中國科技實體被美國列入實體清單,在各類軟硬件基礎技術的獲取上遭遇全面斷供。危機固然兇險,但也在客觀上加快了科技實體自主創新的進程,同時這批 " 先行者 " 們也可以将經驗和方法釋放出來,加快中國技術供應鍊的自主化進程。
以華為為例,華為被美國列入實體名單之後,涉及美國技術的商用軟件開發工具已經無法繼續購買使用許可,無法獲取存量軟件的持續更新,無法及時獲取安全漏洞的修複。為了破局這場典型的 " 新軟件危機 ",華為從 2019 年開啟了去美國化的軟件自研,範圍涉及操作系統、數據庫、中間件、應用軟件等基礎軟件領域。
而面向軟件開發工具,這個容易被忽視,卻又至關重要的領域,華為雲推出了 DevCloud 開發雲和 CodeArts 軟件開發生産線,并面向開發者提供一站式、全流程、端到端安全的雲原生 DevSecOps 雲平台。在确保用戶擁有高度集成、現代化流水線式開發的同時,解決了 " 新軟件危機 " 暴露的開源軟件弊端。
如今,華為雲 CodeArts 可以支持 web 開發、移動應用開發、微服務開發、Cloud Native 應用開發、嵌入式開發等典型研發場景。覆蓋需求與設計、開發、測試、部署、運維等軟件交付的全生命周期環節。DevCloud、CodeArts 已在華為雲、華為電信産品、終端雲消費業務、芯片研發等業界高标準、大規模的軟件研發業務中應用,證明了自身的價值與能力。
提到軟件開發工具的國産化與自主創新,我們經常會發現自研工具能力落後,或者局限于單個不重要的工具,那些重要性大、考驗嚴苛的開發工具依舊需要使用國外開源工具。
但在華為雲 CodeArts 中,卻可以看到關鍵能力、關鍵工具的自主創新。比如華為雲 CodeArts Req 需求管理服務,專項解決了軟件開發管理這個戰略級需求。可以幫助用戶實現軟件開發戰略意圖,進行精準投資。目前,CodeArts Req 已經高效支撐華為 13 萬研發人員的需求協作,月 API 調用量超過 15 億次,累計管理 5000 多萬需求,覆蓋華為終端、網絡、雲計算、芯片、汽車等全業務場景。在這條軟件開發的 " 生産線 " 上,一點一點的關鍵突破,終将彙聚成整體産業鍊的核心競争力。
正如二戰時期英國首相丘吉爾的名言," 永遠不要浪費一場危機 "。面對新軟件危機,我們應當充分珍惜危機帶來的啟示,并且保有這樣的共識:一家企業可能面對的風險,一定是整個中國可能面對的風險;而一批企業踩過的坑,絕沒有必要讓整個國家重蹈覆轍。
因此,當問題有了轉機和解法,就需要産業各界快速凝結共識,形成戰略合力以對抗風險。
命運隻有掌握在自己手中,才叫命運。否則的話,一切都是囚籠。
從軟件開發工具,到智能時代的軟硬件創新主導權,一切都到了需要改變,也應該改變的時候了。