開源軟件“史上最大漏洞”被發現了。近日,阿里云安全團隊在Web服務器軟件阿帕奇(Apache)下的開源日志組件Log4j內,發現一個漏洞Log4Shell。這一漏洞的存在可以讓網絡攻擊者無需密碼就能訪問網絡服務器。鑒于Log4j軟件被廣泛使用,網絡安全專家認為,這一漏洞可能是計算機歷史上“最大的漏洞”。
自上世紀90年代發展至今,開源已成為信息技術發展的主流趨勢。特別是在各行各業數字化轉型的當下,開源更成為數字化基礎設施的助力之一。然而,開源在發展過程中,也面臨著種種風險。如何在發展中防范風險,讓我國成為具有國際影響力的開源大國,是12月16日~18日由中國計算機學會(CCF)在深圳舉辦的2021中國計算機大會(CNCC2021)上熱議的話題。
大協作時代的大勢所趨
開源即開放源代碼,興起于軟件行業,現在已開始向硬件方向滲透。在CNCC2021北京分會場舉行的以“數字化轉型的開源之路”為主題的大會論壇上,北京大學計算機系教授周明輝表示,時至今日,她還會經常對開源進行科普:“什么是開源?開源就是開源軟件的版權人在把代碼開放出來的同時,提供一個許可證,讓用戶放心地使用。”
在1995年就開始接觸開源的小米集團副總裁崔寶秋看來,現在開源運動已經如火如荼,開源的技術也日益成熟,從云計算、大數據到人工智能,從軟件到硬件,都在擁抱開源,所以開源已是大勢所趨。
我國擁有世界上規模最大的程序員群體,但在全球開源社區里所發揮的影響力卻遠遠不夠,甚至被詬病為一個“拿來主義”的開源大國。不過,近年來,這一狀況有所改觀。作為論壇主持人,中國科學院計算技術研究所副所長包云崗研究員拋出了這樣一個問題:“我國最近幾年為什么開始非常重視開源?”
中國工程院院士孫凝暉近年來在中科院計算所規劃了開源芯片方向,是開源芯片領域的引領者。在他看來,我國其實一直都比較重視開源,不過近年來開源發展確實在加速。之所以如此,與我國當下的產業形勢有關。
“開源主要是要打破壟斷。” 孫凝暉說,“我們無法在壟斷的生態鏈里把我們的企業做大、做強,所以就需要一些手段去打破壟斷,去建立更加良好的生態。”
北京大學教授、中國知識產權法研究會副會長張平介紹,開源運動起源于對知識產權制度的反抗。當人類進入信息社會,也就是進入到了一個技術大協作的時代。此時,任何一個主體的創新成果都不足以去支撐某個產品或者某個技術體系,而必須依靠一種相互協同、互相依賴的模式。這是開源運動興起的另一原因。
中國科學院軟件研究所所長趙琛研究員也認為,在大協作時代如果不采用開源的模式,就很難建立起類似信息高鐵等數字化基礎設施。而且,以軟件為例,它的快速迭代和維護是任何一個企業,甚至一個國家都難以支撐和投入的。
在作CNCC2021大會特邀報告時,中國科學院院士、國防科技大學教授王懷民更是將開源總結為一種范式變革。他認為,軟件開發從工程范式發展為開源范式,就是為了全面擁抱互聯網環境下的不確定性,以開發者社區的自組織模式,形成自主化的規模化創作,以多樣性應對不確定性。
風險如何防范?
王懷民介紹,截至目前,開源運動已經取得了相當可觀的成就:超過2.3億個軟件版本庫,開發語言超過700種。僅GitHub社區,2020年就新增6000萬個版本庫和120萬新用戶,總數據量達21TB。而據谷歌統計,全球總共約有1.3億冊藏書,數據量為23TB。“這就是說,開源20年的源代碼文明與人類五千年文字文明的數據量相當。”他感嘆道。
然而,包云崗指出,雖然前景美好,但實際上開源發展過程中也存在著一些風險,例如類似Log4Shell的漏洞,以及一些技術上的使用限制等。
周明輝認為,從開源項目、開源生態的角度,開源之所以存在風險,主要是因為目前任何一個開源軟件在整個軟硬件全棧中都只是一個節點。這個節點可能會依賴上游的成百上千,乃至上萬的開源軟件。而上游開源軟件的任何漏洞,如果缺少維護,就會存在很大的風險。“互聯網安全歷史上最嚴重的漏洞之一開源套件OpenSSL 的‘心臟滴血’(Heartbleed)漏洞,就是因為維護的人很少造成的。”她說。
開源是無國界的,但一些開源社區還是有可能出現不允許某公司去下載開源代碼的情況。作為法律界人士,張平建議,此時就可以去質疑這些開源社區協議的合理性。例如,開源促進組織OSI在定義“開放”一詞時有14個條件,其中第5個和第6個條件就提到不能歧視任何個人和機構,不能歧視任何技術領域。因此,如果不被允許去某個開源社區下載,那就可以去OSI“維權”,質疑某個社區不是開源社區,某個軟件不是開源軟件,因為它們已經喪失了“開源”的應有之義。
在崔寶秋看來,開源還面臨一個挑戰,即一些大公司用開源作為武器,打造出強有力的平臺,并奠定了領先的優勢,形成了自身強大的生態,而碾壓了開源界的其他一些同行。“當一個巨頭發展起來后,它強大的生態可能會綁架很多人。這也是一種風險。” 崔寶秋說。
“開源技術發展中碎片化的情況會越來越嚴重,這也是需要關注的一個問題。”趙琛認為,要把碎片化的影響減到最小,需要在一些工具、理念和方法上做好準備。“我們需要提前從技術上做一些考量,進行一些布局來規避它。”
要注意開源的“打法”
怎樣才能構建出具有影響力的開源社區?面對包云崗提出的問題,崔寶秋回答:“我堅信開源是軟件的未來,但也不是所有東西都是值得拿來開源的。”崔寶秋指出,現在國內很多企業為了開源而開源,為了KPI(績效考核)而開源,有的則純粹是為了提升技術品牌、提升個人影響力而開源。在他看來,“開源什么要考慮清楚,否則開源出去以后,不管怎么使勁兒還是會死翹翹的”。
孫凝暉則認為,開源社區要同時面對社會發展中的兩大難題,即公平和效率問題。而一個好的開源組織一定要保證能讓技術更公平地發展。
就效率而言,如何能讓更多人參與協同是個問題。孫凝暉舉例說,我國在提高處理器性能方面已經努力了20年,但大部分做芯片的企業還是用的國外的核。而國產芯片的性能和國外相比還有很大差距。
“如果我們能夠通過一個好的開源組織或者創新共同體,把華為海思、阿里平頭哥、今日頭條和中科院計算所以及清華大學的力量合在一起,是否就能在更短的時間內把我國芯片核的水平提高一些?”孫凝暉希望,能有更好的協同機制、更公平的制度設計,讓我國的開源組織走得更好。
崔寶秋在開源社區的日常“打法”上做了兩點分享,一是要在線上保持社區的活躍度,原則就是要“盡早發布、盡快發布”開源軟件版本;二是要在線下定期舉辦交流活動。在他看來,線下分享會帶來很多的人氣,會碰撞出創新的火花,而這些是純線上不可取代的。“如何贏得互相的信任,如何讓社區變得更加友好,線下的交流非常重要。”他說。
來源:《中國科學報》