查看原文
其他

《关于规范金融业开源技术应用与发展的意见》对金融业创新发展和开源治理的启示

栗蔚 中国金融电脑 2022-09-24

近日,人民银行办公厅、中央网信办秘书局、工业和信息化部办公厅、银保监会办公厅、证监会办公厅联合发布《关于规范金融业开源技术应用与发展的意见》(以下简称为《意见》),鼓励金融机构遵循“安全可控、合规使用、问题导向、开放创新”四大基本原则,将开源技术应用纳入自身信息化发展规划,建立健全开源技术应用管理制度体系,积极参与开源生态建设。《意见》将为金融业创新发展和开源治理带来诸多启示和思考,本文将对《意见》中的二十条内容进行解构,从开源对金融机构的意义、开源治理和自发开源三个方面进行阐述。


一、开源和数字化是金融机构

开放创新发展的“一体两面”


1.开源(模式)、开源技术的内涵

开源是一种协作模式,也是一种特性产品(定义来源《开源生态白皮书(2020)》)。开源的目标是解决信息不对称问题,其影响是多方面的,包括技术路径引领、形成事实标准、产品快速成熟等。这种模式用在技术上就是开源技术,技术领域的主要应用在软件,所以开源软件是开源技术的主要特性产品。开源软件的定义由开源促进组织(OSI)在1998年给出,包括十大特性,即自由再发布、源代码公开、允许派生作品、作者源代码完整性、不能歧视任何个人或团体、不能歧视任何领域、许可证的发布、许可证不能只针对某个产品、许可证不能约束其他软件、许可证必须独立于技术。


开源这种模式还可以用在其他技术领域,比如开源大数据、开源硬件、开源API等,所以,开源的理念远远不止于软件,其本质是通过开放协作,遵循某个协议,实现快速传播的模式。同时,开源和公开、开放有很大的不同,从开源软件的定义可以看出,开源一定是遵循某种协议或约定开展的模式,协议可以是许可证也可以是其他形式,从而形成了一定的商业关系,具有公开、可使用、可修改、可分发等特点。而公开、开放只是一个动作或态度,目的可能只是扩大自身生态,不一定有约定协议,不一定有商业闭环,不一定可继续分发,比如云服务商为ISV开放API接口。


对于金融机构而言,当前主要与开源有关的活动大部分涉及开源技术的开源软件领域,所以《意见》里“开源技术”中的开源软件是金融机构当前的工作重点,金融机构只有深入了解开源的内涵,用长远和全局眼光看待开源,方能在创新发展中运用好这一模式。


2.《意见》出台背景:开源技术融入金融业务的数字化转型,开源模式助力开放金融的生态创新

在我国金融机构不同发展阶段开源的价值也有所不同。以金融机构信息化发展为例,开源技术应用于我国金融机构可以分为四个阶段:

第一阶段

金融电子化阶段(20世纪70年代—90年代),金融行业无开源软件使用。在此阶段,银行的业务开始以计算机处理的方式代替手工操作,基本上没有开源软件的使用。

第二阶段

金融信息化阶段(2000年前后—2010年前后),金融机构在操作系统、应用开发等领域开始使用开源软件商业解决方案。在此阶段,IT系统在金融体系开始成型,比如零售、信贷、清算等核心系统,同时随着x86和Java的崛起,金融机构开始尝试以Spring为代表的Java开发框架,采购开源软件的商业解决方案,比如Linux发行版操作系统RHEL等。

第三阶段

互联网金融阶段(2010年前后—2017年前后),金融行业采用“开源+自研”的手段构建新一代海量数据处理与高并发技术架构。在此阶段,随着互联网与传统金融服务的加速融合,市场对支撑大规模并发的分布式技术需求旺盛,此时,由于云计算、微服务、大数据等分布式技术的主要技术路径都是基于开源项目的,金融机构开始大规模使用开源软件,例如OpenStack、Hadoop、HBase、Hive、MySQL等。

第四阶段

金融数字化阶段(2017年至今),通过开源技术实现金融业务的数字化转型,通过开源模式助力开放金融的生态创新。在此阶段,一方面,数字化、智能化不断催生新兴的服务模式和新产品,此阶段在第三阶段“全面云化”和“分布式化”的基础上向“智能化”和“开放化”的新技术和业务融合体系演进,金融机构大量使用云原生、人工智能、区块链等新兴开源技术,实现业务的高效敏捷开发、运营的数字智能化;另一方面,金融的业务生态体系更加开放,2018年由我国众多金融机构联合发起的“金融行业开源技术应用社区(FINOC)”(如图1所示)预示着金融机构开始用开源的思维和模式,共同探索生态开放化、数字化创新发展道路。


图1 金融行业开源技术应用社区(FINOC)


伴随着金融机构信息化的发展,开源技术的引入呈现出多维度态势,所以《意见》第一条给出了开源技术范围,治理的开源技术对象主要包括三部分:一是企业直接使用的开源项目社区代码或者制品;二是外包商合作开发时引入的源码或制品;三是商业采购的基于开源项目的产品、解决方案、云服务等。


