《云計算開源產業聯盟:金融行業開源治理白皮書(2019年)(39頁).pdf》由會員分享,可在線閱讀,更多相關《云計算開源產業聯盟:金融行業開源治理白皮書(2019年)(39頁).pdf(39頁珍藏版)》請在三個皮匠報告上搜索。
1、 版權聲明版權聲明 本白皮書版權屬于中國信息通信研究院,并受法律保護。 轉載、摘編或利用其它方式使用本白皮書文字或者觀點的, 應注明來源。 違反上述聲明者, 本院將追究其相關法律責任。 編寫說明編寫說明 編寫單位:編寫單位:中國信息通信研究院、上海浦東發展銀行股份有限公司、中國農業 銀行股份有限公司、中信銀行股份有限公司、中國太平洋保險(集團)股份有限公 司、上海銀行股份有限公司、中國人壽保險股份有限公司、上海農村商業銀行股 份有限公司、 編寫人:編寫人: 栗蔚、郭雪、武倩聿、萬化、楊欣捷、彭穎、葉馥郁、賴強、李玉 省、陳建鋒、鄧瓊、張文若、鄭位威、裴玉平、蘇福江、倪焰 目目 錄錄 一、一、
2、開源技術迅猛發展推動企業引入開源開源技術迅猛發展推動企業引入開源 . 1 1 1、 開源已在多個重要領域成為主流 . 1 2、 企業用戶引入開源技術不可避免 . 2 二、二、 金融行業采用開源技術已成趨勢金融行業采用開源技術已成趨勢 . . 6 6 1、 開源技術是構建信息系統的重要選擇 . 6 2、 選擇開源技術對金融機構意義重大 . 8 三、三、 引入開源的風險日益凸顯不容忽視引入開源的風險日益凸顯不容忽視 . 1111 1、 缺乏技術能力是企業用戶的重要痛點 . 11 2、 是否引入開源軟件難以完全準確統計 . 12 3、 開源軟件隱含的安全風險較為顯著 . 13 4、 使用過程中是否遵
3、守開源約定未知 . 14 5、 開源軟件上游供應鏈存在不確定性 . 14 6、 開源軟件的知識產權風險易被忽略 . 15 四、四、 金融行業開源治理建議金融行業開源治理建議 . 1616 1、 推廣產業開源科普,樹立開源風險意識 . 16 2、 建立金融開源社區,增進同業交流溝通 . 17 3、 梳理開源治理規范,推動相關標準制定 . 18 4、 建設開源治理體系,規范開源軟件引入 . 19 附錄附錄 金融機構開源治理實踐案例金融機構開源治理實踐案例 . 2323 中國農業銀行. 23 上海浦東發展銀行. 26 中信銀行開源. 30 中國太平洋保險(集團). 32 前前 言言 近幾年開源技術快
4、速發展, 金融行業在構建信息系統過程中不可 避免涉及開源技術的引入和使用。 開源一方面可以突破技術壁壘推動 金融機構技術創新和業務發展, 另一方面也不可避免的帶來知識產權、 信息安全等一系列問題。金融作為涉及關乎國民經濟的關鍵行業,面 臨與其他行業相比更為嚴苛的監管要求。 如何在遵循開源義務要求的 前提下規范地使用開源技術,從而最大化減少使用開源帶來的風險, 是金融機構構建信息系統過程中必然面臨的問題。 金融行業開源治理白皮書 首先介紹企業用戶引入開源技術的 背景,闡述開源技術對金融行業的重要意義,重點梳理引入開源可能 導致的風險, 并對金融行業在開源治理方面可以采取的措施給出了建 議,最后附
5、錄了參與白皮書撰寫企業的開源治理實踐案例。 1 金融行業開源治理白皮書金融行業開源治理白皮書 一、一、 開源技術迅猛發展推動企業引入開源開源技術迅猛發展推動企業引入開源 近幾年開源技術快速發展,在云計算、移動互聯網、大數據 等領域逐漸形成技術主流。 開源技術正在滲透軟件領域的方方面 面,企業用戶已經越來越難以規避開源的引入。與此同時,開源 的迅猛發展也推動企業從購買閉源商業軟件轉向關注和使用開 源軟件。整體而言,不論企業是否接受,開源已經從事實上成為 了一種不可阻擋的趨勢。 1 1、 開源已在多個重要領域成為主流開源已在多個重要領域成為主流 開源推動軟件生產模式向多人協作方向發展。開源推動軟件
6、生產模式向多人協作方向發展。 相比于閉源軟 件封閉式的開發模式, 開源軟件開放式的生產模式推動更多人參 與到軟件的創造之中。最初,大多數自由和開源軟件項目的貢獻 者通過電子郵件或私有的版本控制系統(如 Subversion 或 BitKeeper)進行協作。誕生于 2008 年的 GitHub 改變了這一情 況,GitHub 提供使用 Git 進行版本控制的軟件源代碼托管服務, 使更多開發者能夠更方便地參與開源項目, 進一步推動開源軟件 生產效率和生產質量的提升。GitHub 的出現改變了開源軟件的 協作模式, 開發者不再需要先獲得開發者社區的權限才能參與開 源項目, 這種多人協作的軟件生產模
7、式大大推動了開源軟件市場 的發展壯大。 2 開源軟件已經逐步形成強大的生態鏈條。開源軟件已經逐步形成強大的生態鏈條。 21 世紀之前, 軟件 世界以閉源為主,“閉源” 與 “收費” 成為軟件市場的主流, IBM、 甲骨文、EMC 為核心的軟硬件產品是金融行業用戶的主要選擇。 90 年代末,開源軟件從對商業軟件的模仿開始興起,如: Linux (對應微軟的 Windows 操作系統) 、OpenOffice(對應微軟的 Office) 、FuseESB(對應 IBM ESB 和 Oracle ESB)等等。從 00 年代到現在,開源軟件在市場上已經逐步與閉源軟件平分秋色。 近年來,隨著 IT 產
8、業逐漸向服務化轉型,開源已經成為 ICT 產 業發展的重要趨勢,在移動互聯網、云計算、大數據、人工智能 等諸多重要領域成為主流技術形態,如:移動互聯網領域的 Android,云計算領域的 OpenStack、Kubernetes(k8s),大數據 領域的 Hadoop,人工智能領域的 Tensorflow 等。以上領域的技 術更新迭代速度較快,企業用戶在選擇相關領域技術時,可能存 在沒有商業產品可供選擇,只能被迫采用開源技術的現象。 2 2、 企業用戶引入開源技術不可避免企業用戶引入開源技術不可避免 隨著開源技術快速形成生態, 企業用戶引入開源技術已成大 勢所趨。一方面,開源技術已經在大數據、
9、云計算等重要領域形 成技術主流,開源軟件覆蓋軟件生態的諸多方面;另一方面開源 代碼規模正在飛速增長,截至 2018 年 9 月,開源代碼托管平臺 GitHub 上已經有 9600 多萬個庫,相比去年也增長了 40% 以 上。 3 由此可見, 開源軟件已經成為軟件生態的重要且不可替代的 組成部分,不論管理者是否知悉,企業內部在很大概率上都已經 引入了開源相關的技術,具體有以下三種引入形式: 1)1) 所購買或使用的商業軟件,所購買或使用的商業軟件,隱含隱含開源開源組件或代碼組件或代碼 在開源軟件興起之前, 大多數企業一般會選擇購買商業軟件, 因為這種購買行為對于企業而言是“公對公”的,大企業內部
10、一 般都有規范的采購流程, 企業負責人也認為商業軟件的售后有所 保障。 然而,并不是購買了商業軟件就意味著不用關心開源。實際 上, 很多商業軟件是基于開源做二次開發后以閉源形式提供給用 戶的,但用戶一般只知道自己購買了商業軟件,而對其中可能涉 及的開源風險一無所知。 如果用戶沒有特殊要求, 商業軟件供應商一般不會說明是否 涉及開源軟件, 而用戶一般不能直接接觸到軟件的源代碼。 因此, 用戶很可能被動的就引入了開源軟件, 即使想遵守開源規則也無 從下手。雖然企業用戶確實購買了商業軟件,但商業軟件中卻有 可能包含開源的成分, 用戶很可能在不知情的情況下使用了開源 而不自知。從這個角度來說,很多時候
11、并不是企業用戶主動選擇 了開源,而是被動使用了開源之后才意識到了解開源的重要性。 2)2) 購買購買基于開源軟件的商業版本基于開源軟件的商業版本 很多時候企業覺得自己購買了商業軟件,然而實際上卻往往 是開源的商業版或者是發行版。目前已知的 Linux 發行版就有 4 300 多種,其中就有比較成功的商業發行版如:redhat、SUSe、 Ubuntu 等;全球范圍內基于 OpenStack 提供支持和服務的企業 超過 150 家,根據 OpenStack 基金會發起的第 11 次全球 OpenStack 用戶調查顯示,華為、紅帽、 EasyStack (易捷行云) 是 2018 年排名前三甲的
12、 OpenStack 軟件供應商;大數據領域的 Hadoop 除了 Apache 的版本之外,華為發行版、Intel 發行版、 Cloudera 發行版和 DKhadoop 發行版均有廣泛應用,其中很多發 行版都是收費的商業軟件。 基于開源的商業版通常有兩種情況,一種是雙許可證,一種 是依商業許可重新發行。 所謂的雙許可證是指其軟件是基于開源許可證的,但是還有 不同的許可條款。用戶可以無償使用無須付費的、開源的版本, 這仍然屬于商業版本的一部分,若用戶有進一步的需求,諸如商 業的技術支持和服務則需要另行付費。作為全球領先的數據庫軟 件,MySQL 產品采取了開源許可與私有許可的雙重許可模式。
13、MySQL 公司對產品代碼擁有完整的著作權(copyright)。在開源 許可之下,軟件的源代碼完全公開,任何人都可以下載 MySQL 軟 件來使用、修改和傳播。如果某商業客戶希望在其商業軟件中集 成 MySQL 并保持原有軟件的私有性,那么必須選擇私有許可,即 向 MySQL 公司支付一定的許可費。采用混合許可的優點在于通過 許可協議差異化來最大化產品網絡外部性帶來的收益。 而依商業許可重新發行則是指一些寬松的許可證,如 Apache、 5 BSD 等,是允許以商業且閉源的方式二次發行的。這其中最為著 名的例子就是蘋果公司的 MacOSX 操作系統 , 其內核是使用的 BSD Unix,但是
14、其二次發行也是順理成章。這樣的方式,也是我們本 土常見的方式 , 比如 OpenStack 采用是非常寬松的 Apache 協議 , 再次商業發行,包括自己修改的、新增的代碼是可以不開源的。 3)3) 直接使用直接使用社區版開源軟件社區版開源軟件 目前,開源軟件已經覆蓋了軟件生態的諸多方面,操作系統 有 Linux 以開源形式提供,數據庫 MySQL、MongoDB 等,云計算 領域的 OpenStack 和 Kubernetes(k8s)都是開源技術,新興領域 如區塊鏈技術基本是完全建立在開源的基礎上的。 一方面,開源軟件更新速度快,相比于商業軟件技術迭代速 度更快,很多新技術往往都是從開源
15、軟件開始,市場廣泛認可之 后才逐步產生一些商業軟件或商業服務。 很多時候并不是工程師 主動選擇了開源, 而是因為開源軟件的生態相比于商業軟件要龐 大數倍,使用者只能被動選擇開源; 另一方面,開源軟件代碼公開容易獲取,對于企業的工程師 而言, 大到采用能夠獨立部署獨立運行的軟件, 小到將 GitHub 上 的一段開源代碼復制粘貼到自己的代碼中, 其實都涉及到使用開 源的問題。 開源軟件已經成為軟件生態不可或缺的重要組成部分, 很多 時候企業經常會直接使用開源軟件的社區版,或者直接使用 GitHub 上的組件/代碼片段,這些都屬于使用了開源。從這個角 6 度來看,開源已經滲透到了企業信息系統的各個
16、角落,企業對于 開源的使用是無處不在且不可逆轉的。 二、二、 金融行業采用開源技術已成趨勢金融行業采用開源技術已成趨勢 開源軟件市場巨大, 從基礎軟件到應用軟件都充斥著大量的 開源軟件。受金融機構轉型推動和生態合作伙伴影響,為滿足金 融用戶的實際需求, 開源技術已經逐步成為金融機構構建信息系 統的重要選擇。金融行業采用開源技術已經成為一種趨勢,開源 技術可以助力金融機構提高科技實力、協助保障信息系統安全、 進一步推動企業科技創新和業務創新。 1 1、 開源技術是構建信息系統的重要選擇開源技術是構建信息系統的重要選擇 金融行業相比于新興的互聯網等行業面臨更嚴格的監管要 求,因此在引入開源軟件方面
17、一直相對慎重。開源技術大規模興 起之前,金融行業往往通過正規采購流程購買商業軟件,以滿足 本企業在信息系統構建方面的需求。 隨著時代的變遷和技術的進步,金融機構的 IT 技術方案逐 漸從閉源走向開源。 金融行業選擇開源技術的原因主要有以下三 點: 第一,提高敏捷開發效率,滿足金融用戶需求。第一,提高敏捷開發效率,滿足金融用戶需求。隨著互聯網 公司涉足金融領域并開啟移動支付時代, 目前我國移動支付規模 已經穩居全球第一,并逐漸向世界各國拓展。面對金融用戶需求 7 和使用習慣的變化,傳統金融機構已經無法完全滿足用戶需求, 互聯網金融、數字金融、金融科技等概念紛紛出現,傳統金融機 構開始創建金融科技
18、公司或成立金融科技部門, 金融行業逐步向 互聯網敏捷開發方向發展。在此過程中,開源技術的引入可以大 大提高開發效率和迭代速度,幫助金融機構快速推動業務創新, 進一步滿足金融用戶的需求。 第二,加速海量數據處理,推動金融機構轉型。第二,加速海量數據處理,推動金融機構轉型。在大規模、 高并發、渠道類應用日益增多的互聯網金融背景下,金融機構面 臨向數字化、智能化方向轉型的要求。與此同時,機構內海量數 據處理、分析需求開始增多,而開源技術可以幫助金融企業構建 更敏捷高效、精細化管理、可管可控以及可擴展的 IT 系統,進一 步推動金融機構的轉型和創新。 第三,主動擁抱開源技術,助力生態伙伴合作。第三,主
19、動擁抱開源技術,助力生態伙伴合作。金融機構并 不是獨立存在的個體, 其生態鏈條上存在各種類型的合作伙伴企 業。 從供應角度來看, 金融機構與科技公司存在密不可分的關系, 也不可避免地會受到科技公司在技術方面的影響。 鑒于目前開源 技術在科技公司當中應用的廣泛性, 金融機構不可避免會涉及到 相關技術, 這一變化也將推動傳統金融機構逐步從封閉走向開放, 進一步促進金融行業轉型與發展。 從開源技術的應用與發展角度來看,十年前,操作系統主要 是 AIX、HPUnix 等,存儲以 EMC、HP 為主,中間件使用 Tuxedo 等, 主流的數據庫有Informix、 DB2、 SQL Server而目前L
20、inux 8 操作系統,Hadoop 分布式文件系統(HDFS),數據庫 MongoDB 和 MySQL,中間件 Kafka、RabbitMQ 等已經在相應領域形成技術主 流,很多金融機構也正在使用這些開源技術。 開源技術的發展推動金融機構逐步接受開源和使用開源, 開 源軟件已經滲透到了金融機構軟件研發的各個流程。 在金融機構 中,從管理角度可以將開源軟件分為兩大類: 第一類是基礎類開源軟件。第一類是基礎類開源軟件。指獨立部署、獨立運行,為應用 系統提供基礎服務的開源軟件,包括操作系統、數據庫、中間件 等。這類軟件一般由獨立的專職團隊(如運維中心)統一負責管 理,包括:編制相關應用部署規范、上
21、線后的運行和維護等。 第二類是應用開發類開源軟件。第二類是應用開發類開源軟件。 包括開發過程中涉及的開發 框架、開發語言、開發工具,以及配置、測試、運維和辦公等過 程中使用的工具軟件等。 這類軟件一般由引入和使用部門直接管 理,負責軟件的運行維護工作。 2 2、 選擇開源技術對金融機構意義重大選擇開源技術對金融機構意義重大 1)1) 開源技術助力金融機構提高開源技術助力金融機構提高科技實力科技實力 金融領域的關鍵信息基礎設施是經濟社會運行的神經中樞, 金融業務高度依賴金融網絡和信息系統。 軟件和信息技術服務 業“十二五”發展規劃 中提出要把開源軟件作為扶持發展的對象。 開源軟件具有公開、使用、
22、修改、分發的特點,使用開源軟件的 機構可以掌握軟件的源代碼, 一方面改善過去采購閉源軟件存在 9 的代碼不透明等問題, 另一方面也可以弱化商業封閉式系統架構 導致的廠商綁定。 金融用戶通過掌握軟件源代碼提高對信息系統 的把控能力, 基于開源代碼進行二次開發可以進一步提高金融機 構的技術水平和科技實力。 2)2) 開源技術是金融機構保障信息安全的重要選開源技術是金融機構保障信息安全的重要選擇擇 金融作為涉及關乎國民經濟的關鍵行業, 面臨與其他行業相 比更為嚴苛的監管要求。信息安全已經上升到國家戰略層面,信 息安全被劃入 “十三五” 重點建設方向、 網絡安全被正式劃入 “十 三五”規劃重點建設方向
23、,在政府未來 5 年的 100 項重大建設 項目中排在第六位。 因行業性質原因, 金融行業對信息系統安全和軟件使用有極 高的要求,陸續出臺相關行業規范和管理規定,如: 金融行業 信息系統信息安全等級保護實施指引 、中小金融機構災備云安 全要求 、 保險機構信息化監管規定 、 保險公司信息系統安全 管理指引(試行) 等。 相比于閉源商業軟件,開源軟件的源代碼更加公開透明。同 時,得益于開源生態日趨成熟,PaaS、中間件、數據庫等領域開 源技術層出不窮, 主流的技術基本都有熱門的開源軟件可供金融 機構進行選擇。金融機構在進行軟件選型時,也可以通過公開的 數據對軟件進行多方面的評測, 通過選擇合適的
24、開源技術替代商 業軟件,助力金融機構有效保障數據安全。 3)3) 開源技術推動金融機構科技創新和業務創新開源技術推動金融機構科技創新和業務創新 10 為應對互聯網金融崛起和競爭, 傳統金融機構也需要主動擁 抱開源技術,以便更快地達成一流數字生態金融格局,把觸角延 伸到金融客戶需求的方方面面。 從開發模式上來看,開源技術采用多人協作的開發模式,與 傳統閉源軟件封閉式的開發模式相比,具有快速迭代、技術可擴 展、技術路線壽命長等特點,在技術路徑上相比于閉源軟件更具 有多樣性和創新性。由于開源軟件的代碼是公開的,社區的參與 者可以基于原有代碼進行自由開放和修改, 其技術更新迭代速度 要比專有軟件快得多
25、, 因此便于企業將更加優質的產品和服務快 速推向市場。 而售賣專有軟件的公司往往更注重產品的成熟度和 穩定性,在技術創新方面相對比較保守,因而導致專有軟件的更 新迭代速度和技術先進性可能落后于開源軟件。 金融機構在構建 信息系統的過程中, 可以借助開源的技術路徑提升信息系統構建 的先進性,助力金融機構科技創新。 另一方面,用于核心基礎設施的專有軟件會增加企業用戶被 供應商或技術鎖定的風險,對于金融機構而言,選擇專有軟件可 能會面臨成本的提高和技術路線的限制, 一旦供應商出現問題還 可能影響到金融機構業務的連續性和穩定性。相比而言,開源軟 件的代碼具有極強的透明性, 不論是企業還是普通用戶都能夠
26、獲 取開源軟件的源代碼。 采用開源技術可以助力金融機構通過采用 先進技術實現科技創新,進而推動業務健康快速發展。 11 三、三、 引入開源的風險日益凸顯不容忽視引入開源的風險日益凸顯不容忽視 開源軟件相比于閉源的商業軟件,代碼公開的好處顯而易 見,而背后開源許可證的復雜性卻關注甚少,而引入開源的用 戶往往成為開源軟件使用的風險落腳點,因此金融機構在引入 開源的過程中應充分重視潛在風險問題??傮w來看,金融機構 作為開源用戶可能涉及四類風險:運維和技術風險、管理風 險、安全和數據風險、合規和知識產權風險。 圖 1 使用開源軟件可能涉及的四類風險 1 1、 缺乏技術能力是企業用戶的重要痛點缺乏技術能
27、力是企業用戶的重要痛點 對于金融機構而言,開源軟件與以往的閉源軟件相比,最大 的問題在于其需要本機構的開發運維人員自己負責管理和運維。 在開發階段, 開源技術的開發難度要遠大于直接購買配備廠商服 務的閉源軟件,因此往往要求企業配備更多相關人才,而人才的 培養往往需要相對長的時間,也會消耗企業更多的資源。在運維 12 階段,相對于閉源軟件擁有完善的廠商服務,開源技術在很多情 況下并沒有相應的付費服務和運維支持, 而金融機構本身的運維 人員數量及能力都有一定限制,導致運維工作量大幅增加,開源 技術相關運維問題解決困難。從整個生命周期管理角度來看,開 源技術的社區版本更新速度遠比閉源軟件要快得多,
28、其版本更新 往往不存在第三方支持, 金融機構被迫投入人力物力跟進開源技 術發展, 以避免因舊版本廢棄或安全漏洞等問題導致的開源風險。 2 2、 是否引入開源軟件難以完全準確統計是否引入開源軟件難以完全準確統計 如果金融用戶沒有特殊要求,商業軟件供應商一般不會說明 其產品中是否涉及開源代碼,甚至對用戶號稱完全自主研發, 用戶很可能被動引入開源軟件。例如,2018 年國內某瀏覽器事 件引起業內廣泛關注,該瀏覽器一直對外宣稱自主研發,然而 經過行業測試卻發現其使用了開源軟件 Chrome 的內核。在此次 事件之前,該瀏覽器在宣傳或說明中未標注其使用了開源軟件 Chrome。從開源合規的角度來看,該公
29、司在自主研發中存在失 信問題,同時也違背了開源許可證的署名要求。 從另一個角度來看,除了開源軟件和組件,代碼層級的開源 使用問題也十分突出。在軟件開發過程中,如果企業并未對源 代碼進行掃描,則很難從管理角度統一把控企業開發者是否在 開發軟件的過程中使用了開源代碼片段。同時,對金融機構而 言,存量軟件及代碼的規模相對更加龐大,對其進行代碼合規 13 性檢查的工作量更加巨大。因此,金融機構想要完全準確統計 企業內引入開源軟件的數目及真實情況在操作層面存在一定困 難。 3 3、 開源軟件隱含的安全風險較為顯著開源軟件隱含的安全風險較為顯著 由于開源軟件具有多人協作完成、開源許可證存在免責條款 等特性
30、,企業在使用開源軟件時必須注意數據安全及隱私風險, 若開源軟件存有惡意代碼、病毒或造成隱私泄露,將對金融機構 帶來較為嚴重的危害??傮w來看,開源軟件存在的安全問題較為 嚴重,安全漏洞是主要的問題,后門等問題同樣存在。開源軟件 的安全缺陷密度較高,據 SNYK 發布的2019 年開源安全現狀調 查報告顯示,過去兩年內應用程序的漏洞數量增長了 88,僅 2018 年 NPM 的漏洞數量就增長了 47。 以數據庫領域為例,據安華金和最新發布2019 年上半年數 據庫漏洞安全威脅報告顯示 1,截止 2019 年 4 月,CVE 發布的 被確認的國際主流數據庫漏洞共計 81 個,其中 Oracle 9
31、個、 MySQL 65 個。 Oracle 被發現的 9 個漏洞中含 1 個超危漏洞, 5 個 高危漏洞;MySQL 數據庫的 65 個漏洞中含有 2 個高危漏洞,62 個中危漏洞。由此可見,使用開源軟件仍存在較大安全風險,金 融機構在使用相應開源軟件之前應進行充分評估, 對安全漏洞予 以重視。 1 14 4 4、 使用過程中是否遵守開源約定未知使用過程中是否遵守開源約定未知 每一個開源軟件都需要包含開源許可證去規定開源軟件的使 用范圍和權利義務,金融用戶在明確商業軟件包含開源軟件的 前提下,很多情況并不能明確得知該軟件是否遵守開源許可證 的要求。開源許可證的基本要求包括:使用開源軟件需要署名
32、開 源軟件的作者或版權持有人的姓名或名稱,需要明確使用哪一個開 源許可證,并保留許可證全文或相關鏈接等等。 根據 GPL 許可證的規定,使用依 GPL 開源的軟件并涉及到修 改和分發時,用戶需要將后續修改代碼全部開源。例如,在 3D 打印領域,Marlin 是使用 GPL 許可證的開源軟件,中國某企業 引入 Marlin 后拒絕將修改部分依許可證規定對外開源,其結果 是該公司被禁用開源軟件 Marlin,在違反開源許可證規定的同 時也可能面臨法律制裁。 5 5、 開源軟件上游供應鏈存在不確定性開源軟件上游供應鏈存在不確定性 對于金融用戶而言, 開源軟件的上游供應鏈涉及開源基金會、 開源產品及服
33、務企業等。 由于基金會開源軟件的使用規則并不是 一成不變的,開源軟件存在修改開源許可證的可能性,從而導致 開源軟件許可使用方式的改變。 例如, 2018 年多個開源軟件開發 商已經對其過去使用的開源許可證進行了修改。2018 年 8 月, Redis Labs 由 AGPL 改成了 Apache v2.0 和 Commons Clause(共 用條款) 相結合的許可證; 10 月, 開源數據庫 MongoDB 由 AGPLv3 15 改為一種新的服務器端公共許可證(SSPL) ,力求堵住基于云的 服務帶來的缺口;12 月,Kafka 修改 KSQL 許可證為 Confluent 社區許可證,禁
34、止其作為 SaaS 產品來提供。目前的開源許可證 變更與云服務相關的居多, 但是金融機構作為開源軟件的最終用 戶未來也可能會面臨因開源許可證變化而導致的一系列風險, 甚 至可能影響已有開源軟件的后續使用。 傳統開源模式盈利模式開始遭遇瓶頸, 各大開源公司/項目紛 紛探索商業新模式。2018 年,Oracle 宣布 2019 年 1 月以后發 布的 Oracle Java SE 8 公開更新將不向沒有商用許可證的業 務、商用或生產用途提供。對于以往使用 Oracle Java SE 8 的 金融機構, 如果希望能夠繼續獲得支持就只能選擇向甲骨文公司 付費訂閱, 否則就只能選擇開源的 OpenJD
35、K 版本或者其他廠商的 發行版。 同時, 受開源基金會注冊地法律規定影響, 開源軟件背后涉及 的知識產權歸屬及開源軟件未來是否受到限制使用等問題仍需 引起足夠重視。 6 6、 開源軟件的知識產權風險易被忽略開源軟件的知識產權風險易被忽略 開源軟件一般通過開源許可證約定其涉及的知識產權所屬, 然而一些開源許可證并未明確軟件中涉及的知識產權問題。 一部 分開源許可證包含明確的專利許可條款, 許可用戶使用軟件所包 含的相關專利(需視許可證而有不同約定) ,如 Apache 2.0 和 16 GPL 3.0。另一部分開源許可證則沒有明確說明,如 BSD、MIT 和 GPL 2.0。同時,為了防止有人惡
36、意提起法律訴訟,部分開源許 可證包含“專利報復”條款,如 Apache 2.0、GPL 3.0、AGPL 3.0 等。對于并未明確授予專利權的許可證而言,金融機構作為開源 用戶使用相關軟件就可能存在潛在的風險。 開源的知識產權問題相對專業, 一般的知識產權專家很難準 確掌握開源許可證的責任義務要求, 金融機構精通開源知識產權 的專家相對匱乏, 作為開源用戶往往不能準確掌握常見開源許可 證的使用方式,進而可能會埋下相應的風險隱患。 四、四、 金融行業開源治理建議金融行業開源治理建議 開源軟件在金融機構中的使用日益廣泛, 同時其風險也日益 凸顯不容忽視。 金融機構已經從理解開源的價值逐步走向認識開
37、 源的風險,后續也將從使用開源向治理開源方向轉變。面對開源 軟件使用過程中的一系列問題,國家、金融企業和第三方機構應 采取措施共同推動開源產業的健康有序發展, 在充分保障金融機 構滿足合規要求的同時以開源新技術的應用促進金融機構向數 字化、智能化方向轉型。 1 1、 推廣產業開源科普,樹立開源風險意識推廣產業開源科普,樹立開源風險意識 從國家層面來看,開源知識的科普和開源風險意識的樹立 至關重要。我國應培育開源發展的政策環境,完善開源相關法 17 律保護機制,加強開源軟件的社會認知度和開源相關專業人才 的培養,鼓勵和推動開源社區發展,支持開源社區進行培訓和 研討活動,整體上從國家或行業層面提高
38、對開源的重視程度。 產業界可以通過開源白皮書和書籍的形式向相關企業和人 員灌輸正確的開源理念,針對開源的概念、開源許可證的要求 進行解讀,組織相關開源及知識產權專家進行演講與培訓,提 醒企業引入開源可能面臨的風險,樹立金融機構作為開源用戶 的風險意識。 金融管理機構可以通過調查問卷的形式,對開源軟件在金 融業的應用情況進行調研,了解行業實際應用和管理狀況,包 括:一、一、開源軟件使用基本情況,包括:使用原因、規模、核 心業務系統應用占比等;二、二、開源軟件引入和使用情況,包 括:選型依據、測評方式、管理機制、更新頻率等;三、三、開源 軟件應用評價,包括:影響和效果、風險和問題、對外部環境 的訴
39、求等。通過深入摸底金融行業對開源技術的使用和管理情 況,分析現狀及問題,后續形成調研報告供相關各方參考。 2 2、 建立金融開源社區,增進同業交流溝通建立金融開源社區,增進同業交流溝通 金融機構作為開源軟件的用戶, 相比于科技公司在開源領域 的參與度較弱, 且需求往往只能間接通過開源產品和服務提供商 來反映問題提交建議。因此,在國內有必要建立具有金融行業屬 性的開源社區,通過集合多家金融機構,形成行業運作、交流、 18 共治平臺,共同探索開源技術在金融行業更好的應用,以提升金 融機構對開源的參與度。 國際方面已有針對金融領域的開源基金會,FINOS 于 2016 年建立,并運作良好,該基金會擁
40、有 30 余家會員單位、70 余個 項目正在孵化、300 余名社區貢獻者,其核心董事會成員來自花 旗集團、摩根大通集團等,社區非普通(白金、黃金、白銀)會 員均需要付費, 普通會員需要對社區做出重要貢獻方可免費加入。 國內方面,目前中國信通院已經聯合浦發銀行等 10 余家金融機 構及華為、騰訊等多家科技公司,共同成立了金融行業開源技術 應用社區,探索非實體化的自發開源組織運作模式。運行資金主 要來源于科技公司會員贊助;秘書處為輪流制,初期由中國信通 院和浦發銀行聯合設置。經過半年多的運轉,社區已經建立了章 程規范, 并形成了以 “開源治理工作組” 、“開源軟件選型工作組” 、 “開源項目孵化組
41、”為核心的運作模式,促進開源技術研究成果 共享和開源產品在金融行業的應用。 3 3、 梳理開源治理規范,推動相關標準制定梳理開源治理規范,推動相關標準制定 針對國內開源產業相對缺少監管和規范的現狀,第三方機 構可以通過標準化的手段梳理用戶側使用開源應遵守的規范, 中國信通院已經聯合 30 余家金融機構和科技公司共同制定了 開源治理能力評價方法 第 2 部分面向開源用戶 ,通過標準 的手段規范開源軟件“申請-審批-使用”全流程管理,幫助金 19 融機構建立自上而下的開源治理體系。 通過相關標準的制定和評估的落地,促進金融機構規范開 源軟件管理,事先規避開源相關風險。進一步通過評估與行業 內部交流
42、,聚集最佳開源治理實踐,推動業內形成共識,促進 金融行業開源軟件使用的規范化和全行業整體開源治理能力的 提升。 4 4、 建設開源治理體系,規范開源軟件引入建設開源治理體系,規范開源軟件引入 金融機構可以通過制定開源管理制度,建立企業內部開源 軟件管理平臺,從公司層面對開源軟件的引入和輸出進行管 理,構建全流程的開源治理體系,具體涉及組織架構、管理制 度、軟件選型、使用規范、風險管理、二次開發、持續跟蹤、 社區反饋和退出機制總共九個方面的內容。 1)1) 組織架組織架構構 從管理角度搭建開源治理相關的組織架構,設置明確的開 源治理分工,將開源治理的工作和責任具體落實到個人。企業 應在內部設立開
43、源管理小組負責制定開源合規戰略和開源治理 流程,統籌規劃和推動企業開源治理工作,并對開源軟件使用 全生命周期中涉及的各類角色的職責進行明確,具體包括管 理、開發、運維、安全、法務等。 2)2) 管理制度管理制度 制定企業內部相關的規章制度,對開源軟件的合規使用進 20 行管控,至少包括:開源軟件引入制度、開源軟件使用制度、 開源軟件漏洞檢測制度、開源軟件版本更新制度及開源軟件退 出制度等。 3)3) 軟件選型軟件選型 企業在引入開源軟件時,可以從產品活力度、行業認可 度、軟件質量和服務支持能力四個方面進行選型評估,對軟件 進行綜合評價并結合企業自身情況,進一步決定是否引入開源 軟件。具體可以參
44、考代碼托管平臺上的項目數據、第三方評估 報告,結合本企業的需求和內部評測流程,對開源軟件是否能 夠引入進行綜合評估。 4)4) 使用規范使用規范 開源技術在使用過程中存在風險,因此企業在使用開源技 術時應依照規范根據引入需求確認測試范圍,對開源軟件的相 關功能進行必要的測試。針對基礎類軟件應由負責部門編制軟 件使用說明文檔,針對系統級別的開源軟件應制定相應的應急 預案,對于核心業務應保證至少有一個成熟的方案做備份。 5)5) 風險管理風險管理 企業在引入開源軟件時應遵循統一的引入流程,并對建立 開源軟件統一管理機制,對企業所使用的開源軟件信息進行記 錄(包括軟件名稱、作者、出處、版本號、許可證
45、、正在使用 的部門等) 。針對開源許可證和安全兩大方面的風險,應該定期 進行評估并應設置專業人員(如法律人員、安全人員等)進行 21 風險處置指導,及時識別可能存在的風險點并建立與使用、運 維、安全、法律等相關人員的溝通機制,確保在面臨風險時能 夠及時妥善解決。 6)6) 二次開發二次開發 企業為滿足業務場景需求可能會基于開源技術進行二次開 發,此時首先對社區軟件現有情況進行確認,包括社區現有功 能、接口兼容性、接口版本、開源許可證要求等,設計出二次 開發方案,進一步按照企業和社區規范進行編碼、測試和發 布。特別是對于涉及對外分發的應用場景(如手機 APP 等)的 開源軟件/組件,需要按照開源
46、許可證的相關規定保留原版權信 息并添加開發者的版權信息,如相關代碼需要貢獻給社區,在 進行編碼時應遵循開源社區的編碼規范和要求。 7)7) 持續跟蹤持續跟蹤 在開源軟件的使用過程中,企業應持續跟蹤開源軟件的各 項情況,維護開源軟件企業中的健康合規運行,包括社區情 況、漏洞情況、版本情況、開源許可證情況等。對于長期不更 新或社區活躍度極低的開源軟件應予以重視;對于軟件漏洞應 由專門人員持續跟蹤漏洞信息并及時反饋給軟件使用方,并及 時進行修復和處置;如出現開源許可證變動情況,應及時組織 相關負責人結合本企業的風險接受能力評估相應開源許可證存 在的風險。 8)8) 社區反饋社區反饋 22 金融機構與科技公司相比, 大多數情況作為