写点什么

微众开源:从聚木成林到生态领先

  • 2020-12-21
  • 本文字数:5994 字

    阅读完需:约 20 分钟

微众开源:从聚木成林到生态领先

1991 年,Linux Torvalds 发出第一封宣布 Linux 开源的邮件;1998 年,OSI 给出了开源软件的明确定义;2011 年,网景创始人 Marc Andreesen 提出了“软件正在吞噬世界”的说法。


今天,我们可以毫不夸张地说,“开源软件正在吞噬世界”。一方面,全球开源项目呈指数级增长。据 GitHub 年度报告数据显示,截至 2019 年,GitHub 托管仓库已有 1.4 亿,仅 2019 年新增仓库就达 4400 万个,创建第一个项目的用户比 2018 年增加 44%,有 130 万开发者对开源做出首次贡献。另一方面,参与开源生态的企业数量激增。截至 2019 年,GitHub 参与的企业数接近 300 万。此外,开源组织也得到快速发展,比如在全球 2000 家软件和电信公司中,超过一半是 Linux 基金会和项目的成员。


事实上,开源在今天已经成为大势所趋。第一,开源技术已在多个重要领域成为主流,逐步形成强大的生态链条,比如云计算领域的 Kubernetes、OpenStack,移动互联网领域的 Android,人工智能领域的 Tensorflow 等。第二,开源代码规模正在飞速增长。


用微众银行区块链首席架构师张开翔的话说,“开源已经席卷一切。开源是软件的未来,我们一定要拥抱未来。”


成立于 2014 年 12 月的微众银行(WeBank)是国内首家民营银行、互联网银行。作为一家成立仅六年的民营银行,微众银行为何做开源?其开源布局是什么?其开源生态为什么能遥遥领先?


开源初心:开放


微众银行成立时,张开翔尚就职于腾讯,并未想到自己会参与到微众银行分布式商业的大潮中。2015 年,张开翔加入微众银行,工作重心转到区块链技术上。加入伊始,整个团队只有 3 个人。据他回忆,虽然人不是很多,但都是“精兵强将”。从研读论文到代码实现,经过一段时间的研究,团队得出结论:区块链技术具有很强的发展潜力。


此后,微众银行开始投入更多的资源和人力去研究和探索区块链的实际应用。2016 年,区块链团队从 3 个人增加到 9 个人。同一年,微众银行联合深圳市金融科技协会、深圳证券通信有限公司等 20 多家金融机构和科技企业,在 2016 年 5 月共同发起成立金链盟(深圳市金融区块链发展促进会),并牵头联合金链盟内多家成员机构组建开源工作组,共同研发金融级联盟链底层技术平台 FISCO BCOS。


2017 年 12 月,FISCO BCOS 正式对外开源。为什么要开源?据张开翔解释,一方面,“我们的技术研究有了一定的基础,并且已经在很多业务场景去应用区块链技术,比如对账业务等”。张开翔表示他对微众银行区块链落地的首个案例依旧印象深刻,那是一个跨合作银行的对账业务。银行传统对账是 T+1 或 T+2 模式,即这一天产生的流水要在晚上批量处理,到了第二天或第三天才能完成对账。采用区块链技术后,银行间交易数据秒级同步,实现 T+0 准实时对账,达到交易即对账的效果。这个案例标志着微众银行区块链技术正式进入金融级生产系统,可以继续推广。


另一方面,整个行业当时非常缺乏区块链的基础技术,做应用的需要好用且稳定的区块链底层平台,做研究的需要在开放的工程框架中进行实践验证,“我们本着一种开放、共享的精神,愿意把这个技术开源出去”。


关键在于,他认为这本质上是一个哲学问题,“区块链既然用以传递信任,就需要从技术到运作模式再到商业模式,打造立体化的信任,细到一行代码,一个算法,一份智能合约。如果代码是个黑盒子,很难自证清白。”