当前,开源技术全面融入金融机构业务数字化转型的技术架构中,金融机构的IT能力关系到社会经济运行,在创新发展的同时,稳定可持续是首要目标,所以《意见》的第二条给出了治理原则:坚持安全可控、坚持合规使用、坚持问题导向和坚持开放创新。从中我们可以看出,金融机构要治理好开源技术,运用好开源模式,以达到开放创新的目标。


3.《意见》的主要内容:使用开源需治理,自发开源需掌握

根据FINOC对金融机构使用开源软件调查显示,金融机构当前使用开源有三个特点:


一是金融机构使用开源非常广泛,2021年我国金融机构中超过90%的企业引入了开源软件,主要是中间件(90.63%)、大数据(87.5%)、数据库(87.5%)与工具(78.13%)。


二是开源软件特有的风险需治理,但全量化管理能力不足,比如许可证风险,有的开源许可证有着一定的传染性(如GPL和LGPL);有的并没有明确的专利许可条款(如BSD、GPL2.0和MIT);有的存在兼容性问题(如MPL1.1与GPL之间存在不兼容性)。除此以外,开源软件还存在受美国出口管制条例(EAR)影响、超过60%的代码库存在漏洞、开源软件停止服务等诸多风险问题。对于开源治理,92.11%的金融机构涉及内部工作,但只有20%的金融机构开展开源软件、开源组件与开源工具的全量化管理。


三是国际金融机构不仅使用开源软件,更开始自发开源创新发展,比如,高盛2019年、2020年相继将自己的Alloy财务数据库分析和Legend数据治理进行开源,促进金融行业技术变革和标准化,并通过合作伙伴使用其开源技术,进一步维系和扩大生态圈,真正实现开放金融的数字化转型。


由开源生态组成要素图(如图2所示)中的五要素(开源项目、开源社区、开源贡献者、行业开源者和开源使用者)和三环节(商业模式、运营机制和风险治理)可以看出,国际金融机构在生态里由早期的“开源使用者”的角色正逐步向“行业开源者”转变。目前,我国金融机构尚处于“开源使用者”这一阶段,做好开源治理是当前主要工作,但未来也需掌握自发开源的模式,向自主开源、开放生态发展。所以,《意见》着重对金融机构开源治理(第三至十二条)和自发开源(第十三至十五条)进行了指引,除此以外,《意见》还对第三方等提出了希望(第十六至二十条)。


图2 中国信息通信研究院开源生态组成要素


二、开源治理是金融机构

使用开源的首要任务


金融机构开源治理的最终目的是掌握开源技术,防范开源风险,提升科技水平。在使用开源的整个生命周期中,治理是一项复杂且体系化的工作。《意见》第三至十二条围绕总体机制、开源引入、风险防范和提升技术四个方面给出了开源治理的指引,开源治理能力成熟度框架如图3所示。

图3  中国信通院开源治理能力成熟度框架


1.开源治理总体机制:覆盖规划、架构和规范

《意见》第三至五条从总体机制方面给出要求,主要涉及各个职能部门以及各层级单位,从整体规划、组织架构、管理规范三大方面进行整体治理。一是制定企业级开源软件治理战略,明确治理的目标、计划等内容,并将其纳入年度总体信息规划;二是跨部门统筹进行开源治理,各部门职责明确,宜设立开源治理团队或开源办公室,统筹架构、研发、测试、生产、运维、安全和法务等多个部门协作分工,职责明确,针对开源涉及的技术、安全、法务等风险问题建立预防和解决机制;三是完善开源软件管理规范,金融机构应制定总体的开源软件管理规范,各部门、各层级需要对自身涉及的开源软件职责进一步细化管理规范,比如引入、使用、跟踪、退出等流程需要明确的规范。


2.开源技术引入以业务场景为核心

《意见》第六条对金融机构引入开源技术进行了明确:一是以业务场景目标为核心,宜从实际业务需求出发;二是根据自身开发能力选择直接引入、外包开发或者采购商业解决方案。


3.做好开源全生命周期跟踪,防范四种开源风险

在开源全生命周期中,风险管理是重点,《意见》第七条明确了金融机构宜建立开源风险管理机制,统一开源信息记录和风险管控,及时识别可能存在的风险点并做相应处置和记录。一是金融机构宜对开源代码进行统一管理,持续跟踪开源社区情况、版本更新情况及开源许可证情况,对开源软件信息进行登记、更新、分析和评估,及时发现许可证变更、漏洞、闭源、停服等问题;二是建立广泛的运维知识库和内外部专家支持机制,进行处置和应急处理。


《意见》第九至十二条明确了技术路径风险、知识产权及合规风险、信息安全风险和供应链风险四种风险。近几年发生的类似CentOS8停服、Apache Struts2开源组件漏洞等事件给金融机构带来不小的困扰,所以要做好开源风险治理,防患未然是非常重要的。


