Skip to content

Commit

Permalink
update: add a new blog
Browse files Browse the repository at this point in the history
  • Loading branch information
PrimmaAnna authored and LinkinStars committed Nov 22, 2024
1 parent cb4a7b8 commit f4ac7f5
Showing 1 changed file with 45 additions and 27 deletions.
Original file line number Diff line number Diff line change
@@ -1,56 +1,74 @@
---
title: "How Release Managers Make the Release Process Productive"
title: "Lu Fei's ASF Journey: From Contributor to PPMC Member"
authors: [Anne]
category: Community
featured: true
image: 2024-11-13[email protected]
description: "Learn the behind-the-scenes story of how four Release Managers gradually optimized the release process."
image: 2024-11-22[email protected]
description: "Find out how Lu Fei started his journey and became part of the community."

---

An Apache release follows a rigorous process with valid, signed, artifacts, voted on by the appropriate PMC and ultimately distributed on the official ASF release infrastructure. Each project designates a committer to be release manager for release preparation, execution, and document maintenance, etc. Apache encourages committers to take turns in this role for different release, ensuring release quality, efficiency, and process optimization.
We’re excited to announce our new PPMC member: Lu Fei.
Lu Fei has been involved in Apache Answer community since last October. Today, he has submitted 42 PRs and resolved 31 Issues in both the main and the plugin repository. As an active community member, Lu Fei’s contribution covers bug fixes, new features, and doc improvement.

Since joining the Apache Incubator in October 2023, Apache Answer has released 8 Apache versions with 4 release managers involved. With their help, the project has accumulated Apache release experience. The process of merging code and packaging has become smoother, the Release doc includes more details, and the recent added email templates make writing voting emails easier.
We invite Lu Fei to share his journey with Apache Answer and we hope that his story can inspire more open-source enthusiasts.

In today's read, we will look back at the challenges encountered by the release managers during the release, how they solved them, and how they improved the release documentation and the release process.
## Meet Apache Answer
Becoming a PPMC member of the Apache Answer incubator project means so much to me. It is more than a milestone, but a valuable open-source journey watching Answer grow from small project to a thriving community.

## Evolution of the Release Doc
As the foundation of the release, the release doc provides detailed guidance. It also serves as a testament to the project’s maturity and independence in release management.
I actually had a chance to join the SegmentFault team before Answer was even open-sourced, but things didn't work out. Looking back, I kind of kicked myself for missing out on this opportunity!

