近年來,本土互聯(lián)網(wǎng)產(chǎn)業(yè)和軟件產(chǎn)業(yè)蓬勃發(fā)展,雖然取得了不少成績,但在基礎(chǔ)軟件方面往往習慣于依賴開源,普遍對Linux、OpenStack、MySQL、Ceph等開源軟件有所依賴。過度依賴開源軟件不僅會導致軟件產(chǎn)品同質(zhì)化,還會增加知識產(chǎn)權(quán)風險和安全風險,必須予以重視。
國內(nèi)外開源軟件發(fā)展情況
開源軟件的發(fā)展得益于互聯(lián)網(wǎng)技術(shù)的發(fā)展,隨著云計算、移動互聯(lián)網(wǎng)的發(fā)展,OpenStack、k8s、Ceph等開源技術(shù)紛至沓來。這些開源項目催生了ASF、OIF、CNCF等基金會,致力于開源項目的孵化和運營。隨著開源軟件托管和協(xié)助平臺的普及,開源全球化協(xié)作和共創(chuàng)的溝通成本急劇下降,開源項目數(shù)量持續(xù)提升,據(jù)測算,2026年全球開源項目數(shù)量將超過3億。
近年來,國內(nèi)開源項目爆發(fā)式增長。根據(jù)中國信通院發(fā)布的《開源生態(tài)白皮書(2021)》,中國在全球最大開源平臺GitHub上的貢獻者數(shù)量已經(jīng)達到了全球第二。2020年,GitHub平臺上中國貢獻者的數(shù)量增加了37%。Gitee2020年度報告數(shù)據(jù)指出,我國在Gitee平臺上開源項目增長率達192%,達到了1500萬,是2013年至2018年Gitee平臺開源項目的總和。
誠然,近年來我國開源項目爆發(fā)式增長,部分開源社區(qū)活躍度跨越式提升,但我國開源社區(qū)活躍度整體與全球仍存在差距,尤其在Issue、PR指標等方面存在較大差距。很多重點領(lǐng)域開源技術(shù)與項目發(fā)展還處于追趕階段,國內(nèi)云計算一般基于OpenStack,開源國產(chǎn)存儲則高度依賴Ceph,諸多國產(chǎn)瀏覽器往往基于Chrome。
開源的本質(zhì)是開放和共享,當然也要遵循必要的協(xié)議。從開源社區(qū)獲取代碼,同時對開源社區(qū)有所回饋,實現(xiàn)“從開源中來,到開源中去”。充分利用開源模式加強技術(shù)創(chuàng)新應(yīng)用本身并沒有問題,紅帽等大企業(yè)都是這里面的佼佼者。目前國內(nèi)情況是,開源項目在龐大的市場和熱錢的追捧下變了味道,被行業(yè)戲稱“國外一開源,國內(nèi)就自主”。相當一部分公司從開源社區(qū)拿來東西編改加以優(yōu)化,就開始標榜“完全自主知識產(chǎn)權(quán)”、“自主研發(fā)”,變成了“民族驕傲”和“新銳國貨”,在資本的推波助瀾下?lián)u身一變成為行業(yè)獨角獸,甚至上市套現(xiàn)。這種亂象導致軟件產(chǎn)品同質(zhì)化嚴重,原本可以用來哺育國產(chǎn)軟件茁壯成長的資源被低端產(chǎn)品無序競爭白白消耗掉。
(紅芯瀏覽器基于Chrome卻標榜自主研發(fā)成為丑聞)
開源軟件存在知識產(chǎn)權(quán)風險
雖然一些廠商把開源代碼改頭換面后鼓吹自主,但這并不意味著拿開源代碼就完全不存在知識產(chǎn)權(quán)風險。
近年來,開源知識產(chǎn)權(quán)相關(guān)法律判例逐漸增多。美國Jacobsen 訴Katzer 案件就是涉及開源許可證維權(quán)成功的案例。由于 Katzer 刪除了許可通知,Jacobsen主張Katzer 違反了開源許可證。最終 Jacobsen 獲得勝利并與Katzer 達成和解。無獨有偶,“不亂買”案件確認了開源許可證在我國具備法律效力。本案中和開源許可證相關(guān)的爭議點在于原告網(wǎng)站的前端代碼中使用了 GPL 許可協(xié)議下的開源代碼,該GPL許可協(xié)議是否約束后端代碼。該案在最高法院知識產(chǎn)權(quán)庭終審,詳盡分析了本案中 GPL 協(xié)議約束的代碼范圍。
事實上,開源知識產(chǎn)權(quán)風險問題是相對隱蔽的。開源知識產(chǎn)區(qū)風險主要集中在四個方面:
一是版權(quán)侵權(quán)風險,不遵守開源許可協(xié)議,導致版權(quán)侵權(quán);
二是專利侵權(quán)風險,開源軟件中包含諸多軟件專利,使用開源軟件未得到軟件專利權(quán)人的專利許可,從而導致專利侵權(quán);
三是商標侵權(quán)風險,未經(jīng)許可使用開源軟件的商標;
四是許可證沖突。
根據(jù)新思科技《2021開源安全與風險分析報告》統(tǒng)計,2020 年審計的代碼庫中,65%的代碼庫包含存在許可證沖突的開源組件,通常涉及“GNU通用公共許可證”。版權(quán)侵犯風險與商標侵權(quán)風險較易規(guī)避,而專利侵權(quán)風險與許可證沖突則較難規(guī)避。
總之,拿開源軟件改改就稱自主的做法是不靠譜的。部分企業(yè)將開源軟件拿來就用,既無能力,也無時間精力去思考知識產(chǎn)權(quán)問題,這些開源軟件的知識產(chǎn)權(quán)風險不容小覷。
開源軟件存在安全風險
開源軟件安全風險主要包括安全漏洞風險和供應(yīng)鏈風險。
軟件都是人寫的,而人都會犯錯,開源軟件中必然存在bug,存在安全性或功能性漏洞。開源軟件涉及源代碼共享,很多配置信息中會涉及賬號密碼等敏感信息,如果不對代碼進行審核檢查,可能會造成大量敏感信息與數(shù)據(jù)隨著代碼的共享而泄露。開源軟件公開的源代碼,如果包含對企業(yè)數(shù)據(jù)庫的訪問代碼,則可能導致整個數(shù)據(jù)庫面臨數(shù)據(jù)泄露的危險,也可能導致企業(yè)內(nèi)部文件與用戶信息的泄露。
據(jù)美國網(wǎng)絡(luò)安全公司Snyk發(fā)布的《2019年開源安全現(xiàn)狀調(diào)查報告》顯示,78%的漏洞存在于間接依賴關(guān)系中;37%的開源開發(fā)者在持續(xù)集成期間沒有實施任何類型的安全測試,54%的開發(fā)者沒有對 Docker鏡像進行任何安全測試;兩年內(nèi)應(yīng)用程序的漏洞數(shù)量增長了88%。據(jù)新思科技《2021開源安全與風險分析報告》顯示,84%的代碼庫至少含有一個漏洞,近三年漏洞比例逐年增高,60%的已審核代碼庫包含高風險漏洞。據(jù)開源網(wǎng)安Source Check工具對熱門開源項目的掃描結(jié)果看,53.8%的項目存在超危風險。
有鑒于此,開源軟件在部署后需支付較高的維護費用。特別在金融、電信、能源、交通、醫(yī)療等關(guān)鍵領(lǐng)域,更需要專業(yè)的運維團隊和及時售后技術(shù)支持,一旦因為漏洞引發(fā)上層應(yīng)用出現(xiàn)問題,出現(xiàn)的損失則是天文數(shù)字。正是因此,中國人民銀行等五部門就公開了關(guān)于規(guī)范金融業(yè)開源技術(shù)應(yīng)用與發(fā)展的意見,指明了在使用開源軟件中投入維護的利害性。
供應(yīng)鏈風險指開源軟件可能會受地緣政治影響。雖然技術(shù)本身是無屬性的,但開源平臺和社區(qū)是有國界的。在俄烏沖突中,GitHub就限制俄羅斯開發(fā)人員使用開源軟件。GitHub CEO 發(fā)文表示,會確保全球開發(fā)者的正常訪問,但同時也會遵守政府提出的出口管制和貿(mào)易法規(guī),其中包括嚴格限制俄羅斯獲得其維持侵略性軍事能力所需的技術(shù)。西方主導的開源社區(qū)可以直接對待俄羅斯,也就可以把同樣的招數(shù)用在我國身上。
結(jié)語
受國際環(huán)境影響,我們應(yīng)當加快自主創(chuàng)新,在政府國企事業(yè)單位和金融、交通、教育、醫(yī)療等關(guān)鍵行業(yè)完成IT設(shè)施的核心技術(shù)和底層軟、硬件的國產(chǎn)化,在存儲、數(shù)據(jù)庫等各方面,必須掌握核心技術(shù)和代碼,必須具備自我迭代更新能力。
對于開源軟件,可以借力,但不可依賴,更不能濫用。必須加強中國自主開源生態(tài)建設(shè)和開源軟件安全生態(tài)建設(shè),摒棄過去“短、平、快”的模式,構(gòu)建開源社區(qū)、廠商、開發(fā)者、開源公司都能受益的商業(yè)模式。
現(xiàn)在國內(nèi)也開始重視開源社區(qū),也自建了一些開源社區(qū),然而,羅馬不是一天建成的,國外發(fā)展了很多年建成了巨大的知識庫,中國剛剛開始,也許再過30年才能真正脫離國外社區(qū)自成體系。但在這以前,決不能將依賴西方開源社區(qū)開發(fā)的軟件等同于自主研發(fā)。只有通過自主研發(fā)掌握核心技術(shù),才能不被卡脖子,即使有一天GitHub停止服務(wù),也完全可以在中國“另起爐灶”。