文 / 东吴证券股份有限公司信息技术部  马骏俊

人民银行办公厅、中央网信办秘书局、工业和信息化部办公厅、银保监会办公厅、证监会办公厅联合发布《关于规范金融业开源技术应用与发展的意见》。《意见》要求金融机构在使用开源技术时,应遵循“安全可控、合规使用、问题导向、开放创新”等原则。东吴证券结合自身多年证券公司软件开发实践经验,对《意见》进行了解读,分析开源技术应用风险,提出应用方针和规范,探讨新环境下开源软件的新形势。

开源软件,无处不在。风险,也如影随形。开源软件已成为众多企业和软件项目的基础设施,但大多数的公司、企业和软件开发者对于开源软件的认识不足,甚至有人误以为“开源软件是免费的,因此可以不受限制地随意使用。”实际上,开源软件的著作权既没有被放弃也没有过期,其修改和发行等仍然要受到版权法或者开源软件许可证的制约。未按照开源许可证约定使用开源软件会引发潜在的法律纠纷,或者带来名誉损失。

证券公司在业务开发或者外购的系统中,均大量采用了开源软件。制定并执行开源使用指导原则和管理,就变得非常重要。根据业务的不同,原则可以涵盖公司对开源的态度(是否支持,创建社区还是加入某社区)、哪些应用可以开源,哪些应用可以使用开源软件;哪些许可证类型的开源软件可以使用、审查流程等。从而最大限度的避免公司的知识产权侵权风险。根据东吴证券多年的金融软件开发经验,主要从以下几方面考量开源软件的应用。

厘清开源软件、自由软件、免费软件

开源软件指在软件发行的时候,附上软件的源代码,并授权允许用户更改/自由再散布/衍生著作,开源并不抵制商业收费。

免费软件指免费提供给用户使用的软件,但是其免费的时候,通常都会有其他的限制,比如其源码不一定会公开,而且使用者也并没有使用、复制、研究、修改和再散布的权利。

自由软件指用户拥有如何使用软件的自由。即可以自由地运行、拷贝、修改、再发行。这里指的自由,并不是价格免费,这和价格无关而是使用软件对所有的用户来说是自由的。

识别开源软件许可协议

开源软件的修改、发行等虽然免费,但并非是无条件,而是需要遵守各种(绝大多数为美国)私人自由软件团体制定的规则,即许可证(license)。每个许可证都可以被看作是一份冗长的许可合同。

常见的许可证主要有GPL、LGPL、MPL以及MIT、BSD、Apache,各个许可证还可能有不同的版本。可以将这些许可证大致分为两类:著作权许可证(copyright license)以及宽松许可证(permissive license)。二者最大区别在于:在软件被修改并再发行时,著作权许可证仍强制要求公开源代码(衍生软件需要开源),而宽松许可证不要求公开源代码(衍生软件可以变为专有软件)。GPL是典型的强著作权许可证,LGPL、MPL属于弱著作权许可证,MIT、BSD、Apache都属于宽松许可证。

由于开源软件的性质,这些许可证一般具有两个共通点:开发者不承担瑕疵担保责任以及保留著作权标记。瑕疵担保责任一般发生在有偿合同中,而开源软件及其衍生软件通常都是免费提供的,开发者并不负有瑕疵担保责任。另外,由于开源软件的著作权没有被放弃,因此,许可证中一般都需要以适当的形式保留源代码中的著作权标记。

图  一张图看懂开源许可协议

管控开源软件使用风险

开源风险:个人或企业在使用或引入开源软件时,可能面临到的开源(即公开源代码)风险,主要在于个人或企业对于其持有或拥有的私有软件或代码,因为使用或引入了弱传染型、传染型或强传染型开源许可证的开源软件或代码,而依该弱传染型、传染型或强传染型开源许可证所规范的义务或要求,将可能导致其私有软件必须对外公开源代码。

违约风险:在违反开源许可证(GPL3.0)的义务或要求的情况下,除可能构成知识产权侵权外,亦可能构成合同违约。

知识产权风险:除法律法规的保护外,开源软件的作者或权利人主要是通过开源许可证对其知识产权进行许可与约束。开源许可证从法律上来说,视为一种合同和许可,是开源软件使用者得以依开源许可证来合理使用开源软件的合法凭证,并且在该使用者有相应行为(如:使用开源软件)时,就可视为该使用者与开源软件的作者或权利人意思表示一致(即:达成合意),而愿意接受开源许可证的约束。若开源软件使用者未依照相应的开源许可证,来使用开源软件,将可能侵犯开源软件的作者或权利人的知识产权。

开源许可证兼容性风险:由于各类开源许可证的义务与要求存有差异,因此在使用或引入开源软件时,需要注意各开源软件所适用的开源许可证的兼容性风险,主要是指下面两种情况:一是开发者将多个不同开源软件合并成为一个新的软件,若这些开源软件所采用的开源许可证的授权条款内容间互不冲突,则这些开源软件所采用的开源许可证可视为具有兼容性。二是开发者修改原有的开源软件,被修改的部分涉及其他开源软件,被修改部分原本所适用的开源许可证与原有开源软件所使用的开源许可证间互不冲突,则这些开源软件所采用的开源许可证可视为具有兼容性。

数据安全和隐私风险:由于前述开源软件的特性(如:由多个贡献者共同完成、开源许可证存有免责条款等),个人或企业在使用或引入开源软件时,也必须注意数据安全及隐私风险,否则若使用或引入的开源软件存有恶意代码、病毒或造成隐私泄露,将对个人或企业带来不小危害。系统信息泄露、密码管理、资源注入、跨站请求伪造、跨站脚本、HTTP消息头注入、SQL注入、越界访问、命令注入、内存泄漏是开源软件主要的安全风险。

确保开源合规性

在开源计划中,需要创建一个特定的开源合规团队,该团队的任务是确保开源的合规性。

这个核心团队,通常被称为审计团队或开源审查委员会(OSRB),由来自工程团队和产品团队的代表,一名或多名法律顾问以及合规人员组成。

开源审查委员会(OSRB)负责创建开源合规战略和一套决定如何在日常基础上实施这些规则的流程。该战略确立了必须采取的措施来保证合规性,并为员工如何与开源软件进行互动提供了一套主要原则。它包括了开源的审批、获取与使用的正式流程,以及发布开源软件或经开源许可证授权的软件。

新形势下的开源软件应用

从2020年开始,信息技术应用创新工作全面展开,经过两年的发展,逐渐深入,开源软件已经成为该生态系统开发和建设的核心基础设施。

开源是信息技术应用创新生态推进的重要手段。开源的意义体现在:向开源项目贡献源代码,可以扩大技术影响力,增强和主流技术趋势的绑定;借助开源软件资源,可以节约不必要的成本;开源社区有助于汇聚开发者的力量,形成强大的创新来源。

东吴证券在建设中,使用了大量借助开源技术的软硬件。作为信息技术应用创新建设先锋券商,东吴证券与国内公司密切合作,在开源技术的支撑下,完成了核心交易系统A5信创版、TA+LightDB数据库、投行项目管理平台等重大项目,打造金融行业信息技术应用创新标杆,助力企业创新发展。

结语

开源的本质是共享技术,而技术是生产力的一部分。开源软件为软件公司带来了显而易见的利益。但从安全角度上看,开源技术也面临着可能被黑客关注,会被黑客攻击漏洞的问题。因此证券公司在上线使用开源技术的软件系统时,需要时刻注意风险管理和安全防控。在信息技术应用创新建设新环境下,同样要拥抱开源、开放创新,协同软件公司产金联合,为新建设添砖加瓦,实现真正的可控。

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