LinkinStars, a backend engineer, became Apache Answer’s [first release manager](https://answer.apache.org/blog/2024/03/18/meet-our-release-manager-linkinstars). He crafted the initial version of the release doc with an entire release cycle and final deployment. In this version, the release doc packed with process from packaging, signing, verification, and uploading, as well as email templates. With his help, Apache Answer’s [first Apache release](https://answer.apache.org/zh-CN/blog/2023/12/07/a-new-chapter-begins-answer-first-apache-release-launches) was successfully launched on November 29th, 2023.
On October 24th 2022, Answer was launched and open sourced. When I saw that news, I jumped right in and checked on the repo. Then, I submitted my first [PR](https://github.com/apache/incubator-answer/pull/2): `doc: update install`. Answer is built with Go and Node.js while I’m a more of a PHP person, so I was swaying away from it.

Later on, the PPMC members started to take turns following the guidance of the mentor. By rotating this role, the community was not only familiarized with the release process but also able to identify the optimization gap.
The following year, Answer passed the vote and joined the ASF incubator. My second [PR](https://github.com/apache/incubator-answer/pull/577): `fix: typo` was submitted by that time.

As the frontend developer of Apache Answer, shuai built Apache Answer’s frontend from scratch. He took up the torch and became the second release manager. During the release process, he enhanced the doc by elaborating of GPG keys, methods of file verification, and ways to obtain email links.
![Answer Enters Incubator](ASF.png)

![Alt text](shuai-sign-the-release-artifacts.PNG)
The WeChat group of SegmentFault was buzzing with congrats, while a question arose: ‘When can I get my own @apache.org email?’ I muted the chat and got back to work but couldn’t help thinking about that question.The WeChat group of SegmentFault was buzzing with congrats, while a question arose: ‘When can I get my own @apache.org email?’ I muted the chat and got back to work but couldn’t help thinking about that question.

## Get to Know Apache Software Foundation
After Answer became a polling project, I started learning more about it and here’s what I’d love to share.

Kumfo has taken over from shuai as the third release manager for Apache Answer. As a backend developer, he contributed to the development of features related to reputation, upvoting, and other event-driven functionalities. He made modifications and additions based on feedback from IPMC Members.
![ASF 25 Years](ASF%2025%20Years.PNG)

![kumfo's contribution](kumfo-improvement.PNG)
### The Apache Incubator
The Apache Incubator was started in 2002 to help projects get ready to become part of the ASF. The ASF is huge—it's the world's largest open-source foundation with thousands of contributors working on hundreds of projects. From web servers and big data to storage and machine learning, Apache software is everywhere. And it's all free to use!

Currently, the baton for releasing Apache Answer has passed to robin. He has made more detailed revisions to the documentation, such as breaking down some release steps, adding more details, and reorganizing the structure of the document for better clarity and sequence.
Each project in the incubator will be assigned with a few mentors who help guide them as they grow and become fully-fledged ASF projects. Once a project has met all the requirements, it can graduate and become a top-level project (TLP).

![robin's update](how-to-release.PNG)
### The Apache Way
![Apache Way](Apache%20Way.PNG)
The "Apache Way" is a core philosophy of the Apache Software Foundation (ASF) that outlines a set of community governance principles for open-source projects. It emphasizes transparency, collaboration, and community-driven project management, ensuring that projects aren't controlled by a select few but are driven forward by a group of contributors. Here are some key principles of the "Apache Way":

Read the latest [release docs](https://answer.apache.org/community/how-to-release) proudly presented and polished by the release managers.
1. Community-Driven Development: Projects are driven by the community, not individuals or companies.
2. Transparency: All discussions and decisions are open to everyone. It is typically done through mailing lists or public discussion platforms.
3. Consensus-Based Decision Making: Important decisions are made through consensus. This minuses confrontational disagreements while ensuring that most of the community supports key changes to the project.
4. Respect and Inclusion: A welcoming environment for all contributors.
5. Contributor-driven: Everyone has the opportunity to take on greater responsibilities through contributions. The progression from Contributor to Committer to PMC Member (Project Management Committee) is based on contributions and community trust.

## Challenges and Solutions
For LinkinStars, the first release was undoubtedly a huge challenge. He first worked with other PPMC members to collect and organize the relevant release documentation, creating an initial release process.
By following these principles, Apache projects foster collaboration, innovation, and long-term sustainability.

![Alt text](release-process.PNG)
## Becoming a Committer
I was hooked on Apache Answer because of its tech stack. As a developer eager to learn Go, this was the perfect opportunity to put my skills into practice. I started with `good first issue` which was a great way to get my feet wet. I started with some simple tasks, like fixing typos and adding small features.

Click [here](https://answer.apache.org/blog/2023/12/13/behind-the-scene-how-we-launched-the-first-apache-release) to learn more about the behind-the-scenes story of Apache Answer's first Apache release.
The community was incredibly supportive, and with their guidance, I gradually gained a deeper understanding of the project's architecture. As my Go skills improved, so did my contributions. I was thrilled when I was invited to become a Committer in June 2024. After signing the ICLA, I couldn't wait to have my Apache account!

After shuai‘s take-over, he referred to LinkinStars’ release documentation and prepared the GPG key and SVN configuration in advance. However, he still faced issues such as incorrect email subject/content, missing content after packaging, and incorrect signatures. To avoid formatting errors caused by copy-pasting in emails, shuai suggested creating a .txt file locally first, where the email template can be edited and modified before copying it into the email editor. He also created a [GitHub repo of Apache release email templates](https://github.com/shuashuai/apache-release-email) to help other release managers avoid encountering such problems in the future.
![Invitation to Become Answer Committer](Invitation%20of%20Committer.png)

When waiting for a General vote takes longer than expected, a REMINDER email can be sent for kindly notice. However, it is recommended to prioritize seeking vote from mentors.
On June 27, 2024, I received the email: Welcome to the Apache Software Foundation, and it was the time to unlock my ASF committer account.

![Alt text](reminder-tips.png)
![Welcome to ASF](Welcome%20to%20ASF.png)

In the Apache community, all communication is transparent and traceable, which is incredibly helpful for Release Managers referencing past Apache project release processes and emails. The community atmosphere at Apache is open and friendly, and when issues arise, someone will point them out and help resolve them in the emails. For example, during the General vote phase, a mentor pointed out that the release files uploaded to the SVN repository were incorrect, with the signed files having a size of 0. After several rounds of checks, it was found that the release manager had not properly downloaded the release files, and the browser had restricted the content, causing the downloaded files to be incorrect.
Just a week later, on July 8th, I was added to the Apache Answer Committer list. Becoming a Committer is more than an identity, but taking on more responsibilities, including code reviews, quality checks, and helping new contributors.

When talking to the release managers, all of them have mentioned the importance of collaboration and cooperation among release managers. Besides meticulous and repeated checks during the release, it is highly recommended to invite other release managers to help validate the release to ensure that every step is correct.
## From Committer to PPMC Member
Becoming a Committer made me even more invested in Apache Answer. Beyond active participation in mailing lists and voting on releases, I started diving into issues, tackling bug fixes and feature enhancements. I also [contributed new plugins](https://github.com/apache/incubator-answer-plugins/pulls?q=is%3Apr+author%3Asy-records+is%3Aclosed), such as [Tencent COS Storage](https://github.com/apache/incubator-answer-plugins/tree/main/storage-tencentyuncos), [DingTalk Notifications](https://github.com/apache/incubator-answer-plugins/tree/main/notification-dingtalk), and [Baidu Reviewer](https://github.com/apache/incubator-answer-plugins/tree/main/reviewer-baidu).

One of the graduation checklist items in Apache's successful graduation guide is the ability to release an Apache version. This requires not only clear release documentation and a transparent communication mechanism but also the collective effort of all community members. From requirement analysis, development, and testing to the final release, the collaboration among community members is key to ensuring a successful release. Apache Answer welcomes and encourages more people to join the community to help build a better Q&A platform software together.
Being nominated for PPMC was both exciting and humbling. As a PPMC member, I’ll be working closely with the community to guide the project's direction, ensure we're following the Apache Way, and attract more developers. It's a big responsibility, but I'm thrilled to be a part of it.

## Join the Community
Apache Answer is a dynamic community. Whether you're a seasoned pro or just starting out, there’s always a space for you. Every part of Apache Answer, from its design to its code, is the work of talented people like you.

If you're into Q&A platform or open source, you should definitely check it out. Start small, maybe by fixing a typo or improving some documentation. You'll quickly learn the ropes and start making a real impact.

I want to give a huge shoutout to the amazing Apache Answer community. Your support has been incredible, and I'm excited to see where we go next.

0 comments on commit f4ac7f5

Please sign in to comment.