金融科技企业该如何利用“开源”与“开源软件”?
在大规模的金融科技企业中,开源软件可以使用到哪个层级?是在无关紧要的工作中为技术控添加一些亮点,还是可以深入核心为金融科技企业的建设添砖加瓦?
“开源软件”和“开源”
我们常常会混淆这两个概念。
开源软件,是软件源码可以任意获取的计算机软件,任何人都能查看、修改和分发他们认为合适的代码。开源软件依托同行评审和社区生产,皆以分散、协作的方式开发。—红帽官网
开源,源于开源软件生产的运行和工作方式,它是一种基于去中心化、自组织式的软件开发模式运作的工作方式。它以社区作为根基,通过开放、透明、协作几项原则开展的活动。
事实上,“开源软件”和“开源”这两个命题对于一家金融科技企业的成功都非常重要,前者是一类软件产品,我们要用它;后者是一种新的生产关系,我们要实践它。对于金融科技企业,开源软件的使用无法避免,开源实践也需要积极尝试。本文接下来的篇幅里就谈一谈金融科技企业该如何使用开源软件。
拥抱开源软件
“开源软件正在吞噬世界”!在开源软件的世界中,有众多优秀的开源项目,能够被软件开发者轻松的复用和集成。一直以来,金融科技企业对于开源软件并不陌生,Linux操作系统、Tomcat服务器等都在金融科技企业中大量广泛使用,值得注意的是,传统的银行IT对于开源软件的使用往往是需要通过第三方商业厂商来引入,银行IT会专注于构建自身的应用服务,商业厂商则会关注于开源软件商业版本的维护、升级和支持等工作。
开源软件→ 第三方厂商→ 银行IT使用
随着金融科技企业的业务范围进一步打开,业务需求的多样性和交付时效的要求不断提升,传统的“闭源软件服务-开源软件内核”的软件使用方式已经不能够满足金融科技企业的使用需求。金融科技企业需要进一步拥抱开源软件的使用。
开源软件→ 金融科技企业使用
使用路径的缩短意味着更多的开放度和更多的挑战,同时也带来了更多技术硬核能力提升的机遇。金融科技企业需要在借助众多功能如此丰富的开源软件来构建自身的核心业务系统的同时,需要很好地解决好开源软件带来的多版本、维护升级、漏洞攻击、法律边界等风险问题。正如一支带刺的玫瑰,在欣赏她的美好的同时也要小心防备被她扎伤。
开源管理办公室
对于如何用“好”开源软件,谷歌、微软等科技企业通常是通过“开源管理办公室”来解决这个问题。开源管理办公室是一个中心化的组织机构,它的重要职责之一就是在开源软件代码与企业的商业产品代码相结合时,确保企业自身权益得到保障的同时履行相应的法律义务。开源管理办公室的人员构成通常需要包括技术负责人、产品负责人、法律专员和开源程序经理等角色。办公室会结合政策规范和技术能力帮助企业内部的所有产品更“好”地使用开源软件。通常来说,当一个企业产品需要集成使用开源软件时,开源管理办公室需要通过源码扫码、法律审查和架构审查等方面帮助产品进行使用前必要的检查。
源码扫描
开源软件使用检查通常是从源码扫描开始。对于每次代码集成,都可以启动对于开源软件使用的源码扫码。扫描完成后可以从中得到软件物料清单(BoM)、有效许可证,许可证文本和义务摘要、许可冲突需要由法律进行验证、文件清单、识别文件等信息。源码扫码是开启开源软件源码使用的第一步。在完成源码扫描在这个阶段主要是根据源码扫码的结果,来进行一些基础问题的识别,比如不兼容的许可证等。
法律审查
在法律审查阶段,此阶段的目标是产生合规性法律意见,并确定所涉及软件组件的传入和传出许可。在法律审查过程中,通常需要注意许可信息(通常可在COPYING或LICENSE文件中获得开源软件组件的许可信息)之外,您还需要捕获版权和所有权声明。此信息将在您的产品文档中提供适当的属性。
架构审查
在体系结构审查中,合规官和审核团队或开源审查委员会的工程代表对开源,专有和第三方代码之间的交互进行分析。这需要检查审核:开源组件(“按原样”使用或修改)、专有组件、源自第三方软件提供商的组件、组件依赖性、通讯协议、特定软件组件与之交互或依赖的其他开源软件包,尤其是如果它受其他开源许可证约束。
审查之后
每次的开源代码的集成审查能够帮助企业形成一个很好的合规计划,但是这些还不足以帮助一个金融科技企业很好地驾驭开源软件。从一个更长的生命周期来看,每次的审查结果和经验、开源软件在使用过程中的版本漏洞、Issue的跟踪情况、新版本的发布情况、开源社区的动态都需要将信息流汇聚,在长期的研发过程中,提供给企业内部广大的开发者,提升开源软件使用的能力。
以慢制快
开源合规性是软件开发过程的重要组成部分。金融科技企业也可以通过开源软件的使用获得巨大的技术提升和商业收益,一方面,开源软件的使用能够很好地培养企业自身的技术能力,通过深入的源码级别的使用和集成不断地掌握基础技术的核心能力;另一方面,开源软件的规范使用降低了软件开发的成本,并且可以提升OEM和下游供应商的所在的整个软件供应链的合规性,还能在技术社区收获足够的信任度。
或许开源使用合规性的话题在科技巨头企业已经形成一套完整的方法论和实践闭环,但对于大部分银行系金融科技企业来说这还只是刚刚开始。当前,一套完整的系统动力图:“开源软件使用→ 企业商业收益→ 参与开源建设→ 加强开源软件使用”已经呈现在我们的眼前。作为刚开始起步探索开源软件的金融科技企业来说,在找到正确的方向以后,就是需要从小处着手,通过一步步地、“慢慢”地实践开源软件的规范使用开始,推动这个系统动力图正向运转。
“欲成霸业必先与泥土为伴。”
本文转载自金科优源汇,作者阿山
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Qt 开发者讨论将 Qt 5 代码移植到 Qt 6 的工具
虽然 Qt 作为开源项目的未来还不太清楚,但现在看来一切都在顺利推进中。Qt 开发团队的邮件列表显示他们正在讨论一个将 Qt 5 代码移植到 Qt 6 的工具。此工具基于 Clang,可帮助开发者自动将所有 Qt 5 语法转换为与 Qt 6 兼容。 如果这个工具能够在很大程度上将大多数 Qt 5 代码转换为 Qt 6 兼容的用法,那么它就可以极大地帮助提升 Qt 6 的采用率。 Qt 公司的 Vitaly Fanaskov 认为官方应该提供基于 Clang 的工具,将用户的代码库(半)自动移植到新版本的 Qt 上。这些工具可能还需要具备对代码进行修复的功能,或者至少在可能存在问题的地方添加一个注释,以便用户对代码进行修正。修改 API 的开发者也应该为这些工具实现一个规则。当然也需要稍微调整一下 API 设计指南。 如果确实能够(半)自动将 Qt 5 代码转换为 Qt 6 代码,或者至少降低编码的门槛,这无疑是一个有趣的概念。LLVM/Clang 已经被用于自动代码格式化、代码翻译和其他创新用例,所以这并非不可能的事情。但目前还没有人真正写出这个实用程序,也不清楚 Qt 公司自己是否打...
- 下一篇
微软发起“开放数据运动”,旨在解决“数据鸿沟”
微软发起了一项“开放数据运动”,旨在帮助解决迫在眉睫的“数据鸿沟”,并帮助各种规模的组织实现数据的利益以及它所支持的新技术。 针对“数据鸿沟”一说,微软方面做出解释称,尽管数据和 AI 有了巨大的增长,但这些技术仅集中在少数公司中。例如,在线互动中生成的数据的 50% 是由不到 100 家公司收集的。少数公司可以实现数据和人工智能的优势,而其他行业则被抛在后面。 并表示,“这种数据鸿沟给社会带来了严峻的挑战,如果不加以解决,可能会导致巨大的经济力量流向少数几个国家和公司。例如,根据当前趋势,普华永道(PWC)预测,人工智能产生的经济价值中约有 70% 会累积到两个国家:美国和中国。但是我们认为,不断增长的数据鸿沟是不可避免的。通过做更多的工作来开放和共享数据,组织可以释放价值,共享专业知识并使数据对所有人都更有用,从而使每个人都能以自己无法承担的方式受益。通过现在采取行动并团结起来,更多的各种规模的民间社会组织,政府和企业将能够实现数据的全部价值。” 根据介绍,这项新计划将分三个阶段进行: 首先,微软将发布有关如何处理与他人共享数据的原则。 其次,他们计划到 2022 年启动基于协作数...
相关文章
文章评论
共有0条评论来说两句吧...