从开源小白到Apache Member 阿里工程师成长笔记
时间:2026-07-25 | 作者:318050 | 阅读:02014年,他加入阿里巴巴中间件团队,接手了集团应用容器的维护工作。
当时,绝大部分容器基于已经老旧、无人维护的 JBoss,只有一小部分跑在 Jetty 和 Tomcat 上。
中间件团队维护了一个 Tomcat 的私有分支,核心目标就是统一所有应用容器——全部迁移到 Tomcat。
在此之前,他对 Tomcat 的开发和运维几乎一无所知,挑战可想而知。
更大的挑战来自当时的大老板:他提出一个在当时看来几乎无法实现的目标——成为 Apache Tomcat 的 committer。
要知道,Tomcat 自1999年发布第一版以来,一直是 Apache 基金会和开源界的明星项目。
至今,在应用容器领域,市场占有率仍保持第一。
二十年发展,从未出现过一位中国人的 committer。
而他所在的团队只有四个人,毫无开源经验,完全不知从何入手。
当老板问谁愿意接下这个任务时,他没有多想,便承担了下来。
就这样,一段 Apache 开源之旅开始了。
说实话,起初并没太多思路。
于是,他反复浏览 Tomcat 官网,寻找有用的信息。
所有 Apache 项目几乎都有新用户指南,Tomcat 也不例外——介绍如何参与开源。
他很快从修复 bug 起步。
第一个 patch 是修复一个 Websocket 测试用例失败的问题,涉及代码重构。
提交前非常谨慎,和老板反复讨论多次,最终形成一个相对满意的方案。
提交给社区后,很快就有了响应并被合并。
第一次提交就获得认可,心里很开心,紧张的情绪也缓解了。
当看到自己的名字出现在 Tomcat 的 release note 里,那种喜悦是难以言表的。
Apache Roadshow China
2015年10月,他有机会在北京参加 Apache Roadshow China,算是第一次与 Apache 基金会亲密接触。
大会上,他亲眼目睹了时任 Apache 基金会主席 Brett Porter、副总裁 Niclas Hedhman 等大佬的演讲。
他还看到他们在 Panel Discussion 中,与几位中国 Apache 成员探讨社区领导的开发流程。
当时,他觉得自己离他们非常遥远。
2015年,国内参与 Apache 社区的基本都是在外企工作的华人。而如今,国内公司参与开源的程度已显著提升。
那次路演中,他与 Niclas 交流,问了一个问题:如何成为 Tomcat 的 committer?
Niclas 给出了至今影响深远的建议:参与社区讨论、从简单新手任务修复 bug、参与 release vote。这么多年过去,这些建议依旧适用。
Tomcat committer
尝到贡献的甜头后,团队目标有所调整:内部版本的 Tomcat 与开源版本保持结构完全一致。
一方面,这使得合并开源代码变得容易。另一方面,内部增强也更方便提交到社区。
后续的贡献主要来自三个方面:
- 在阿里大规模、高并发场景下遇到问题的修复。典型例子是无线网关应用采用 Tomcat NIO Async Servlet 架构,曾因高并发下 Tomcat 异常出现重大故障。排查花费大量精力,最终彻底修复。详细过程记录在《逆流而上-阿里巴巴技术成长之路》的《山洪暴发,高流量触发 Tomcat bug引起集群崩溃》一文中。修复方案一并提交给了社区,改动量不大,但凝聚了团队很多心血。
- Tomcat 大面积铺开时遇到问题的修复。比如发现一些不符合 Servlet 规范的行为,以及双十一应对时的优化、并行类加载等。
- 主动参与社区,针对长期存在的问题进行修复。
经过一年多的持续投入,2016年8月23日,一个平常的上午,他打开邮箱。
他看到一封来自 Tomcat 社区核心开发、Java EE 规范专家组成员、时任 Apache 基金会董事会成员 Mark Thomas 的邀请信,邀请他成为 Tomcat committer。
那一刻,他的心都在颤抖,激动得有些不能自已——没想到梦想的那一天真的会到来。
Tomcat PMC Member
成为 committer 后,他有了直接提交代码的权限,也意味着更大的责任。
那一年,Tomcat 已经成为阿里内部应用容器的标准,集群规模在国内外领先。
他并没有停止社区参与。2017年,ApacheCon 北美大会在迈阿密召开。
收到 Call for participation 邮件时,他萌生一个想法:为什么不把阿里巴巴在大规模高并发下遇到的挑战在 ApacheCon 分享呢?
每年 ApacheCon 基本都会为 Tomcat 开设 TomcatCon 专场。
他之前从未在国外大会上分享过,也不确定能否被接受。
他怀着忐忑心情提交了提案,没抱太大信心。
直到当年三月,他收到提案被接受的邮件。那种被认可的感觉很棒。
五月的大会上,他见到了经常在社区交流却素未谋面的一群开发者。
包括来自英国的 Mark Thomas、美国的 Christopher Schultz、法国的 Jean-Frederic Clere 等,都是 Tomcat 社区的顶尖专家,有的已经参与社区十余年。
和邮件讨论问题时直率甚至严厉的印象不同,他们都非常亲切。演讲当天,他们默默在场下支持。
演讲很成功,让世界看到了中国公司在 Tomcat 社区所作出的贡献,他挺骄傲的。
演讲第二天的晚宴气氛轻松,Mark 拿着啤酒走过来,邀请他成为 Tomcat PMC member。
他完全没想到能和这些大神站到同样的位置上,很开心地接受了。
结缘 Dubbo
2017年,阿里开始重启 Dubbo 开源的维护工作,团队正好承担了这个使命。
Dubbo 之前有一段时间停止了维护,很多用户只能 fork 分支自己维护。
重启维护后,需要思考如何打消社区的顾虑。
团队决定把 Dubbo 捐献给 Apache 基金会,希望借助“社区大于代码”、“公开透明”、“共识决策”等 Apache 之道消除顾虑。
凭借几年 Apache 社区经验,他自然承担起帮助 Dubbo 进入 Apache 孵化器的工作:从联系导师到修改提案。
最终,Dubbo 通过了孵化器社区投票,正式加入 Apache 孵化。
那天是2017年大年三十。他坐在家里电脑前,发送出正式投票结果邮件的那一刻,他知道这注定是个值得铭记的日子。
在 Apache 孵化器中孵化,就像一个浪子横冲直撞多年后静下心来求学。
需要遵守很多规则,也会面临文化和意识形态的冲突。
如何帮助 Dubbo 更好地践行 Apache 之道,有很多工作要做。
Dubbo 与其他项目不同在于,加入 Apache 前已经是巨无霸级别:上万 Star、庞大社区、国内大规模采用。
社区一天的活动量所发送的邮件,就让导师觉得难以招架。
如何让这个巨无霸按 Apache 之道发展,成为巨大挑战。
一个鲜活的例子:社区讨论到底该在邮件列表还是 GitHub issue 上讨论。
Dubbo 用户早已习惯在 issue 上讨论,但导师 Mark 指出,邮件列表仍然是这个星球上最普适的通讯工具。
当习惯了中国互联网迅猛发展的红利时,却忘了世界上还有些国家网速只有几十 k/s,甚至只能拨号上网。
如果在 GitHub 上讨论,对那些环境下想参与社区的人就是灾难。
或许可以放弃那部分用户,但这不是 Apache 的价值观。
类似例子很多,有些遗憾没有及时记录下来,会尝试另文分享。
第一次 release 是孵化过程中重要的里程碑。
release 的意义远大于代码层面,还包括准确的 License 和版权声明、符合规范的代码及依赖、准确一致的签名等。
Dubbo 花了很多时间准备,并将整个过程完全文档化。
整个孵化过程中,由七位不同的 release manager 轮流负责,确保不同的人都能完成发布。
知识产权清理也是重要环节。
Apache 对商标和 License 有近乎严苛的要求,每次 release 都会仔细检查。
最典型的例子是 github.com/dubbo 这个 group。在国人看来很正常,但在 Apache 基金会视角下,Dubbo 商标已转移给 Apache,任何第三方使用都构成侵权,因此不被允许。
最终方案是将该 group 下所有项目清空,一部分迁移到 Apache,另一部分迁回其他 group。
还有很多问题,比如发展社区 committer/PMC member、举办符合规范的 meetup 等,有机会再分享。
成为 Apache Member
在 Dubbo 即将毕业前夕,他按惯例打开邮箱,忽然发现一封 Invitation to join The Apache Software Foundation Membership。
心中一阵惊喜,点开是一封邀请成为 Apache Member 的邮件,非常出乎意料。
说实话,也曾梦想过未来能成为 Apache Member,但没想到这一天来得这么快。
成为 Apache Member 意味着从法律上成为 Apache 基金会的股东(当时共771位成员)。
但这绝不意味着贡献的终止——就像打怪升级,通过当前关卡,会遇到更大的 boss。
作为 ASF member,更多是从一个个项目中抽离出来,关注基金会层面横向事务。
但成为 Member 最大的意义在于:贡献以及 Apache 之道的开源价值观得到了基金会的认可,让他觉得在开源路上并不孤独。
尤其是看到还有这么多来自中国的 Member,更加坚定了这条路在中国可以走下去。
成为 Member 后,他相信借助 Apache 基金会,能够帮助中国开源软件及开发者与全世界建立更广泛深入的连接。
一方面是“走进来”:帮助扩大 Apache 基金会在中国的影响力,让更多开发者参与世界顶级开源项目。
另一方面是“走出去”:帮助中国开源项目进入 Apache 基金会孵化,提升国际影响力。
国内有很多非常优秀的开源项目,只是缺少一个向世界展示的窗口。希望 Apache 基金会能成为这样一座桥梁。
写在最后
这里要特别感谢提名他的 Mark Thomas——ASF 基金会前董事会成员、分管品牌的 V.P、Tomcat 社区核心维护者、Dubbo 的导师。还要感谢为他投票的其他伙伴。
Mark 仿佛是他整个 Apache 基金会的导师,带领他一步步向前。没有 Mark 及 Tomcat 社区、Dubbo 社区其他伙伴的支持,他绝对无法走到今天。
也要感谢公司各位领导的信任,没有他们的支持,他不可能全身心投入开源社区。
最后还要感谢阿里这个场景——只有在如此大规模的场景下,才有如此多的机会参与贡献这么多高质量的代码和优秀项目给到开源社区。
来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 谷歌开源Agent Substrate:8个容器组运行250个有状态智能体如何实现
- 时间:2026-07-25
-
- Evidence Loom 开源本地优先多智能体市场研究桌面工具
- 时间:2026-07-25
-
- Kimi K3还有4天开源 美国人这次是真急眼了
- 时间:2026-07-24
-
- 沐曦GPU完成InfiniCCL开源框架首发适配
- 时间:2026-07-24
-
- ARC3高分开源模型一夜全开放
- 时间:2026-07-24
-
- 开源本地优先动效引擎 Motion Anything
- 时间:2026-07-22
-
- 腾讯开源HiLS-Attention稀疏注意力计算更少效果更好外推512倍
- 时间:2026-07-21
-
- 免费开源接口文档命令行工具的使用教程
- 时间:2026-07-20
精选合集
更多大家都在玩
热门话题
大家都在看
更多-
- iOS 13.5.1电池续航差是电池耗电问题吗
- 时间:2026-07-25
-
- 苹果教育优惠开启 附购买攻略
- 时间:2026-07-25
-
- 苹果iOS 14 beta 2 测试版主要更新内容:除细节变化外修复多项Bug
- 时间:2026-07-25
-
- iOS 14 beta 2 是否解决内存占用过多问题?
- 时间:2026-07-25
-
- 受欢迎的奥特曼游戏有哪些
- 时间:2026-07-25
-
- iOS 14信息应用5大更新变化
- 时间:2026-07-25
-
- iOS 14正式版上线时间公布 官方全新介绍
- 时间:2026-07-25
-
- 最新苹果iOS 14 Beta 2版本更新内容全解析与升级教程
- 时间:2026-07-25


