HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

  • 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:157708
用户头像
万佳 前InfoQ编辑

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

关注

评论 4 条评论

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

RoCE多网卡时,报文可以过去,但是回不来

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

线程的生命周期和常用方法

Java你猿哥

源码 jdk 线程 多线程 Monitor

Go 语言 map 是并发安全的吗?

AlwaysBeta

Go 面试 map

Nautilus Chain上线主网,为DeFi和流支付的未来构建基础

BlockChain先知

腾讯T8架构师基于SpringBoot2.x搭建分布式架构

做梦都在改BUG

Java spring Spring Boot 框架

首页推荐!阿里大佬带你一周刷完Java面试题1700页,offer拿到手软

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

WritingGPT: 基于ChatGPT和AutoGPT打造个人写作团队

俞凡

人工智能

分布式事务的21种武器 - 6

俞凡

架构 云原生

如何通过Python将JSON格式文件导入redis

华为云开发者联盟

Python redis 华为云 华为云开发者联盟 企业号 5 月 PK 榜

一个字牛!腾讯大牛把《数据结构与算法》讲透了,带源码笔记

程序知音

Java 数据结构 算法 后端 数据结构与算法

mac端摄影师青睐软件:ON1 Photo RAW 2023.5 中文激活版

真大的脸盆

Mac Mac 软件 图像编辑 编辑图像 照片编辑

京东首席系统架构师教你如何搭建高可用高并发系统架构

做梦都在改BUG

Java 高可用 系统架构 高并发

腾讯T4大牛整理的SpringBoot文档,覆盖你认知中的所有操作

程序知音

Java 架构 微服务 springboot Java进阶

SpringBoot 整合 MyBatis 组合 Redis 作为数据源缓存

Java你猿哥

Java redis Spring Boot mybatis ssm

公司来了一个腾讯做优化的大佬,三下五除二让我程序快了200%

做梦都在改BUG

Java 性能优化 JVM 性能调优

解决缓存与数据库数据不一致的问题,这篇文章告诉你如何做!

做梦都在改BUG

Java 数据库 缓存 一致性

未来边缘计算:趋于分布式智能

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

GaussDB(DWS)条件表达式函数返回错误结果集排查

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

不止缓存!Redis这16种妙用你可能没见识过……

Java你猿哥

redis 缓存 分布式 消息队列 全局唯一ID

PoseiSwap  参赛,参与斯坦福、Nautilus等联合主办的 Hackathon 活动

鳄鱼视界

美团T9大牛总结的神仙微服务架构设计模式PDF

做梦都在改BUG

Java 架构 微服务

火爆Github的1000道Java面试题:无死角打击所有Java面试问题,按这个学,找工作完全没问题!

架构师之道

Java 编程

这个线上BUG,让你彻底搞懂了MySQL的字符集,别问我咋知道的

Java你猿哥

Java MySQL ssm 字符串 字符集

面试官:SpringBoot可以同时处理多少请求?

做梦都在改BUG

Java spring Spring Boot 框架

线程是如何通讯的?

Java你猿哥

Java 线程 多线程 ssm 通讯

Java 修改项目名称及其相关信息

Andy

无惧面试!2023最新最全Java面试手册全网首次开放下载

程序员小毕

程序员 多线程 高并发 架构师 java面试

不愧是阿里巴巴内网的“高并发系统设计”学习笔记,全程不讲一句废话!

采菊东篱下

Java 高并发

Go 语言 map 如何顺序读取?

AlwaysBeta

Go 面试 map

一张图感受真实的 TCP 状态转移

九零后程序员

TCP 网络 Linux Kenel ebpf

Github星标88.8k,阿里新产的Spring Cloud进阶小册!面面俱到

Java你猿哥

Java 架构 微服务 微服务架构 Spring Cloud

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