
2021年金融行业开源治理白皮书v1.docx
15页金融行业开源治理白皮书金融行业开源技术应用社区 云运算开涌产业联盟. .目 录一、开源技术迅猛进展推动企业引入开源. ............................11、 开源已在多个重要领域成为主流...............................12、 企业用户引入开源技术不行防止...............................2二、 金融行业采纳开源技术已成趋势 . ................................ 61、 开源技术是构建信息系统的重要挑选 ........................... 62、 挑选开源技术对金融机构意义重大 ............................. 8三、引入开源的风险日益凸显不容忽视 . .............................111、 缺乏技术才能是企业用户的重要痛点 ..........................112、 是否引入开源软件难以完全精确统计 ..........................123、 开源软件隐含的安全风险较为显著 ............................134、 使用过程中是否遵守开源商定未知 ............................145、 开源软件上游供应链存在不确定性 ............................146、 开源软件的学问产权风险易被忽视 ............................15四、金融行业开源治理建议 .......................................161、 推广产业开源科普,树立开源风险意识 ........................162、 建立金融开源社区,增进同业沟通沟通 ........................173、 梳理开源治理规范,推动相关标准制定 ........................184、 建设开源治理体系,规范开源软件引入 ........................19附录金融机构开源治理实践案例 ....................................23中国农业银行 ..................................................23上海浦东进展银行 ..............................................26中信银行开源 ..................................................30中国太平洋保险(集团) ........................................32前 言近几年开源技术快速进展,金融行业在构建信息系统过程中不行 防止涉及开源技术的引入和使用;开源一方面可以突破技术壁垒推动 金融机构技术创新和业务进展,另一方面也不行防止的带来学问产权、信息安全等一系列问题;金融作为涉及关乎国民经济的关键行业,面 临与其他行业相比更为严苛的监管要求;如何在遵循开源义务要求的 前提下规范地使用开源技术,从而最大化削减使用开源带来的风险, 是金融机构构建信息系统过程中必定面临的问题;《金融行业开源治理白皮书》第一介绍企业用户引入开源技术的背景,阐述开源技术对金融行业的重要意义,重点梳理引入开源可能导致的风险,并对金融行业在开源治理方面可以实行的措施给出了建议, 最终附录了参加白皮书撰写企业的开源治理实践案例;金融行业开源治理白皮书一、 开源技术迅猛进展推动企业引入开源近几年开源技术快速进展,在云运算、移动互联网、大数据等领域逐步形成技术主流;开源技术正在渗透软件领域的方方面面,企业用户已经越来越难以规躲开源的引入;与此同时,开源的迅猛进展也推动企业从购买闭源商业软件转向关注和使用开 源软件;整体而言,不论企业是否接受,开源已经从事实上成为了一种不行阻挡的趋势;1、 开源已在多个重要领域成为主流开源推动软件生产模式向多人协作方向进展; 相比于闭源软件封闭式的开发模式,开源软件开放式的生产模式推动更多人参 与到软件的制造之中;最初,大多数自由和开源软件项目的奉献者通过电子邮件或私有的版本掌握系统(如 Subversion 或BitKeeper )进行协作;产生于 2021 年的 GitHub 转变了这一情形, GitHub 供应使用 Git 进行版本掌握的软件源代码托管服务,使更多开发者能够更便利地参加开源项目,进一步推动开源软件生产效率和生产质量的提升; GitHub 的显现转变了开源软件的协作模式,开发者不再需要先获得开发者社区的权限才能参加开源项目,这种多人协作的软件生产模式大大推动了开源软件市场12的进展壮大;开源软件已经逐步形成强大的生态链条; 21 世纪之前,软件世界以闭源为主, “闭源”与“收费”成为软件市场的主流, IBM、甲骨文、 EMC为核心的软硬件产品是金融行业用户的主要挑选;90 岁月末,开源软件从对商业软件的仿照开头兴起,如: Linux(对应微软的 Windows 操作系统)、 OpenOffice (对应微软的Office )、FuseESB(对应 IBM ESB 和 Oracle ESB )等等;从 00岁月到现在,开源软件在市场上已经逐步与闭源软件平分秋色;近年来,随着 IT 产业逐步向服务化转型,开源已经成为 ICT 产业进展的重要趋势,在移动互联网、云运算、大数据、人工智能等诸多重要领域成为主流技术形状,如:移动互联网领域的Android ,云运算领域的 OpenStack 、Kubernetes〔k8s〕 ,大数据领域的 Hadoop,人工智能领域的 Tensorflow 等;以上领域的技术更新迭代速度较快,企业用户在挑选相关领域技术时,可能存在没有商业产品可供挑选,只能被迫采纳开源技术的现象;2、 企业用户引入开源技术不行防止随着开源技术快速形成生态,企业用户引入开源技术已成大势所趋;一方面,开源技术已经在大数据、云运算等重要领域形成技术主流,开源软件掩盖软件生态的诸多方面;另一方面开源代码规模正在飞速增长,截至 2021 年 9 月,开源代码托管平台GitHub 上已经有 9600 多万个库,相比去年也增长了 40% 以上;由此可见,开源软件已经成为软件生态的重要且不行替代的组成部分,不论治理者是否知悉,企业内部在很大致率上都已经引入了开源相关的技术,详细有以下三种引入形式:1) 所购买或使用的商业软件,隐含开源组件或代码在开源软件兴起之前,大多数企业一般会挑选购买商业软件, 由于这种购买行为对于企业而言是“公对公”的,大企业内部一 般都有规范的选购流程,企业负责人也认为商业软件的售后有所 保证;然而,并不是购买了商业软件就意味着不用关怀开源;实际上,许多商业软件是基于开源做二次开发后以闭源形式供应应用户的,但用户一般只知道自己购买了商业软件,而对其中可能涉及的开源风险一无所知;假如用户没有特别要求,商业软件供应商一般不会说明是否涉及开源软件,而用户一般不能直接接触到软件的源代码;因此, 用户很可能被动的就引入了开源软件,即使想遵守开源规章也无从下手;虽然企业用户的确购买了商业软件,但商业软件中却有可能包含开源的成分,用户很可能在不知情的情形下使用了开源而不自知;从这个角度来说,许多时候并不是企业用户主动挑选了开源,而是被动使用了开源之后才意识到明白开源的重要性;2) 购买基于开源软件的商业版本许多时候企业觉得自己购买了商业软件,然而实际上却往往 是开源的商业版或者是发行版;目前已知的 Linux 发行版就有300 多种,其中就有比较胜利的商业发行版如: redhat 、SUSe、 Ubuntu 等;全球范畴内基于 OpenStack 供应支持和服务的企业 超过 150 家, 依据 OpenStack 基金会发起的第 11 次全球OpenStack 用户调查显示,华为、红帽、 EasyStack (易捷行云) 是 2021 年排名前三甲的 OpenStack 软件供应商;大数据领域的Hadoop 除了 Apache 的版本之外,华为发行版、 Intel 发行版、Cloudera 发行版和 DKhadoop 发行版均有广泛应用,其中许多发行版都是收费的商业软件;基于开源的商业版通常有两种情形,一种是双许可证,一种是依商业许可重新发行;所谓的双许可证是指其软件是基于开源许可证的,但是仍有不同的许可条款;用户可以无偿使用无须付费的、开源的版本, 这仍旧属于商业版本的一部分,如用户有进一步的需求,诸如商业的技术支持和服务就需要另行付费;作为全球领先的数据库软件, MySQL产品实行了开源许可与私有许可的双重许可模式;MySQL公司对产品代码拥有完整的著作权 〔copyright〕 ;在开源许可之下,软件的源代码完全公开,任何人都可以下载 MySQL 软件来使用、修改和传播;假如某商业客户期望在其商业软件中集成MySQL并保持原有软件的私有性,那么必需挑选私有许可,即向MySQL公司支付肯定的许可费;采纳混合许可的优点在于通过许可协议差异化来最大化产品网络外部性带来的收益;而依商业许可重新发行就是指一些宽松的许可证,如 Apache、BSD 等,是答应以商业且闭源的方式二次发行的;这其中最为闻名的例子就是苹果公司的 MacOSX操作系统,其内核是使用的 BSD Unix ,但是其二次发行也是顺理成章;这样的方式,也是我们本土常见的方式,比如 OpenStack 采纳是特别宽松的 Apache 协议,再次商业发行,包括自己修改的、新增的代码是可以不开源的;3) 直接使用社区版开源软件目前,开源软件已经掩盖了软件生态的诸多方面,操作系统 有 Linux 以开源形式供应,数据库 MySQL、MongoDB等,云运算领域的 OpenStack 和 Kubernetes〔k8s〕 都是开源技术,新兴领域如区块链技术基本是完全建立在开源的基础上的;一方面,开源软件更新速度快,相比于商业软件技术迭代速度更快,许多新技术往往都是从开源软件开头,市场广泛认可之 后才逐步产生一些商业软件或商业服务;许多时候并不是工程师主动挑选了开源,而是由于开源软件的生态相比于商业软件要巨大数倍,使用者只能被动挑选开源;另一方面,开源软件代码公开简单猎取,对于企业的工程师而言,大到采纳能够独立部署独立运行的软件,小到将 GitHub 上的一段开源代码复制粘贴到自己的代码中,其实都涉及到使用开源的问题;开源软件已经成为软件生态不行或缺的重要组成部分,许多时候企业常常会直接使用开源软件的社区版,或者直接使用GitHub 上的组件 / 代码片段,这些都属于使用了开源;从这个角度来看,开源已经渗透到了企业信息系统的各个角落,企业对于开源的使用是无处不在且不行逆转的;二、 金融行业采纳开源技术已成趋势开源软件市场巨大,从基础软件到应用软件都充斥着大量的开源软件;受金融机构转型推动和生态合作伙伴影响,为满意金融用户的实际需求。