技术路径风险是指开源项目无人维护、策略变更等风险,金融机构宜自身或引入第三方从许可证友好度、项目活跃度、生态范围、软件质量和服务支持等多个角度评估技术路径、开源项目或软件的成熟度。


知识产权及合规风险是指如前文提到的开源许可证传染性、合规性及兼容性风险,金融机构宜自身或引入第三方对在用的开源软件进行组件扫描,对许可证和知识产权等问题进行合规审查。


信息安全风险主要是指安全漏洞、后门、停服等风险,金融机构宜自身或引入第三方对开源软件的代码定期进行漏洞扫描检查、跟踪漏洞库等,并建立应急预案。


供应链风险则比较隐蔽,主要是指如果合作方、外包等供应商基于开源组件或开源软件提供的产品,没有遵循以上几种安全合规的要求,从而产生技术产品和服务质量问题,金融机构应从合同义务等方面确保第三方遵循开源代码安全合规要求,明确责任。


4.掌握开源技术,提升科技水平

《意见》第八条明确了金融机构通过开源技术提升自身技术实力。金融机构使用开源不单纯是为了节省时间或成本,最根本的目的是掌握先进的技术,技术始终是第一位的。在这个过程中,金融机构要深入研究开源核心技术,可以通过在应用场景中不断迭代技术,提高自身科技水平,能够自主掌握开源项目的应用部署,做到使用不依赖,从跟随到引领。


三、自发开源是金融机构

开放创新的有效方式


自发开源的目标是汲取先进技术,开源创新技术,培育适合金融场景的开源产业链。金融机构在做好开源使用治理的基础上,可以积极探索自发开源模式,最终掌握开源这一创新发展的范式,实现创新发展的目标。《意见》第十三、十四、十五条旨在鼓励金融机构充分理解开源的内涵,运用好开源模式,掌握自发开源的方法,实现产业开放创新。其途径是积极参与国际国内开源技术社区建设,同时探索金融行业自主开源,不仅仅是代码,还包括能力平台等多种对象,都可以通过开放协作模式进行共同创新发展。鼓励金融机构、科技公司、科研院校之间开展开源项目合作,通过贡献和参与,解决行业共性问题,提升金融行业开源技术整体应用与技术创新速度。根据开源生态要素图和《开源软件治理能力评价方法》《可信开源社区评估体系》等标准,金融机构自发开源创新发展需要做好商业模式和运营机制两大环节的工作。


1.商业模式方面

一是开源项目确定,包括开源技术选择和审查。金融机构应选取对业务场景具有价值且能解决行业实际痛点的技术进行开源,并对代码进行安全、知识产权等审核检查,确保没有商业机密泄露等问题。


二是邀请开源社区发起的合作伙伴,根据项目的类型和应用场景对开源后的社区参与方、利益相关者和贡献者等进行规划,初步邀请代表方形成虚拟生态圈,有实力的企业也可以跨过这一步直接开源技术。


三是确定托管平台、许可证、运营模式等核心商业模式要素,托管平台可以选择通用性的开源代码托管平台(如GitHub或Gitee等)或行业属性的托管平台(如FINOC平台等);许可证可以根据项目的开源动机、开源声明、充分考虑知识产权保护和开源项目发展定位选择宽松(Apache2.0等)或严格(GPL等)等不同类型;开源项目的运营组织形式可以是贡献/托管给成熟的开源基金会,也可以形成自发的开源社区组织,依托基金会/社区组织成熟的治理运行模式与产业生态圈,促进开源项目快速发展。


2.开源运营方面

一是建立社区组织架构,包括管理架构、技术委员会、核心代码的合并规则,组织架构的分工与职责、事务决策、会议举办形式和新成员选拔与退出机制等;二是建立社区运营机制,包括与产学研多方合作,持续吸纳更多贡献者,建立参与者激励、宣传培训、社区品牌管理和合规使用管理等机制,提高社区活跃度,加快项目迭代速度。


金融业开源技术应用是一个生态,其健康蓬勃发展不仅需要金融机构自身做好开源治理和自发开源,更需要生态各方的共同努力,《意见》倡议开源供应商、监管机构、第三方服务机构、标准和法律界等多方协作共促金融开源生态发展。《意见》的发布,为我国金融业开源生态发展,尤其是建立健全开源技术应用管理体系提供了依据。金融机构应以《意见》为指引,加强开源治理与协同创新,打造合作共赢的开源生态,最终推动金融机构科技创新和数字化转型。


作者简介

121231231

栗蔚,中国信息通信研究院云计算与大数据研究所副所长、中国通信标准化协会TC1WG5云计算组组长、TC608云计算标准和开源推进委员会常务副主席、云计算开源产业联盟秘书长。从事云计算、开源、企业IT数字化转型等研究。


本文拟刊于《中国金融电脑》2021年第12期



《中国金融电脑》2021年第11期

征订热线:https://shop160045533.taobao.com

25

欢迎订阅


公众号ID

Fcc198905

长按识别左边二维码关注我们



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存