文 / 上海浦东发展银行信息科技部副总经理  万化

上海浦东发展银行信息科技部  杨欣捷

近年来,开源技术已逐渐发展成为商业银行数字化转型的重要基座。商业银行利用开源软件开放共享、易于获得、迭代高速等特性,以支持业务场景和服务模式的创新,并适应互联网时代千变万化的市场需求。在享受开源技术红利的同时,相关风险问题也给商业银行带来了新的挑战。浦发银行在开源软件使用中,形成了一套治理体系并开发了配套的治理平台,充分利用开源软件助力数字化转型,同时也有效防范了开源软件的使用风险。

开源软件带来的机遇

人民银行印发的《金融科技发展规划(2022-2025年)》(以下简称《规划》)中明确提出要全面塑造数字化能力,完善数字基础设施,促进科技与创新融合,打造开放创新、合作共赢的产业生态。金融业数字转型是大势所趋,而创新则是加速金融业数字转型的关键手段。为更好推进科技创新,加快数字科技与产业相融合,信息系统构建的选择已逐渐从闭源走向开源。商业银行面对开源技术主要有以下机遇。

1.开源技术拓宽了商业银行的可选技术道路。开源软件数量呈指数级增长,根据全球最大的开源代码托管平台Github 2021年度报告显示,Github托管仓库目前已有2.7亿,较2020年新增仓库6100万个。开源软件主要覆盖在操作系统、数据库、中间件、云计算等基础设施领域。近年来,在人工智能、区块链等新兴技术领域中也涌现了优秀的开源项目,占比高达60%。可以说,开源技术栈正逐渐成为主流,商业银行拥抱开源来摆脱对单一商业产品的技术依赖,扩宽了商业银行的技术选择。

2.开源软件支撑商业银行快速响应客户需求。当前金融科技业务范围不断扩大,业务需求的多样性和交付时效不断提升,传统的模式已经不能够满足用户使用需求变化。开源软件因其低成本、易获得、可修改的特点,大大缩短了软件应用周期,提高了开发效率和迭代速度,以满足客户快速变化的需求。

3.开源助力商业银行快速构建生态。随着金融科技的推动,数字经济发展加快进程,商业银行突破传统银行的服务边界,实现了从网点银行到开放银行的跨越式发展,并开始布局开放共赢、互联互通的金融场景生态。开源作为一种开放共赢的创新开发模式,能够整合多方资源,促进多方协同和加速技术迭代。将其与金融科技结合,触及多元化、多生态的金融需求,实现业务、产业和技术共享式发展,帮助商业银行突破信息壁垒,更快速地构建生态。

开源技术应用中的挑战

商业银行在享受开源技术带来机遇的同时,也面临安全、运维技术、法律合规和上游供应链等风险挑战。

1.安全风险挑战。开源软件是由多个开发者共同完成,并且其开源协议存在免责条款,因此,经常引发一些安全漏洞及数据安全问题。根据《2021年开源安全与风险分析报告》可知,开源组件在各行业中被广泛使用,但84%的代码库存在漏洞,五年内增长了259%。由此可见,开源软件持续增高的安全漏洞风险,已成为企业急需重视和治理的领域。

2.运维技术风险挑战。开源软件不同于以往的闭源软件,缺乏相应的厂商服务、运维支持和SLA承诺。因此,在开发和运维阶段需要公司内部专业的人员和团队提供支持,而金融机构本身的技术和运维人员在数量和能力上都有一定的局限性,解决相应运维问题时存在一定的难度。

3.法律合规风险挑战。商业银行在应用开源软件时最关心的是开源许可证的“商用”问题,本质上是许可证“传染性”问题。部分带有传染性的许可证要求企业在进行代码修改后保留原来的许可证,也就是说需要公开源代码。近年来,因为开源许可遵从问题引发的知识产权案例逐年增多。中国第一个关涉GPL许可证的诉讼案件“柚子案”由北京市高级人民法院做出二审终审判决,证实开源许可协议在我国的法律效力。因此,开源许可证可被认为是具有法律效益的合同,如果违背相关协议,会导致一系列的知识产权等法律风险问题。

