Skip to main content

[From users to Committer, different experiences and gains]

· 5 min read

New Committer Introduction#

Hello everyone, my name is qicz, and I am very honored to be invited by the Apache ShenYu community to become Apache ShenYu Committer. I am a "unknown" programmer. Miscellaneous, because I was also a part of entrepreneurship that year and that month. At that time, I often had to choose a different programming language to practice miscellaneous. In the process, there were more opportunities to learn about and contact many varieties of projects. . I am also an open source enthusiast, and I like "playing with code", so I often find myself in the open source community. I have always been adhering to the concept of open source and have worked on several open source projects. There are often many fun and interesting open source projects in the community, and Apache ShenYu is one of them. Next, I will briefly share with you my feelings during the time I participated in the Apache ShenYu community。

Mental journey#

​ I learned that Soul is a very early time. The official contact with Apache ShenYu was in September of this year. At that time, I just received the company's gateway demand, and it took a short time to master and produce something.

​ For gateway projects, there have been studies before, such as Spring Gateway, Kong, etc. After this period of research and continuous participation in the Apache ShenYu project, I am very satisfied with its design concept-plug-in, everything is done based on plug-ins. Although gateways like Kong also support plug-ins, lua is really not fun. The other is that Apache ShenYu's documentation is also very rich, explaining the core design and the principles of some plug-ins in a very detailed manner. Apache ShenYu is implemented in Java. As a no-brand designer, I am still very porridge. But despite this, it is really painful to study it. The first time I saw the source code of Apache ShenYu, it was very big, and the modules were divided into many details.

Everything is difficult at the beginning, and it may be smooth if you have a good beginning. My beginning was about the processing of crossfilter, and put the configuration written in the code into the external configuration file. Looking back on the process of submitting pr for the first time, it was really boring, and I still feel too painful until now.

Provide Pull Request#

​ First of all, all issues, prs, and emails must be in English. I haven't written things in English for some time. Many times I have written by myself. I can't believe and determine if there is a problem with what I wrote. It is estimated that many times I have done Chinese English. However, based on my many years of entrepreneurial experience, everything is a paper tiger. In many cases, as long as I keep on doing it, it will get better and better. Up to now, the constant use of English to organize all kinds of things has become more and more comfortable. Happy! Beautiful! Wonderful!

​ Another, every time you submit the checkstyle and test of pr, it is also very boring. Because the source code has very strict specifications, from comments to line breaks to punctuation. I have been in contact with programming since I was in college. Because the instructor asked us to pay attention to the coding style, we have strictly required our own coding until today, and constantly practiced my code cleanliness skills. I think my coding is very standardized, but I was really defeated in the first pr. On the one hand, the process is not very clear. On the other hand, because of the large number of modules, the local package checkstyle is very slow, and many problems require a complete package process to be exposed. I remember the longest time since it took almost 2 hours.

This process is really too painful. But after many attempts, the first pr succeeded. The difficult beginning is over. But from a personal point of view, it is very supportive and agreeable. If there is no such meticulous requirement, how can we better build this project and community, and use this as a basis to help and serve more small partners.

Community and company integration#

​ In the process of continuously matching the company's needs, the research on Apache ShenYu is also constantly deepening. I started to do some customized development. In the process, other bugs were constantly discovered, so there were second, third and more prs. In this process, many times are completed on weekends or staying up late. It is really tiring, but it is still very fulfilling. Especially when my own PR solves the actual needs and is recognized by the community at the same time, it is really an achievement. Feeling full.

​ With the passage of time, I now have a deep understanding of Apache ShenYu. In the future, I will do my best to devote my spare time to the construction of the community and gather actual needs, regardless of the design and development of various features. Adhere to the original intention of open source-from the community to give back to the community, make more contributions to the community, and grow together with the community.