开源以来,FISCO BCOS 成为区块链中最耀眼的开源项目之一,汇集超 40000 名个人开发者、逾 2000 家企业及机构共同参与区块链产业生态的构建。开源生态内已经有数百个应用项目基于 FISCO BCOS 研发,遍布司法、金融、政务、版权、游戏、供应链物流、农业等多个领域,其中超 120 个应用在生产环境中稳定运行。2019 年 12 月,FISCO BCOS 被纳入国家级人才评价体系,工信部人才交流中心发布全国首份区块链岗位权威标准《区块链产业人才岗位能力要求》,明确要求各岗位人才需熟悉掌握 FISCO BCOS 区块链底层技术。


从 2015 年加入微众银行,张开翔见证了微众银行区块链开源的发展历程。


在张开翔看来,微众银行开源有一个初心——开放。“开放是我们坚持的方向,开源是我们开放的一种形式。我们通过开源的方式去触达行业伙伴,让整个产业和生态用上我们的成果,然后大家一起发展生态,建立共生的关系。”


超五成科技人员关注开源


最近十年,移动互联网、分布式、智能化等技术蓬勃发展,让我们开始走进数字社会和数字经济的新时代,也隐约为我们指明了未来商业变革的趋势和方向。其中,一种可能的趋势和方向是分布式商业。


微众银行开源管理办公室负责人钟燕清在采访中介绍道:“微众银行在 2017 年提出分布式商业,分享对未来人类社会商业模式的理解。” 微众银行认为,分布式商业是一种由多个具有对等地位的商业利益共同体所建立的新型商业模式,是通过预设的透明规则进行组织管理、职能分工、价值交换、共同提供商品与服务并分享收益的新型经济活动行为。


在实现分布式商业的宏伟蓝图中,微众银行的定位是什么,怎样促进和加速分布式合作伙伴的连接?


2019 年 5 月,微众银行正式成立开源管理办公室,更系统、更大力度地在公司内部推广开源文化,并在开源治理、项目运营等方面形成微众银行的管理办法和经验总结。


对一个开源项目来说,最怕“半路夭折”,因此其持续性发展需要得到保障。为此,微众银行用激励牵引,建立开源激励体系,让技术人员有动力持续参与开源项目。迄今,已有超过 700 名微众银行员工拥有 Github 账号,约占其科技人员总数的五成,关注开源、贡献开源已成为微众银行科技员工的日常。


在开源生态中,仅有开源文化和开源治理体系是不够的,还需要项目运营孵化,因为它才是成功的关键。当开源项目发起者贡献出自己的开源项目后,需要建设开源项目社区,促进开源项目良好发展。钟燕清表示:“谈及我们在开源方面的价值观,第一是开放透明,第二是积极拥抱社区,积极与上下游社区融合。我们认为社区是一个自治体系,是一个自组织,具有自由、民主、平等的特点,社区参与者既可以利用社区开源技术和解决方案,享受社区发展成果,也能反馈社区,为社区做贡献。”


以 FISCO BCOS 社区新鲜出炉的开源贡献为例,李海滨是上海新致软件股份有限公司的一名运维架构师。工作中,他最关注的是一个项目如何高效简便地复用、部署和落地。据他观察,FISCO BCOS 技术文档中的企业级部署操作存在可优化空间,比如官方文档操作流程多处需要手动输入命令,在更大规模部署场景中,这些操作次数会呈几何级增长,出错几率也会随之增加,最终带来运维人员工作量的大幅增加。为优化部署体验,他们编写了一套 Ansible 脚本,让部署更高效、更具有弹性,大大节约运维人员的时间。


最后,李海滨团队将 Ansible for FISCO BCOS 开源以回馈社区。


开源成果:聚木成林,全面开花


开源管理办公室成立 2 个月后,微众银行有了更大的开源动作:在 2019 年 7 月举办的金融科技日上,微众银行副行长兼首席信息官马智涛表态,全面开源!


微众银行一口气发布 10 款开源的技术、应用以及战略解决方案。某种意义上,这释放出了一种更大力度、更高要求、更全面整体开源的信号。


