技术“开源”对于金融业软件发展的影响

2019 年 11 月份 CNBC 的一则新闻,报道了华尔街巨头高盛要把自己投入了14年研发的一个技术平台Alloy以及专门为这个平台所设计的语言,免费、开源共享给华尔街的其他机构。去年更早的时候,高盛也声称把自己的一些交易与风控相关代码贡献到 GitHub(竞争对手摩根大通则已经把一个与区块链相关的技术 quorum 开源到GitHub)。

技术“开源”对于金融业软件发展的影响_第1张图片

不夸张的说,开源软件改变世界 – 不管在一个 App 里面还是在一套交易系统中,都“借力”着不计其数的开源代码库、开源工具。

现在谁敢说自己的软件是一行一行代码从零开始构建?正如高盛的技术负责人 Don Duet 所说,从技术角度看“开源渗透到我们所做的一切事情中”。

金融机构IT研发的痛点

采用第三方的封闭技术,你可能得纠结这几个问题:

  • 传统大厂的技术非常封闭,他们没有开放接口(那是生财工具– 要一个收一个的钱);
  • 他们的古老技术架构也无法承载插件化的订制;
  • 他们不响应你的个性化诉求,用起来很不爽;
  • 小公司的技术你不放心,怕他们改变产品方向甚至终止产品线,或者可能被收购合并甚至关门大吉。总之,基于闭源的技术你害怕被“绑架”。

自研,你也可能纠结这几个问题:

  • 一些与业务非直接相关的底层技术,自己的团队不是缺乏专业性去驾驭就是无法专心专注去做好;
  • 一旦展开,等于给自己挖坑,还得经常面对成本预算方面的质疑;
  • 采用开源技术,又往往没有符合行业特性、针对金融场景直接可用的选择;
  • 学习掌握进行改造的成本高(一旦自行改造,很可能又掉进长期维护的坑)。

除非你是高盛,在一些业务场景需要用到一些基础技术而市场上却没有选择的情况下,自行研发,然后共享到开源社区让同业甚至业外技术人员共同维护与利用,避免了“胎死腹中”的命运。

采购源代码并没有什么大用

首先,“买断源代码”这种做法真的非常、非常过时。

源代码不是固化的、“买断”之后就不变的,因为厂商可能在未来不断升级、不断修复缺陷、不断优化,你买一个“快照”一样的东西,基于它东改西改,很快和原厂的版本分离,厂商无法替你维护,你也享受不到他们在服务行业过程中的优化重构、升级换代。

其次,“买代码”这种事情,相当部分花的是冤枉钱,其实自己并没有资源或者能力去维护,也就是买个“保险”吧。

就算真的要源代码,也不是“买断”,而是买服务 – 例如获得厂商部分公共代码库的访问权,在服务合同时间范围内随时可以抽取最新的代码并可以通过厂商提供的工具、指引能自己进行构建,并且万一自己修改后还可以提交回开发商的代码库供其合并,一句话,就是用源代码版本管理工具及最佳实践管理好行业级、跨机构的互助。

当然,一些开发商也没有这种源代码交付与管理的能力。

你要“买断”?打一个压缩包,作为电邮附件给你发过去,或者找个网盘临时共享一下,或者用 QQ 发送一下…

之后这份代码就和主库彻底告别,再也无法同步。

改变软件的研发、销售与交付方式

越来越多的软件公司,商业模式架设在开源生态之上。如果以向金融机构提供基础性软件技术的企业,是适合这么做的。

怎样算“基础性软件技术”?就是具有行业通用性和针对性、满足金融业务应用需求共性、从众多金融机构的商业场景中总结抽象出来的基础技术层,它往往首先面向金融机构的 IT 研发人员,供其进行订制和二次开发以支撑更上层的业务应用。

以我们公司当前的小程序技术为例,它可私有化部署、配备安全沙箱、客户端 SDK 化可随意嵌入到任何银行和券商的 App 中,它本身还是一个开发平台。这就是针对行业需求量身定做的基础技术。

基础技术适合开源,是一种新的软件生产协作模式,它有以下的商业竞争优势:

  • 通过开源社区,吸引和利用优秀人才。最具前景、最有用的开源项目往往能吸引到最顶级工程师。这其实是一种“杠杆”的利用,也能促进开源产品在社区的快速迭代
  • 有助于获客。如上文所述,很多金融机构采购系统的时候也想获得源代码,这背后的逻辑是担心厂商封闭,让自己不能订制;以及对被某个技术“绑架”的防范 – 万一它忽然终止存在又无法被轻易替换,而分分钟和钱挂钩的业务系统却构建在它的基础之上,这个风险太大。处于敏感位置的基础技术,如即时通讯工具,其源代码开放可审计,也让一些机构对信息安全、数据隐私保护方面放心。开源在现在已经成为一种信心保障
  • 有助于建立商业生态。通过知识产权的开放,让客户以较低门槛采纳,逐渐形成市场规模,并形成社区、建立上下游的合作伙伴,有机会成为 de facto standard (事实上的标准)。Kafka 就是一个好例子,不知不觉中很多金融机构就已经采用了它,技术人员甚至以它的技术概念作为词汇表描述问题与方案
  • 构建在开源之上的软件公司,研发是社区化的协作,不仅有自己的研发人员主导,也有客户开发人员的参与(例如提报缺陷甚至直接修复和提交代码合并),甚至有认同这个技术的互联网技术粉丝的主动加盟。

    销售方式也发生改变,机构更多是从网上获得关于产品的信息、口碑、案例,随时通过社区或者其他社交频道与软件公司发起交流。销售人员可以在线陪伴运行 demo、双向互动。

    而软件的体验门槛非常低,例如我们就采用双 license 制,社区版免费并采用非商业化许可证,而企业版则采用 Copyleft(“著佐权”,见下一篇文章的介绍)许可证或者商业软件许可证。社区版能够让金融机构以最低门槛实现 POC 的原型验证甚至直接使用于商业用途。

    交付方面,源代码我们通过开发者社区交付,部分代码对互联网开放,任何人直接从 GitHub 可以获得;部分对机构客户开放,通过开发者社区可以访问源代码库,拖取被授权获得的分支。

    而软件系统的成品,全部都是基于云原生的技术架构、100% 容器化,用户通过镜像仓库拉取镜像进行自动化部署。这好像是一家汽车制造商的零件仓库,组装工人(IT)一按按钮(跑一个脚本),即把相关的车门、车胎、座椅、方向盘、发动机、外壳等等下载并自动组装。


Finclip小程序开放平台,为企业提供“小程序运行能力”,它作为小程序运行的环境,为小程序提供安全沙箱、代码解析和渲染等服务。 为了让更多 APP 轻松拥有“小程序运行能力”,凡泰极客将“小程序运行时”实现成一个可私有化部署的 iOS 和 Android 版本的 SDK,可以被第三方集成。也就是说,任何 APP 通过嵌入FinClip小程序SDK即可瞬间获得运行小程序的能力。

仅需 5 行代码,即可让你的 APP 快速启动和运行小程序,而且小程序运行时 SDK,Android 端 1.3 兆,iOS端 1.8 兆,轻量无感,同时SDK采用多线程运行方式,极端情况下也不影响宿主 APP 的安全稳定运行。 快来体验吧~现在注册,即可免费上架99个小程序”
技术“开源”对于金融业软件发展的影响_第2张图片

 

 

你可能感兴趣的:(移动开发,容器,app安全,ios,android)