Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions website/blog/2026-10-07-from-committer-to-ppmc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: "From Committer to PPMC: A New Beginning at Apache Fesod (Incubating)"
description: Reflections on becoming a PPMC member of Apache Fesod (Incubating)
authors: [bengbengbalabalabeng]
tags: [opensource, apache, ppmc, fesod]
---

<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-->

> Hello everyone! I am deeply honored to share that I have officially been invited to become a PPMC member of Apache Fesod (Incubating).

<!--truncate-->

From starting out as an everyday user of `Fesod`, to contributing bug fixes and documentation as a Committer, and now stepping into the role of a PPMC member, this progression is not only an acknowledgment from the community, but also signifies a major shift in my focus. I'd like to take this opportunity to reflect on my practical experiences and takeaways during this transition from Committer to PPMC.

## From Writing Code to Fostering the Community

When I first became a Committer, my primary focus was on "what I could build for the project": how many issues I resolved and how many core PRs I submitted. However, as my involvement deepened, I came to realize that keeping an open-source project vibrant and healthy requires far more than just code output. Consequently, I began shifting more of my attention to what happens beyond the codebase:

- **Code Reviews**: Instead of just writing code myself, I spent significantly more time reviewing PRs from other contributors. This involved not only verifying logic correctness and test coverage, but also ensuring that newly introduced changes align with the long-term architecture of the project.
- **Issue Triage and Task Breakdown**: For bug reports and feature requests raised by users, I helped reproduce issues, label priorities, and break down complex problems.
- **Guidance and Support**: Assisting users in GitHub Discussions and Issues with troubleshooting complex Excel parsing and exporting issues, and offering patient, actionable feedback during reviews to help new contributors get their PRs across the finish line.

## Key Takeaways

Throughout this journey, I gained a much more practical understanding of how an Apache project actually operates:

1. **Reviewing code often takes more energy than writing it.**

When writing code, you are only accountable to your own thought process. But reviewing someone else's work requires stepping into their shoes, spotting potential pitfalls, and being mindful of how you communicate to avoid unnecessary misunderstandings and friction. Providing constructive feedback and helping guide a PR to merge is often far more challenging than implementing it yourself.

2. **Rules are not constraints, but the bedrock of long-term sustainability.**

At first, asynchronous communication on mailing lists (The Apache Way), coding guidelines, and compliance workflows can feel cumbersome. But as the project grows and attracts contributors from diverse backgrounds, these rigorous standards are precisely what ensure stability and supply chain security.

3. **Community vitality relies on positive feedback loops.**

Open source is never a solo effort. If a contributor submits a PR and hears nothing for an extended period, their enthusiasm quickly fades. A crucial responsibility of a PPMC member is to minimize the feedback cycle between the community and external contributors, ensuring that everyone who opens a PR or reports a bug feels heard and valued.

## Acknowledgments

A heartfelt thank you to **@delei** and **@psxjoy** for their mentorship, and to every member of the Apache Fesod (Incubating) community. Thank you for your thorough reviews, patient guidance on every PR, and the trust you've placed in me.

We often assume that open source is distant and inaccessible, but in reality, it begins with an error you encounter in daily development, a snippet of logic you'd like to optimize, or a piece of documentation that could be clearer.