什么是全面开源?张开翔对此表示,“全面开源就是从底到上,所有的东西都是开源的”。以区块链为例,我们可以看到微众银行区块链一揽子开源解决方案,从底层平台到中间件平台再到数据隐私保护、消息协作、分布式数字身份和通用跨链、数据治理等技术,陆续还有更多项目进入开源版图”。


全面开源的第二个特点是彻底开源。“不管是社区版本,还是我们生产环境使用的版本,都只有一个开源版本。我们不存在一个东西有‘阉割版’,在开源态度上,我们没有什么保留的。”钟燕清说。



微众银行开源布局


回顾微众银行的开源历程,钟燕清觉得用微众银行副行长兼首席信息官马智涛先生的一句话形容非常恰当,“厚积薄发,聚木成林”。据他介绍,宣布全面开源到目前为止,微众银行发布 27 个开源项目,累计 110 多个代码仓库,涵盖人工智能、区块链、大数据、云计算和大前端等多个技术领域。总之,全面开花。


在微众银行开源的“万花丛”中,除了区块链系列开源成果之外,人工智能、大数据、云计算等领域也有几个项目格外引人注目。第一个就是 FATE。它是微众银行人工智能团队自主研发的全球首个工业级联邦学习框架,于 2019 年 2 月正式对外开源。FATE 提供基于数据隐私保护的分布式安全计算框架,为机器学习、深度学习、迁移学习算法提供高性能的安全计算支持,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和建模。


据微众银行人工智能资深研究员、FATE 技术负责人范涛介绍,2018 年 3 月,微众银行 AI 团队就开始投入到联邦学习的研发中,并且在一些实际业务场景中进行应用。2018 年 10 月,人工智能团队决定开源联邦学习系统。“但是开源对代码质量和代码风格都有很高的要求,所以我们在 10 月份决定重构之前的联邦学习系统,并取名 FATE。” 范涛表示。2019 年 1 月,微众银行发布 FATE 第一个开源版本。同年 6 月,微众银行将 FATE 捐赠给 Linux 基金会,并成为 Linux 基金会黄金会员中唯一的中国金融机构。


通过开源,FATE 的核心仓库数量从 1 个增加为 6 个。它在 GitHub 上的 Star 数超过 2500,commit 超过 6000 次,内外部的 contributor 超过 40 位,累计覆盖的组织超过 530 家。同时,它还成为腾讯云安全联邦学习产品、腾讯云神盾产品、京东、银联等多个公司的联邦学习产品基础框架,合作企业也超过 20 家,覆盖互联网公司、金融机构、大数据公司和传统企业以及 210 家高校。


其后,他们在 FATE 的基础上,还推出了联邦可视化平台 FATEBoard、联邦在线推理平台 FATE-Serving、联邦云平台 FATE-Cloud 和联邦推荐平台 FedRec 以及 FATE 云原生部署解决方案 KubeFATE,通过这一系列的产品去满足实际的工业需求。“我们希望通过 FATE 去解决当前跨机构之间的数据合作的困境,让跨机构之间的数据合作变得更加安全合规。所以我们聚焦联邦学习研发,并且逐渐推出一系列开源的产品,让整个技术从一个理论变成实际,”范涛介绍道。


目前 FATE 已在信贷风控、客户权益定价、智慧零售、智慧医疗、监管科技等领域推动应用落地。例如采用纵向联邦学习,通过 FATE 系统,联合了银行,互联网科技公司,小贷公司的各个数据进行联合建模,预测信用风险;采用横向联邦学习,通过 FATE 系统,联合了各家银行,保险公司各家数据进行反洗钱检测某种程度上,FATE 如今已领跑联邦学习行业发展,并且其技术社区的发展与商业化发展的成熟度均位于行业最前沿。


而在大数据领域,微众银行开源的 WeDataSphere 也早已“成名”。微众银行将一套一站式、金融级、全连通、开源开放的大数据平台套件 WeDataSphere 于 2019 年开始逐步进行了开源,并陆续开源了计算中间件 Linkis、IDE 工具 Scriptis、数据开发管理门户 DataSphereStudio、数据质量工具 Qualitis、以及基于宜信 Davinci 二次开发的 BI 工具 Visualis 等 5 个核心组件。2020 年又开源了调度工具 Schedulis、数据交换工具 Exchangis、云原生机器学习平台 Prophecis 3 个组件,形成了业界领先的大数据开源生态。