4.上游供应链风险挑战。开源软件供应链相较于传统软件有着更复杂的网络,上游社区、介质仓库、社区、基金会等,通过组合、依赖等形成供应关系。在上游供应链中的开源基金会,对开源软件使用规则的定义并不是一成不变的,会出现许可证变更,“停服”等风险。对于金融使用者,由于缺少对相关信息跟踪能力,存在一定的消息滞后性,也增加了开源软件供应链管控难度。

浦发银行在开源治理方面的工作

面对开源软件日益凸显的风险,开源治理已经引起金融机构普遍关注。近年来,各金融机构开始深耕开源治理,人行联合各部门也出台了相应的政策用于指导金融机构规范使用开源软件。浦发银行从2018年开始开源治理工作,至今已形成了团队、制度、评估机制、流程、平台工具、对外开源等较为全面的开源治理体系。该体系帮助浦发银行安全、合规、可靠、高效地评估和使用开源软件、管理开源软件资产、把控开源软件使用中的安全风险(如图所示)。

图  浦发银行开源治理体系

1.组建开源治理组织架构,明确开源治理职责分工。浦发银行内部设立了相应组织架构。其中主要涉及以下角色:开源管理团队,负责制定和执行开源软件应用管理规则及开源软件日常管理工作;开源专业团队,负责对开源软件提供运维支持,保证开源软件正常使用;开源安全团队,负责对开源软件代码进行审查,反馈安全漏洞至相关使用人员进行处置,避免造成严重的安全风险问题;开源法务团队,负责开源软件所涉及的知识产权等法律问题,对开源许可证进行扫描和审查,提供法务支持,给出专业的法律建议。

2.制定开源软件全生命周期的管理机制,规范开源软件的引入、使用、更新或退出的流程。浦发银行内部发布《开源软件使用规范》,对开源软件全生命周期中的管理提出明确规定。包括引入、使用、退出的流程;开源分级分类管理要求;开源软件台账记录要求,开源软件漏洞及许可证等风险的跟踪、评估、反馈和处置;开源软件版本的评估和推荐等。

3.形成开源软件评估评价方法,指导开源软件的引入和选型。浦发银行在建设适合自身的开源技术治理体系过程中,从多维度评价视角,探索出了一套开源软件活跃度模型,用于指导开源软件在银行的引入和选型。在源头上控制了高风险开源软件版本的引入,有效收敛了浦发银行应用开源软件的种类和版本,筛查并拒绝了社区发展前景不佳的开源软件。

4.建设开源治理平台,实现开源软件全流程、一体化、自动化管理。浦发银行自研开源治理平台,该平台除了将前文提到的组织架构、管理流程、评估评价机制数字化、线上化之外,还融合了源码仓库、台账记录、社区信息展示、自动化扫描等功能。平台建立开源治理团队与项目组之间的沟通渠道,提高了开源治理工作和整体软件研发工作的效率。

5.梳理出一套对外开源管理策略,规范对外开源流程。拥抱开源生态,不仅意味着向社区索取,也意味着对社区的贡献。浦发银行已经对外开源了多个自研项目,如Harrier、Piraeus等。为此,浦发银行形成了一套完善的对外开源管理策略,对项目开源前、开源中、开源后进行全流程管理。开源前,审核检查,保证代码安全和文档完备;开源中,筹备评估,选择合适的代码托管平台和开源许可证;开源后,治理运营,提高社区活跃度,进行项目布道。

商业银行应用开源生态发展展望

在2022年央行发布的《规划》中,一是鼓励金融科技深入开源技术应用,安全规范使用开源技术,打造具有竞争力、可商业化的科技产品。二是鼓励金融科技积极参与开源生态建设,打造成果转化新模式。根据《规划》,商业银行未来可从以下两方面推动金融开源生态发展。一是加大开源治理力度。商业银行开源治理当前处于实操阶段,开源治理体系路径逐渐清晰。随着开源软件应用加深,开源风险点明确,商业银行将对开源管理规则进行分层,建立分级分类管理体系;引入开源组件扫描类工具,集成开发环境,推动开源治理自动化发展。二是探索开源生态协作。目前商业银行开源生态处于萌芽期,随着开源协同模式的不断深入,商业银行将构建对外开源贡献治理运营体系,探索对外开源策略。商业银行可以通过参与开源社区,吸引更多开发者,降低研发成本,汇聚开源生态,演进商业模式,最终将技术流量转换成商业价值。

声明:本文来自金融电子化,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。