Taking that first step isn't as daunting as it seems. Whether it's submitting a reproducible test case, fixing a typo, or taking the initiative to open your first PR—every step counts toward becoming a contributor.
2 changes: 1 addition & 1 deletion website/community/maturity.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ The following table is filled according to the [Apache Maturity Model](https://c
| **CO10** | The project has a well-known homepage that points to all the information required to operate according to this maturity model. | **YES** :white_check_mark: | The [official website](https://fesod.apache.org/) includes all information user need to run Apache Fesod (Incubating). |
| **CO20** | The community welcomes contributions from anyone who acts in good faith and in a respectful manner, and who adds value to the project. | **YES** :white_check_mark: | We provide contributing guides for every component. And we also have a [general contributing guide](https://github.com/apache/fesod/blob/main/CONTRIBUTING.md) |
| **CO30** | Contributions include source code, documentation, constructive bug reports, constructive discussions, marketing and generally anything that adds value to the project. | **YES** :white_check_mark: | All good contributions including code and non-code are welcomed. |
| **CO40** | The community strives to be meritocratic and gives more rights and responsibilities to contributors who, over time, add value to the project. | **NO** :warning: | The community has elected **0** new PPMC members and **2** new committers so far. |
| **CO40** | The community strives to be meritocratic and gives more rights and responsibilities to contributors who, over time, add value to the project. | **YES** :white_check_mark: | The community has elected **1** new PPMC members and **1** new committers so far. |
| **CO50** | The project documents how contributors can earn more rights such as commit access or decision power, and applies these principles consistently. | **YES** :white_check_mark: | The community has clear [documents](https://fesod.apache.org/community/pmc/nominate-committer) on nominating committers and PPMC members. |
| **CO60** | The community operates based on consensus of its members (see CS10) who have decision power. Dictators, benevolent or not, are not welcome in Apache projects. | **YES** :white_check_mark: | All decisions are made after vote by community members. |
| **CO70** | The project strives to answer user questions in a timely manner. | **YES** :white_check_mark: | We use <dev@fesod.apache.org>, [GitHub issue](https://github.com/apache/fesod/issues) and [GitHub discussion](https://github.com/apache/fesod/discussions) to do this in a timely manner. |
Expand Down
2 changes: 1 addition & 1 deletion website/community/team.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ Apache Fesod (Incubating) team comprises Members and Contributors. We embrace th
| Xin Yan | [@tmlx1990](https://github.com/tmlx1990) | [yanxin](https://people.apache.org/committer-index.html#yanxin) | PPMC Member |
| Zhe Zhang | [@alaahong](https://github.com/alaahong) | [zhangzhe](https://people.apache.org/committer-index.html#zhangzhe) | PPMC Member |
| Ziqiu Guo | [@delei](https://github.com/delei) | [delei](https://people.apache.org/committer-index.html#delei) | PPMC Member |
| Jing Yang | [@bengbengbalabalabeng](https://github.com/bengbengbalabalabeng) | [benbala](https://people.apache.org/committer-index.html#benbala) | PPMC Member |

## Committers

| Public Name | GitHub Username | Apache ID | Role |
|-----------------|------------------------------------------------------------------|---------------------------------------------------------------------------------|-------------|
| Zhongqiang Gong | [@GOODBOY008](https://github.com/GOODBOY008) | [gongzhongqiang](https://people.apache.org/committer-index.html#gongzhongqiang) | Committer |
| Jing Yang | [@bengbengbalabalabeng](https://github.com/bengbengbalabalabeng) | [benbala](https://people.apache.org/committer-index.html#benbala) | Committer |

## Contributors

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: "从 Committer 到 PPMC: 我在 Apache Fesod (Incubating) 的新起点"
description: 记录成为 Apache Fesod (Incubating) PPMC 成员的心路历程
authors: [bengbengbalabalabeng]
tags: [opensource, apache, ppmc, fesod]
---

<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-->

> 大家好,非常荣幸收到社区邀请,成为 Apache Fesod (Incubating) PPMC 成员。

<!--truncate-->

从最开始作为普通用户使用 `Fesod`,到以 Committer 身份提交 Bug 修复和文档,再到如今成为 PPMC,开源角色的进阶对我来说不仅是一份认可,更意味着工作重心的转变。借此机会,我也简单复盘一下从 Committer 走向 PPMC 这段时间的具体实践与思考。

## 从提交代码,到融入社区

在成为 Committer 之初,我主要关注的是“我能为项目写什么”:修了几个 Issue、提了几个核心 PR。但随着参与程度的加深,我发现想要维持一个活跃且健康的开源项目,单纯依赖代码产出是远远不够的。因此我尝试将工作逐渐转移到了更多“代码之外”的事情上:

- **代码评审**:相比自己写代码,我花了更多时间在审查社区贡献者的 PR 上。不仅要看逻辑是否严谨、单元测试覆盖是否充分,还要确保新引入的代码符合项目的架构演进方向。
- **Issue 分类与任务拆解**:面对社区用户提出的各种 Bug 报告和新需求,协助进行问题复现和优先级标记。
- **引导与答疑**:在 GitHub Discussion 和 Issue 中协助排查用户遇到的 Excel 解析/导出疑难杂症,并在 Review 时给予新手贡献者耐心的修改建议。

## 新的体会

在这个过程中,我对 Apache 项目的运作有了更加落地的理解:

1. **Review 代码往往比写代码更耗精力**

自己写代码只需要对自己负责,但 Review 别人的代码需要站在对方的思路里寻找潜在隐患,同时也要注意沟通方式,规避不必要的误解和摩擦。给出建设性的意见并促成一个 PR 最终落地,比自己写一个更具挑战。

2. **规则不是束缚,而是长期维护的基石**

刚开始可能会觉得邮件列表异步沟通(The Apache Way)、代码规范与合规流程有些繁琐。但当项目规模逐渐变大、参与者来自不同背景时,正是这些严格的制度保障了项目的稳定与供应链安全。

3. **社区的持续性依赖于“正向反馈”**

开源项目不是单打独斗。如果贡献者的 PR 提上去长时间没人理,热情很快就会被磨灭。PPMC 很重要的一项职责,就是尽量缩短社区与外部贡献者之间的反馈周期,让每一位提交代码或报错的用户感受到被重视。

## 致谢

感谢 **@delei**、**@psxjoy** 的指导,以及 Apache Fesod (Incubating) 社区的每一位伙伴。感谢你们对每一个 PR 的细致 Review 与耐心指导,也感谢社区给予我这份信任。

很多时候我们以为开源离自己很远,但它其实就始于你日常开发中遇到的一次报错、一段想优化的逻辑,或者一篇写得不够清晰的文档。

迈出第一步并不难,哪怕只是提交一次清晰的复现用例、修一处文档笔误,都是成为贡献者的开始。
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ The following table is filled according to the [Apache Maturity Model](https://c
| **CO10** | The project has a well-known homepage that points to all the information required to operate according to this maturity model. | **YES** :white_check_mark: | The [official website](https://fesod.apache.org/) includes all information user need to run Apache Fesod (Incubating). |
| **CO20** | The community welcomes contributions from anyone who acts in good faith and in a respectful manner, and who adds value to the project. | **YES** :white_check_mark: | We provide contributing guides for every component. And we also have a [general contributing guide](https://github.com/apache/fesod/blob/main/CONTRIBUTING.md) |
| **CO30** | Contributions include source code, documentation, constructive bug reports, constructive discussions, marketing and generally anything that adds value to the project. | **YES** :white_check_mark: | All good contributions including code and non-code are welcomed. |
| **CO40** | The community strives to be meritocratic and gives more rights and responsibilities to contributors who, over time, add value to the project. | **NO** :warning: | The community has elected **0** new PPMC members and **2** new committers so far. |
| **CO40** | The community strives to be meritocratic and gives more rights and responsibilities to contributors who, over time, add value to the project. | **YES** :white_check_mark: | The community has elected **1** new PPMC members and **1** new committers so far. |
| **CO50** | The project documents how contributors can earn more rights such as commit access or decision power, and applies these principles consistently. | **YES** :white_check_mark: | The community has clear [documents](https://fesod.apache.org/community/pmc/nominate-committer) on nominating committers and PPMC members. |
| **CO60** | The community operates based on consensus of its members (see CS10) who have decision power. Dictators, benevolent or not, are not welcome in Apache projects. | **YES** :white_check_mark: | All decisions are made after vote by community members. |
| **CO70** | The project strives to answer user questions in a timely manner. | **YES** :white_check_mark: | We use <dev@fesod.apache.org>, [GitHub issue](https://github.com/apache/fesod/issues) and [GitHub discussion](https://github.com/apache/fesod/discussions) to do this in a timely manner. |
Expand Down
Loading
Loading