目前 WeDataSphere 这套方案,受到了各个行业的广泛欢迎,试用的企业已经达到了 500 多家,已经反馈投产的企业的有 40 多家,涉及互联网、金融、通信等行业。有近 1000 多的用户申请沙箱试用环境,Linkis 和 DataSphereStudio 两个项目在 2019 年获得了 Gitee GVP(最有价值开源项目)称号。


云计算方面,微众银行将自身内部业务系统与银行核心系统中广泛应用的云计算技术以及分布式架构设计进行提炼,通过对底层具体的云平台实现及云资源进行抽象,将适用于云计算平台的资源管理与架构管理方法、实践以及配套工具进行了开源输出,形成了面向 IT 架构管理与资源管理的开源产品 WeCube。


目前,借助于插件式的功能扩展机制,WeCube 实现了针对云上数据中心的快速搭建,支持从架构设计、资源创建、应用部署、持续监测到智能调整的 IT 系统全生命周期管理,极大简化了 IT 系统在云计算平台上的实施过程的复杂度,并且通过强化架构设计的合规实现了应用系统在云平台上实施的规范化与标准化。


厚积薄发,生态领先


一片森林的形成,土壤是基础,关键在于长出繁茂的树木。这个道理同样适用于良好的开源生态。它不仅要有开源项目、开源社区,而且还需要去连接合作伙伴。


对微众银行来说,社区基于开源技术和开源生态,用技术构建基础设施,并通过社区去触达合作伙伴,在生态里建立连接与合作。


正如张开翔所说,“我希望社区能‘长出’更多标杆性的应用,不只是我们自己做。而是在保持稳定和合规的前提下,怎么帮助更多的应用发展起来,体现这个技术的价值。” 而受益于开源社区的发展,正有越来越多的合作伙伴受益于开源,并基于开源技术自主落地应用。


比如,近年食品安全问题频发,尤其在新冠疫情期间,海鲜、冷冻畜牧产品的入口安全成为大众关注焦点,追溯、确保相关产品生产、运输、售卖等环节的信息真实、有效,成为保证食品安全的核心环节。然而,实际溯源过程中,生产、流通、售卖各环节相对割裂,各个主体之间信息冗杂,上传者行为缺乏监督,都给信息追溯带来不小困难。


在这个大环境下,浙江天演维真网络科技股份有限公司基于 FISCO BCOS 开发出一套“农业产业全过程溯源云平台”,用于追溯、确保相关产品生产、运输、售卖等环节的信息真实,做到真正意义的“溯源”,并入选了首批“BSN 官方指定应用”。



天演维真团队


天演维真 CTO 易飞曾表示,之所以选择 FISCO BCOS,是看中 FISCO BCOS 易用性高、学习成本低、部署方便的优点,同时在开发语言、开发环境搭建、多框架业务模式、智能合约版本储备、交易开销上均丰富积累。


再比如,中国电信天翼云作为位列全国头部的云服务商,也作为“国家队”的一员,在全国具备很大的硬件资源池,未来将大数据在云上部署是大势所趋。然而,根据天翼云大数据团队反馈,中国电信以前缺乏对内的大数据统一的一个入口,而大数据开发与服务平台这一领域,目前国内微众银行大数据团队开源的 WeDataSphere 社区无论在技术架构层面还是社区运营层面是行业领先的。


于是,中国电信天翼云大数据团队选择了大数据一站式开发平 DataSphere Studio,在通过其内部测试使用后,其负责人提出了把 DataSphere Studio+Linkis 改造成公有云版本的建议,项目历经两个多月改造完成并上线。天翼云的开发工程师在社区活动采访中表示,我们能积极的参与到开源项目当中,进入从使用开源软件到反哺开源社区的全新阶段,也希望有更多的公司加入 WeDataSphere 社区并且一起体验,促进产品迭代与人员交流,惠及开源社区。


写在最后


