王曉冬
(中國科學院科技戰略咨詢研究院 北京 100190)
(國家信息中心 北京 100045)
“開源模式”是指依托開源社區、遵循開源協議、多方共同開發、源代碼開放共享的軟件開發模式,在匯聚創新要素、廣納研發人才、快速應用迭代、構建產業生態等方面具有顯著的比較優勢.國際咨詢公司高德納(Gartner)等機構的研究數據顯示,當前99%的商業軟件含有開源組件,75%則直接由開源代碼組成.開源模式正成為軟件產業發展的主要模式之一,并呈現以下發展趨勢.
1) 趨勢1:由興趣驅動向生態驅動轉變,開源模式的動力機制發生顯著變化.
開源模式出現于20世紀90年代,早期主要由少數追求自由與共享的軟件開發領軍人物出于個人興趣推動.經過30多年的發展,開源模式在快速占領市場、廣聚研發人才、綁定下游應用、掌控產業生態等方面形成了巨大優勢,成為國際巨頭爭奪軟件產業生態主導權的“金鑰匙”.2005年谷歌公司通過收購安卓公司從而掌控了安卓手機產業生態;2010年甲骨文公司收購了開源數據庫MySQL,增強了其在數據庫領域的領先地位;2018年微軟公司收購了全球代碼托管平臺Github;2018年IBM公司收購了開源軟件供應商Red Hat,增強了其在服務器市場的競爭力.微軟、甲骨文是典型的閉源軟件公司,早期是開源軟件的堅決抵制者.近年來,閉源軟件龍頭企業對開源軟件的態度發生根本性改變,其背后的業務邏輯是通過開源快速搶占市場,形成下游應用黏連,從而掌握軟件產業生態的主導權,爭取更大的商業利益.
2) 趨勢2:由模仿創新向引領創新轉變,開源模式成為爭奪創新先發優勢的重要途徑.
開源模式的發展早期主要是模仿成熟的商業軟件.近年來,軟件工程體系日益復雜,技術創新迭代日益加快,開源模式“匯眾智、謀創新”的比較優勢日益突出,在技術創新的新賽道上,開源模式實現了由模仿創新向引領創新的重大轉變.大數據分析框架、人工智能軟件架構、云計算基礎構件等新型基礎軟件均是基于開源模式研發和推廣的.主流機器人操作系統(ROS)基于開源模式研發[1];谷歌通過開源人工智能平臺TensorFlow快速占據了人工智能市場[2];Openstack基金會的云計算開源基礎軟件成為云計算產業的重要支撐[3];Apache開源基金會的分布式系統基礎架構Hadoop成為應用最廣泛的大數據技術框架之一[3].
3) 趨勢3:由跟隨學習向二次創新轉變,開源模式成為基礎軟件自立自強的重要模式.
我國軟件產業在21世紀初開始大規模追蹤學習國外開源軟件.一是從貢獻角度看,我國已經成為國際開源社區的重要貢獻者.Github 2020年4月的統計數據顯示,我國源代碼貢獻度已經躍居全球第二.華為公司在國際開源社區的貢獻度較高,華為、騰訊、阿里巴巴等公司成為Linux基金會、Apache軟件基金會等國際主流開源基金會的白金會員.二是從創新路徑上看,我國的鴻蒙、歐拉、麒麟、統信等操作系統是基于開源的內核代碼進行的二次創新[4].以開源模式推進基礎軟件創新可以提高技術起點、加快研發進程、兼容業務應用、降低替代難度,是基礎軟件實現自主創新突破的現實可行路徑.三是從自主創新上看,歐拉、鴻蒙社區已經形成技術分叉能力,openEuler操作系統內核能夠做到自我維護、自我演進.從總體上看,我國已經形成了基于開源模式的二次創新能力.
近年來,我國開源軟件產業蓬勃發展,已經成為基礎軟件創新發展的重要方式之一,但是仍然存在以下幾個方面的發展風險.
我國開源社區主要還是以利用國外開源代碼、依托國外開源社區為主,總體上仍是國際開源社區的次生社區,呈現依附性強、自主性弱的特點,存在較大的開源產業鏈斷供風險.國際主流開源基金會、開源項目以及多數開源許可證均誕生于美國或由美國公司掌控,隨時可因掌控方的需要而閉源斷供[5].從商業角度看,開源模式的發展越來越涉及巨大的商業利益和產業鏈安全,不再是自由共享、永遠免費的“無主之地”.開源軟件受政治因素影響的斷供案例頻繁發生.2020年8月,云平臺開源軟件DockerEE和DockerHub受美國政策影響,禁止被列入實體清單的組織使用[6].2021年2月,美國政府簽署總統令,在開源軟件領域對我國全面收緊限制措施.受商業利益驅使的斷供事件也時有發生.RedHat旗下的開源操作系統CentOS 8宣布將于2021年年底停止更新服務[6],對我國眾多行業將造成較大影響.這些例子充分說明增強我國開源生態自主能力刻不容緩.
當前我國主流的開源社區仍不成熟,自主創新能力仍然不高.一是產業集聚不充分.國內開源社區小而散,一些企業主導的開源社區甚至呈低水平競爭的對壘之勢,造成技術路線不統一、研發力量不集中等問題,難以打破國外開源技術的壟斷.二是生態配套不到位.我國開源社區涉及的知識產權保護、自主開源協議、軟件質量管理、代碼安全檢測等配套性機制不健全,開源社區治理和可持續運營能力不足.三是協作研發不高效.我國開源社區組織協同機制較為松散,缺乏開源項目管理和社區運營人才,線上協作機制、社區激勵機制、利益分成機制不健全.四是前瞻引領性不突出.我國開源項目主要集中在操作系統、數據庫等傳統基礎軟件領域,在人工智能、大數據、云計算等“新賽道”上,許多企業仍奉行“拿來主義”.此外,多數企業重上層應用場景,輕底層基礎創新,對相關新型基礎軟件的研發重視不足,只會采用國外開源軟件構建新的“應用大廈”,面臨“舊領域追上來,新領域又落后”的發展風險.例如,在人工智能領域,谷歌和臉書的開源免費人工智能框架TensorFlow和PyTorch已占我國85%以上的份額[7].
開源軟件并不等于無限制的自由使用,必須在遵循相關開源協議的基礎上注重知識產權保護.目前國際上開源許可協議有80多種,總體上可分為寬松式(permissive)和責任傳播式(copyleft)兩種[1].這些開源許可協議在具體開源條款上存在較大差異甚至沖突,如果不認真分析和甄別,很容易陷入許可協議條款沖突引發的知識產權風險.我國目前主導的開源許可協議僅有木蘭許可協議,開源軟件相關法律法規體系建設也存在一定的滯后性,一些開源軟件從業人員對開源許可協議具有的法律效力以及開源代碼權益的認知較為模糊,以至出現一些公司用開源代碼申請專利的侵權事件.完善開源知識產權和法律體系是中國開源軟件產業生態健康可持續發展必須強化的環節.
開源代碼正越來越多地應用到各行業領域,這也造成了數以千計的開源組件存在安全漏洞隱患[1,8].WhiteSource公司于2020年發布的《開源安全年度報告》顯示,平均每1 000行開源代碼中就有14個安全漏洞,每1 400行開源代碼中就有1個高危安全漏洞.開源軟件傳播快、應用廣,開源軟件之間關聯依賴,使得開源軟件的安全漏洞管理和控制明顯難于閉源軟件.一是安全漏洞傳播性強.開源模式下開源軟件傳播快、應用廣,客觀上加劇了安全漏洞傳播的速度和范圍,造成傳染性傳播的局面,零日漏洞的發生率大增.二是安全漏洞防控性弱.開源模式松散的開發機制對開源社區的安全管控能力提出了很高的要求,也對安全防控機制和防控軟件提出了很高的要求,即使采用代碼安全管控軟件也很難窮盡所有安全漏洞,Openwall等開源軟件安全預警平臺公開發布開源軟件漏洞存在2周的滯后期[6],我國企業很難在第一時間采取安全防護措施.三是安全漏洞應對性差.開源模式下,軟件服務產業發展不配套,技術支撐體系不健全,進一步加大了系統性應對開源軟件安全漏洞風險的難度.
發展開源模式對于實現我國軟件產業自立自強、夯實數字經濟發展基礎具有十分重要的作用,建議從以下幾個方面加強我國開源軟件產業安全發展.
1) 推進開源自主,把握開源軟件產業發展的主動權.
將開源模式作為實現基礎軟件自立自強的基本路徑,統籌引導軟件研發資源協同創新.一是堅持開源自主.堅定不移地加快培育我國開源社區、開源基金會、開源協議和開源項目,從源頭構建國家基礎軟件的安全底座.二是形成政策合力.加強開源軟件相關科技政策、產業政策、教育政策、知識產權政策及安可替代等工作的協同銜接,形成政策合力,推進開源軟件發展.三是加強新賽道布局.大力引導產業資本在人工智能、大數據、云計算等領域的新型基礎軟件的開源創新,引導構建新賽道開源生態,牢牢把握未來發展主動權.
2) 加強模式創新,增強開源產業生態的發展活力.
充分發揮我國新型舉國體制的優勢,克服傳統開源社區組織松散的問題,形成高效的開源社區組織形式,提高開源社區協同效率.一是統一根技術路線.科學論證確定基礎軟件創新迭代的根技術路線,建立中國原生的統一的開源根社區,采用統一根技術路線開展可持續性聚焦創新.二是構建開源公共服務平臺.加強開源基礎設施投入,建設集約化的開源社區公共服務平臺,提供開源知識圖譜、源代碼托管、供應鏈管理、源代碼安全評測、開源標準等功能,形成全生命周期的公共服務能力.三是實施開源激勵計劃.開源具有巨大的公益創新屬性,探索建立以財政資金鼓勵開源社區突出貢獻者的新模式,建立健全重大基礎軟件專項工作依托開源社區揭榜掛帥的創新機制,提高開源社區的發展動力.
3) 優化發展環境,增強開源軟件產業生態的發展后勁.
一是加強開源教育.高校學生是開源軟件開發者的重要來源,建議將開源軟件相關知識納入計算機相關學科建設內容,構建形成開源知識體系和文化,為我國開源軟件產業培養高水平的開源軟件人才.二是加強法律法規建設.針對開源軟件知識產權保護的特殊性,研究制定與開源軟件產業發展相配套的法律法規,深入分析國際主流開源許可協議條款,培育專門法律人才,保護我國開源產業參與國際開源產業生態過程中的合法權益.三是加強國際合作.加強同國際開源組織的創新合作,推進國內開源社區和開源基金會同國際主流開源社區和開源基金會的高水平對等合作,提升我國在國際開源產業生態中的影響力,引導開源組織切實保持科技中立,聯合國際開源組織和業內友好人士共同抵制政治因素對開源國際合作的不當影響.
開源軟件正在成為基礎軟件創新的主要模式之一.我國應把握開源軟件發展趨勢,聚焦開源軟件產業發展面臨的突出短板,加強頂層設計和統籌規劃,研究制定開源創新戰略,從而實現開源自主、協同創新、開放合作的有機銜接,探索出一條符合我國發展實際的基礎軟件自立自強之路,夯實我國數字經濟的發展基礎.