Skip to main content

【From Deep User to Apache ShenYu Committer】

· 5 min read
Wei Wei

Self Introduction

Name: Wei Wei

Github: https://github.com/Wweiei/

Email: weiwei@apache.org

Hello everyone, I am Wei Wei. I am very honored to be invited to become a Committer of the Apache ShenYu community. It is a great honor to grow with the community and contribute my part to the ShenYu project.

First Encounter with Apache ShenYu Gateway

I first came into contact with Apache ShenYu quite early, when it was still called SOUL and was in the Apache incubation stage. At that time, in my company had several API management projects that required a gateway. After comparing it with other open-source gateways of the same period, we found that Apache ShenYu was flexible in configuration, simple and easy to operate, rich in plugins and easy to extend. It also matched our technology stack very well, making it suitable for secondary development. Most importantly, the community was very active. Based on these factors, we finally selected Apache ShenYu as our gateway solution and applied it to our business gateway.

The Road to Open Source Contribution

Due to business needs at work, I needed to modify most of the existing plugins in ShenYu and develop many customized plugins. Therefore, I started reading ShenYu's source code, sorting out the overall call chain, and analyzing the specific implementation principles of most plugins.

After deeply using Apache ShenYu, I found that the ShenYu project is excellent in both architecture design and code implementation, and I learned a lot from it. This made me more determined to become a Committer of the Apache ShenYu community.

Following ShenYu's iterations and upgrades, I continuously discovered some bugs in the data synchronization process during usage. At the same time, I met Asia00 in the community and sought his guidance on how to participate in the project.

Subsequently, I subscribed to the ShenYu project mailing list, attended bi-weekly meetings, followed the issue list, and started to keep an eye on the project's development trends. I successively submitted some PRs to fix bugs and took on some community development tasks.

Here are my main contributions:

  • Fixed some bugs in data synchronization after version 2.7.0
  • Optimized the MCP plugin to support object type input parameters, and fixed some bugs in the MCP plugin during page editing and invocation
  • Optimized the Dubbo plugin logic to support selector-based configuration
  • Added registry management function

Community Participation and Growth

I grew from a user to a committer, from fixing bugs to optimizing plugins, and then to adding new features. During this process, I improved myself significantly.

Every two weeks on Thursday, I attend the Apache ShenYu community bi-weekly meeting. At the meeting, I can hear discussions about ShenYu functions and learn about the latest trends in the community.

In the process of using, developing plugins, and discovering problems, I need to constantly read ShenYu source code deeply and understand the implementation principles of each link. During this process, my coding ability has been greatly improved, and ShenYu has also given me a lot of inspiration in architectural design.

I would like to express my special thanks to the partners in the community who have helped me, thank you for your patient guidance and help.

Advice for Open Source Developers

Since I started working, I have always yearned for open source and wanted to contribute to the open source community, but I couldn't find a direction. Participating in open source is also a process of rapid self-improvement. At the beginning, it feels very difficult. I can't find a project to participate in, don't know how to submit issues and PRs, and don't know where to pick up tasks.

For beginners like me, you must be bold in trying open source and brave in participating in the community. When you find problems during use, you must study hard, analyze deeply, and find the root cause of the problem. Then boldly submit issues and PRs to the community and put forward your own suggestions.

Secondly, keep paying attention to the project, follow the project's issue list, participate in the project's bi-weekly meetings, pay attention to the latest trends of the project, be brave to challenge yourself, undertake the latest tasks of the community, participate in project discussions, and put forward your ideas and suggestions in time.

How to Participate in ShenYu

If you also want to contribute to Apache ShenYu, you can start from the following points:

Conclusion

I am very honored to be able to contribute to Apache ShenYu, and I thank the friends in the community for their help and support. Becoming a Committer is a new starting point for me. I also hope that more friends can join the Apache ShenYu community and contribute their strength to the open source cause together.