开源正迎来一个最好的时代,也蕴含无限的可能。长达六年的开源探索与实践,不仅让微众银行在开源领域取得丰硕成果,成为开源先行者,而且让它跳出了传统银行的发展模式,找到了一条新道路——以掌握自主安全可控的核心技术为基础,以开源为基调,持续创新,保持敏捷,与合作伙伴共同探索未来的无限可能。


2020-12-21 14:157783
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 360.1 次阅读, 收获喜欢 1802 次。

关注

评论 4 条评论

发布
用户头像
2020-12-28 15:43
回复
用户头像
既然说开源,那么代码仓库的地址一个也没有?
2020-12-27 11:51
回复
2020-12-30 11:49
回复
用户头像
好几个项目都听过,
FATE实际用过模仿过,🐂。
2020-12-21 16:02
回复
没有更多了
发现更多内容

权限认证与授权三问三答

浅羽技术

框架 CSRF 认证授权 权限验证 8月月更

Spring @Repository 注解

HoneyMoose

最常见的ES面试核心问答知识点

浅羽技术

搜索引擎 倒排索引 ES Elastic Search 8月月更

Hash 算法详细介绍与实现 (二)

迷彩

php 数据结构 hash算法 8月月更 Hash表

自定义 Hero 动画的路径

岛上码农

flutter 前端 移动端开发 安卓开发 8月月更

低代码实现探索(四十九)重新梳理前端

零道云-混合式低代码平台

头脑风暴:翻转数位

HelloWorld杰少

算法 LeetCode 8月月更

SpringCloud 服务的拆分及远程调用

微服务 SpringCould 8月月更

Grafana Labs CEO 关于 Grafana Mimir 的问题答复

Grafana 爱好者

Mimir

(WebFlux)003、多数据源R2dbc事务失效分析

编号94530

spring 事务 spring-data-r2dbc 多数据源 SpringWebflux

Spring @Autowired 注解静态变量

HoneyMoose

React实战之数据流方向与项目初始化

恒山其若陋兮

8月月更

分布式事务常见面试题解答

浅羽技术

分布式事务 事务 TCC 两阶段提交改进 8月月更

[JS入门到进阶] 前端开发不能写undefined?这是误区!

HullQin

CSS JavaScript html 前端 8月月更

关键软件密码应用研讨会|海泰方圆国产浏览器密码应用分析研究

电子信息发烧客

8月书讯 | 10 本新书上市,本本精选

图灵教育

leetcode 647. Palindromic Substrings回文子串(中等)

okokabcd

LeetCode 算法与数据结构

【设计模式】Java是如何制作月饼的——制作、下单和售卖

小明Java问道之路

设计模式 工厂模式 策略模式 模板方法模式 8月月更

想不到吧,Mysql在项目中的优化场景这么多

知识浅谈

sql 8月月更

Python 教程之数据分析(2)—— 探索性数据分析

海拥(haiyong.site)

Python 8月月更

每日一 R「17」类型系统进阶(一)

Samson

学习笔记 8月月更 ​Rust

常用消息中间件对比

浅羽技术

RocketMQ MQ 消息队列 Rabbit MQ 8月月更

论企业级微服务架构必备能力

穿过生命散发芬芳

微服务架构 8月月更

带你揭秘华为5G为何地表最强

乌龟哥哥

8月月更

Spring @Autowired 注解静态变量

HoneyMoose

让数据成为企业核心生产力

IT资讯搬运工

云原生、云支持与基于云

CnosDB

时序数据库 开源社区 CnosDB infra

【设计模式】什么是单例模式,怎么用,优缺点

小明Java问道之路

设计模式 单例模式 线程安全 枚举 8月月更

云原生(二十八) | Kubernetes篇之自建高可用k8s集群搭建

Lansonli

云原生 k8s 8月月更

Spring 最常用的几个注解

HoneyMoose

聊聊实际使用的电源转化电路,分享一些不同场合下的转3.3V电路

矜辰所致

电路设计 8月月更 电源转化

微众开源:从聚木成林到生态领先_开源_万佳_InfoQ精选文章