开发者社区> 平生栗子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

OSCAR 分享之蚂蚁开源治理的方法和实践

简介: 用不用开源技术不再是个问题,如何用好开源技术才是
+关注继续查看
OSCAR 是开源产业大会,学术界、产业界共同探讨开源的使用、共享和治理等相关话题,2022 年的开源产业大会于 2022 年 9 月 16 日在北京成功举办,大会上蚂蚁技术专家才楚做了关于蚂蚁开源治理的方法和实践主题分享,此文进行了一些总结。

1.jpg

1.开源治理的必要性

用不用开源技术不再是个问题,如何用好开源技术才是,这是这些年来大家普遍的共识。应用云原生化之后,发布到线上的制品中超过 90% 的代码是非开发人员编写的代码,而是框架、组件、库等。研发的主要工作从「代码编写」进化到了「接口编排」,在大幅度提升了效率的同时,开源技术的风险随着大规模自动化的持续交付流水线进入了线上生产环境。即使事后定位到某个组件的问题,影响分析、稳定性保障、版本升级都是非常大的难题。

近年 fastjson、log4j 这些高危远程执行漏洞,GPL 协议引起的诉讼等问题都说明这类问题发生的必然性,并且此类问题造成的损失十分巨大,此前认为开源技术和免费技术是一回事的观点必须要抛弃了,尤其是对风险敏感的金融相关技术研发组织。

2.数据驱动的治理

开源治理的难点主要在于没有数据:

  • 在治理决策时,不清楚用了哪些开源组件、不清楚开源组件的开源风险现状是什么、不清楚开源组件被谁在用
  • 在治理执行时,开源治理规则没有地方统一管理、治理规则无法动态分发、治理进展无法数据化跟踪

2.png

所以,我们需要使用制造业供应链管理的理念:

  • 对使用了哪些原材料需要有清单
  • 这些原材料如果有质量问题则需要记录
  • 知道这些原材料哪些产品在用(便于交付前质检和交付后溯源、审计)

因此,开源治理时必须要达到的四目标:

  • 知道研发组织使用了哪些开源组件
  • 知道开源组件的风险分析结果
  • 知道开源组件被哪些应用在使用
  • 能够高效、精准地形成持续交付管控切面,必要时阻断

3.开源治理的工具

数据驱动的治理的关键在于需要工具能在研发活动中,将风险通过研发工具透出给开发者,并辅助开发者处理。

3.png

4.蚂蚁的治理实践

4.png

从治理决策出发,持续治理执行和治理评估,研发人员和治理规则定义者之间保持持续迭代的关系,通过辅助工具,如 IDEA 自定义快速检查功能和 SmartUnit 保障代码单元测试质量。

  • 治理决策,基于现状定义治理目标、流程管控规则
  • 治理执行,线上存量问题、线下增量问题联动治理
  • 研发体验,尽量在研发最早期提示风险和辅助用户升级

5.png

在治理决策时,通过 10 个指标明确风险现状,定义治理头部组件/应用,定义出治理规则,这些清单数据来自于构建活动中通过 SCA 工具收集的数据,统一制品库对接开源组件风险分析工具提供的接口,拿到风险分析结果并以制品元数据的形式进行持久化,前端查询展示为数据大盘。

6.png

在治理执行时,治理规则统一管理,通过数据大盘可以了解到当前运行了哪些规则、规则分类、规则分级以及应用响应的情况等,这些数据能够和 Rule enforce 客户端互动,客户端在执行 enforce 的时候通过 API 从管理端拉取最新规则,在 IDEA 本地执行校验。

7.png

在开发者本地,通过 IDEA 自定义功能菜单的方式就可以快速执行检查,当然命令行手动执行命令检查同样是支持的,在流水线中同样是支持的。这种动态规则的拉取是蚂蚁对 apache maven enforce plugin 进行了深度改造定制实现的,通过这个客户端可以透出升级操作指引给开发者,辅助开发者操作。

