成为 ASF Member 有路径?他来现身说“法”

2 阅读8分钟

很少有人会把“成为 ASF Member”当成一个明确目标。

因为它既不能申请,也没有明确路径,它更像是一种结果——在一个社区中长期做事之后,被自然看见。

范佳正是这样走到这一步的。

不久前,他受邀成为 Apache Software Foundation(ASF)Member。借这个契机,我们和他做了一次完整的交流。相比一段荣誉的确认,这次对话更像一次回溯:从数据集成,到开源参与,再到系统设计与社区理解,一个工程师是如何一步步走到这里的。

从数据集成出发

范佳

范佳目前主要专注于数据集成方向的研发工作,重点关注数据同步、CDC(Change Data Capture)以及数据基础设施相关问题。在他的描述中,日常工作可以归结为一件事情,就是让数据在不同系统之间可靠流动。

这件事情在工程实践中远没有听起来那么简单。它涉及系统之间的数据同步、结构变化(Schema Evolution)的处理,以及在复杂生产环境中的稳定性保障。同时,他也长期参与 Apache SeaTunnel 社区的开发与维护工作。

从这里可以看出,他的起点并不是开源本身,而是一类非常具体且长期存在的工程问题。也正是这些问题,构成了他后续参与开源的基础。

接触开源的过程

谈到如何接触开源,他的回答很直接,是从工作开始的。加入白鲸开源之后,他参与到 Apache SeaTunnel 的开发、维护以及部分架构设计工作中。

在最初阶段,他的参与方式与大多数工程师类似,更多是在解决具体问题,例如修复 Bug、优化功能。但随着参与的深入,他逐渐开始关注系统设计本身,以及项目如何在更广泛的场景中稳定运行。

这种变化并不是突然发生的,而是在持续参与中逐渐累积的。而随着关注点从“问题本身”转向“系统本身”,角色的转变也随之发生。

从使用者到维护者

他把这个阶段的变化总结为视角和责任的转变。

作为使用者,更关注的是功能是否存在、是否满足当前需求;而作为维护者,需要考虑系统稳定性、向后兼容性、不同场景的适配能力,以及社区用户的实际使用体验。

与此同时,对项目的责任也变得更加具体。写代码不再只是完成任务,而是在参与一个被真实生产环境使用的系统,这会让每一个技术决策都更加谨慎。

当视角发生变化之后,真正复杂的问题也开始逐渐显现。

一次印象深刻的技术挑战

在参与 SeaTunnel 的过程中,让他印象最深的是 Zeta 引擎从 0 到 1 的实现。

这个过程并不是某一个单点问题的突破,而是多个复杂问题叠加的结果。首先是在执行模型设计上,需要同时支持批处理与流处理,在吞吐和延迟之间做权衡,并避免在高并发场景下出现瓶颈。

在并发模型方面,多线程执行带来了数据竞争、死锁以及执行顺序不可预期的问题。这些问题往往难以复现,需要通过长期运行逐步暴露和修复。

在资源管理方面,真实生产环境中的任务运行时间长、数据量大,内存控制、线程池隔离以及反压处理都变得尤为关键。尤其是 OOM,一旦发生,不仅影响当前任务,还可能影响整个服务进程的稳定性。

在稳定性与可恢复性方面,系统需要保证数据不丢失、不产生不可控重复,并能够在任务失败或重启后正确恢复状态,这通常需要结合 checkpoint 与状态管理机制来实现。

从整体来看,这并不是某一个技术点的问题,而是一个系统工程问题。

这些经历,也逐渐影响了他对开源协作方式的理解。

在开源中最重要的能力

当被问到在开源社区中最重要的能力时,他给出的答案是耐心。

在开源社区中,一个 PR 从提出到最终合入,通常需要经历多个阶段,包括初步实现、社区 review、多轮修改、CI 校验以及文档补充。过程中可能会遇到各种问题,如果缺乏耐心,很容易在中途放弃。

但持续推进这些细节,本身就是高质量开源贡献的重要部分。

这种对过程的理解,也体现在他对新人的建议中。

给新贡献者的建议

对于刚开始参与开源的开发者,他认为最重要的是保持好奇心,并且敢于执行。

很多时候,最大的障碍并不是技术难度,而是没有开始。一旦迈出第一步,比如提交一个简单的 PR 或参与一次讨论,后面的事情会自然展开。

同时,他也提到,要敢于表达自己的观点,甚至对已有设计提出质疑。开源社区本身就是一个开放的环境,每个人都是从新手成长起来的。

随着参与不断深入,外界的反馈也会逐渐显现。

成为 ASF Member 的那一刻

当得知自己成为 ASF Member 时,他的第一反应是激动和开心。

因为这一身份并不是主动申请获得的,而是社区基于长期贡献的一种认可,这种认可本身就非常有意义。

但在他看来,这不仅仅是荣誉,更代表着责任的增加。

如何理解这一身份

在他看来,成为 ASF Member 更重要的是责任。

不仅仅是继续参与技术贡献,还包括推动社区健康发展、帮助新贡献者成长,以及参与更高层面的社区治理。同时,也需要对用户负责,让项目能够在真实环境中稳定运行。

随着角色的变化,他对社区本身的理解也进一步加深。

对 The Apache Way 的理解

他对 The Apache Way 的理解可以概括为 Community Over Code。

一个开源项目能否长期发展,取决的不只是技术本身,还包括是否有开放透明的决策机制,是否鼓励不同背景的开发者参与,以及是否能够形成基于共识的治理模式。

这些因素共同决定了项目的生命力。

基于这样的理解,他也从更高的视角去看待项目本身。

如何看待 SeaTunnel

在他看来,SeaTunnel 的核心优势体现在多个方面。

在架构上,它支持多引擎模式,可以根据不同场景选择合适的执行方式。在生态上,具备丰富的 Connector 能力,可以对接多种数据库、数据湖以及消息系统。

在能力上,CDC 是其中的关键部分,支持数据变更捕获以及结构变更处理,使系统能够更好地适应复杂生产环境。

同时,在具备这些能力的基础上,SeaTunnel 依然保持了相对轻量的设计,使用户能够以更低成本接入和使用。

这些判断,来源于他在长期实践中的积累。

开源带来的变化

开源对他的职业发展带来了明显的变化,尤其是在看待问题的视角上。

在公司内部,系统往往围绕特定业务设计;而在开源社区中,需要考虑更加通用的场景,这会促使人在架构设计上做出更长期的权衡。

同时,与来自不同公司、不同背景的开发者交流合作,也让技术视野不断拓展。

关于开源的一句话

当被问到如何用一句话总结开源精神时,他的回答是:

开源不仅是代码的共享,更是开发者与社区共同成长的过程。

这句话听起来并不复杂,但如果把整段经历再看一遍,会发现它并不是一句总结,而更像是一个过程的自然结果。

从一开始解决具体的数据问题,到参与系统设计,再到思考项目如何在不同场景中稳定运行,最后走到社区层面的协作与共识,这条路径并没有明显的分界线。它更像是一个持续变化的过程,在不断做