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

相关文章
五分钟带你玩转sonar(五)教你使用SonarLint插件
五分钟带你玩转sonar(五)教你使用SonarLint插件
6037 0
五分钟带你玩转sonar(五)教你使用SonarLint插件
|
7月前
|
存储 搜索推荐 开发者
RAG 文本分块:七种主流策略的原理与适用场景
分块是RAG系统的基石,直接影响检索质量与LLM推理效果。行业共识:“分块决定RAG质量的70%”。从固定大小、句子/段落级,到语义、递归、滑动窗口及层次化分块,策略需匹配文档类型与任务需求。劣质分块导致上下文断裂、噪声激增、幻觉频发——燃料不行,再强的引擎也徒劳。
942 2
RAG 文本分块:七种主流策略的原理与适用场景
|
6月前
|
人工智能 运维 Linux
Claude工程师亲授的Skill构建心法+OpenClaw阿里云/本地部署+千问/Coding Plan配置实战手册
在AI Agent规模化落地的2026年,OpenClaw(Clawdbot)已经成为最主流的开源执行框架,而**Skill体系**正是其真正的核心竞争力。不同于简单的提示词,Skill是一套可维护、可复用、可度量的工作流封装,是将团队SOP、业务规则、执行脚本、模板、约束与埋点能力整合在一起的“能力包”。
1012 0
|
5月前
|
人工智能 IDE 测试技术
AI Agent下半场:比模型更卷的是Skill生态
2026年,大模型正从“技术壁垒”变为“基础设施”,竞争焦点转向Agent落地能力。MCP协议已成事实标准,月下载9700万次;Skill生态则将测试、开发等经验工程化封装,实现能力复用与可持续演进——真正的分水岭,不在模型,而在如何让AI把事干成。
|
6月前
|
人工智能 自然语言处理 前端开发
AI生成网站入门指南:从零基础到专业建站的路径
零基础建站难?AI生成网站成新选择!无需代码、低成本,三步搞定:①明确目标场景;②用自然语言生成页面与前后端代码(如LynxCode);③优化交互与适配。AI不替代开发者,而是降低门槛、提升效率,助创业者快速验证想法。
|
Web App开发 算法 安全
等保、密评专用—双算法SSL证书
等保和密评专用双算法SSL证书结合国际(如RSA)和国密(如SM2)算法,确保数据传输安全与合规,同时兼容国内外浏览器,满足网络安全等级保护和商用密码应用安全性评估要求。该证书增强数据加密,提高安全性,适用于各类网站和应用。
|
人工智能 缓存 安全
帮你整理好了,AI 网关的 8 个常见应用场景
通过 SLS 还可以汇总 Actiontrail 事件、云产品可观测日志、LLM 网关明细日志、详细对话明细日志、Prompt Trace 和推理实时调用明细等数据汇总,从而建设完整统一的可观测方案。
1154 12
|
SQL DataWorks 数据可视化
阿里云DataWorks评测:大数据开发治理平台的卓越表现
阿里云DataWorks是一款集数据集成、开发、分析与管理于一体的大数据平台,支持多种数据源无缝整合,提供可视化ETL工具和灵活的任务调度机制。其内置的安全体系和丰富的插件生态,确保了数据处理的高效性和安全性。通过实际测试,DataWorks展现了强大的计算能力和稳定性,适用于中小企业快速搭建稳定高效的BI系统。未来,DataWorks将继续优化功能,降低使用门槛,并推出更多灵活的定价方案,助力企业实现数据价值最大化。
|
存储 运维 监控
蚂蚁超大规模分布式系统稳定性体系实践
大规模分布式系统的稳定性建设,是确保业务服务不受硬件、人为等风险因素影响而中断的核心工作,随着业务规模增大和复杂度的提升,系统稳定性的重要程度和难度也随之增大。在蚂蚁集团业务发展过程中,业务复杂度、用户规模以及业务重要性都逐步增大,相应的稳定性建设也伴随着业务的发展进行了不断地建设和提升。
3318 1
蚂蚁超大规模分布式系统稳定性体系实践
|
Ubuntu Unix Linux
Linux专栏01:Linux发展历史及背景介绍
Linux专栏01:Linux发展历史及背景介绍
1247 0