8.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
蚂蚁金服开源-SofaRpc源码学习篇
一个service,一个client,一个注册中心。 service注册自己到registry注册中心,包括service-name,还有相应的ip,port,然后client去监听注册中心,然后拿到service的地址,调用的时候会通过生成一个代理,去invoke调用结果返回
162 0
百度网址安全中心提醒您该页面可能存在钓鱼欺诈信息处理解决办法
2018年8月份初正值炎热酷暑的夏天,我们sine安全公司接到新客户的安全反映,说是他们公司网站首页标题被黑客篡改成赌博的内容,导致网站在百度搜索里红色风险提示,百度快照搜索关键词显示:百度网址安全中心提醒您:该页面可能存在钓鱼欺诈信息!而且网站在百度收录里,收录了许多赌博,博彩内容的百度快照,直接导致网站被主机服务商,给拦截阻断提示,直接打不开网站了,要求该客户自行检查网站的内容以及违规内容生成的文件和目录.
193 0
「免费开源」基于Vue和Quasar的前端SPA项目crudapi零代码开发平台后台管理系统实战之元数据导出导入(十五)
本文主要介绍了元数据表单的导出导入功能,可以用于日常元数据表单备份,也可以分享给其他系统进行导入,以达到复用的目标。后续可以利用元数据导出导入功能配置一些常见的业务表单,比如电商、CRM、教育等领域,然后将这些业务表单导出供用户下载和使用。
84 0
蚂蚁自研数据库OceanBase首次阐述战略:继续坚持自研开放之路 开源300万行核心代码
在数据库OceanBase3.0峰会上,蚂蚁集团自主研发的分布式数据库OceanBase首次从技术、商业和生态三个维度对未来发展战略进行了系统性阐述。同时,OceanBase宣布正式开源,并成立OceanBase开源社区,社区官网同步上线,300万行核心代码向社区开放。
5230 0
蚂蚁金服开源 SOFAJRaft:生产级 Java Raft 算法库
什么是 SOFAJRaft ?SOFAJRaft 是一个基于 Raft 一致性算法的生产级高性能 Java 实现,支持 MULTI-RAFT-GROUP,适用于高负载低延迟的场景。
1647 0
蚂蚁金服开源 SOFAJRaft:生产级 Java Raft 算法库
SOFAJRaft 是一个基于 Raft 一致性算法的生产级高性能 Java 实现,支持 MULTI-RAFT-GROUP,适用于高负载低延迟的场景。
5151 0
基于django的视频点播网站开发-step9-后台视频管理功能
从本讲开始,我们开始视频管理功能的开发,视频管理包括视频上传、视频列表、视频编辑、视频删除。另外还有视频分类的功能,会一同讲解。这一讲非常重要,因为你将学习到一些之前没有学过的技术,比如大文件上传技术。
1620 0
遇到百度网址安全中心提醒您该页面可能存在钓鱼欺诈信息的处理解决办法
2018年8月份初正值炎热酷暑的夏天,我们sine安全公司接到新客户的安全反映,说是他们公司网站首页标题被黑客篡改成赌博的内容,导致网站在百度搜索里红色风险提示,百度快照搜索关键词显示:百度网址安全中心提醒您:该页面可能存在钓鱼欺诈信息!而且网站在百度收录里,收录了许多赌博,博彩内容的百度快照,直接...
2239 0
+关注
文章
问答
来源圈子
更多
蚂蚁以“为世界带来更多平等的机会”为使命,致力于通过科技创新能力,搭建一个开放、共享的信用体系和金融服务平台,为全球消费者和小微企业提供安全、便捷的普惠金融服务。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
蚂蚁开放技术路线及行业实践
立即下载
阿里巴巴研究员刘国华:阿里巴巴智能运维体系建设
立即下载
蚂蚁开放平台技术路线及行业实践
立即下载