Skip to main content

[From users to Committer, participation in the Apache ShenYu community is not far away]

· 4 min read

Introduction of new Committer#

Hello everyone, my name is Tang Zhen. I am currently working in Dmall(Chengdu)E-commerce Co.,Ltd, and I focus on distributed task scheduling and messaging engine. I am very honored to receive an invitation from the Apache ShenYu community to become the Committer of Apache ShenYu. Let me share with you my growth and suggestions during the time I participated in the Apache ShenYu community.

Getting to know the Apache Shenyu community for the first time#

At the beginning of this year, I learned about the Apache ShenYu gateway during the research of the API gateway (hereafter referred to as Apache ShenYu (incubating) by ShenYu). ShenYu has high-performance, multi-protocol, easy to expand, and reactive features, and has provided a variety of plug-ins, out-of-the-box, very potential, I try to learn it.

In addition to the official documents, ShenYu also has source code analysis provided by many community partners, so you can quickly understand the implementation principle on the basis of rapid use. The community is very active, everyone actively reports and fixes bugs encountered, discusses new ideas together, and helps new friends integrate into the community. For the problems encountered in the first use, if you raise an issue or consult in the community exchange area, friends in the community will actively answer your doubts. These documents and community friends helped me quickly get started with the ShenYu gateway, and also made me feel the friendly and positive atmosphere of the ShenYu community.

Open source is not far away#

When I first read the source code of ShenYu, I saw that the code was a bit redundant and could be streamlined. Based on this, I wanted to create an issue, and worried that the optimization was too small to be accepted by the community. After tangled up, I still created an issue based on the previous issue format to express my thoughts. After a short while, I received feedback from the community, encouraging me to submit a PR to optimize this code. I followed the community's contribution guide and completed this small optimization step by step. The new PR was quickly merged and I saw myself in the Contributor list. This is the transition from ordinary users to contributor. Although it is simple, it motivates me a lot and makes me feel that open source is not far away.

After that, I became more and more familiar with ShenYu's code, and the relationship between the various modules was gradually sorted out. And I learned a lot of elegant design ideas from the project. During the period, I occasionally found some bugs, code and functions that can be optimized. I took the initiative to put forward issues to fix and improve these problems. The Committer of the community will review the code very carefully every time and give some suggestions for improvement. Later, I also participated in the construction of the official website of the community, writing and improving documents.

The ShenYu community is open and inclusive. Some tasks are often released, and many of them are suitable for novices. In fact, they are to help more people integrate into the community. You can follow the community mail, issue, WeChat group, etc. to receive tasks, have a goal to complete, and get familiar with the project faster. At the same time, the community has an open weekly meeting, everyone can participate in, and you can understand the current function development progress of ShenYu, and the community's planning.

After becoming Committer, in addition to continuing to follow up on issues in the community, I will also actively think about and participate in the development of some new features, and strive to make more contributions to the community and grow together with the community.

Some suggestions for newcomers#

For those who want to participate in open source, here are some small suggestions:

  • Starting from the official documentation, first use the main functions of the project to have an overall understanding. Then refer to some source code analysis articles in the community to understand the details of the internal implementation. There may be some small difficulties at the beginning. You can start with a simple small issue and gradually participate in the contribution of the community.

  • Boldly put forward your ideas, whether it is code structure, new functions, or questions about use, you can raise them. The form of contribution is not limited to code, but also includes documentation, active participation in feature discussions, helping other friends to answer questions, and so on.

  • Actively pay attention to the community, receive the tasks released by the community, and communicate with other people in the community if you have any questions about the implementation.