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