Stepping on the tail of November, Apache Pulsar ushered in a new committer - Guo Jiwei. Guo Jiwei is currently working on the development of the Pulsar main project and its surrounding ecology in MoP (MQTT-on-Pulsar). He is also a PMC member of the Apache DolphinScheduler. We interviewed this open source person with multiple identities to chat with him about his experience and thoughts in the Apache Pulsar community. (The following is in the first person.)
Personal profile
Hello everyone, my name is Jiwei Guo, I am honored to be an Apache Pulsar committer and to meet you through an interview. I am currently working on the development of Pulsar messaging in StreamNative, focusing on MoP (MQTT-on-Pulsar) and the maintainer of the MoP project.
"Ancient" Pulsar Project Enthusiasts
I should be one of those people who learned about Pulsar very early in China. The Pulsar Chinese community was established in 2019, but my relationship with Pulsar can be traced back to 2016. At that time, the company's infrastructure used RocketMQ. I learned more about MQ products through open source, so I learned about the Pulsar project as early as 2016.
Later I joined Momo's infrastructure group. At that time, Momo encountered many operational and maintenance difficulties with Kafka, such as capacity expansion and contraction, asynchronous error reporting, etc. We investigated Pulsar and started deploying Pulsar. During this period, I participated in many community meetups and met many senior Pulsar developers and users, which deepened my understanding of the project and the community, and laid the foundation for becoming a "full-time open source person" in the future.
Full-time open source - Pulsar developer
Someone asked me why I joined StreamNative to fully commit to open source around Pulsar. First of all, because I am optimistic about the cutting-edge of Pulsar technology, under the trend of cloud native, Pulsar's distributed architecture of separation of storage and computing is the most suitable for the current digital needs of enterprises.
The second reason stems from the Pulsar community. Because of the system transformation of the former company and my many participation in community meetups, live broadcasts and other activities, I was fortunate to have face-to-face communication with many developers and senior users in the community, especially with the two leaders of the Pulsar Chinese community, Zhai Jia and Li Penghui. Benefit from the conversation. The whole community has a strong technical atmosphere, and it is extremely comfortable to communicate with a group of people who are also focused on technology. I am also infected by everyone's sense of belief, and I am more and more aware of Pulsar's technology and the value it brings to enterprises in a big data environment.
To do open source is not to engage in charity, and to use open source is not to cut wool.
Some people will also question my profession: since the open source code is public, aren't you just doing charity and letting everyone harvest wool for free? I totally disagree with this view.
From my personal experience, I am fortunate to have a strong technical atmosphere in the team of each company I work for. Everyone is not only an open source user, but the entire team will actively learn and submit code to participate in and support the open source project during the use process. I started contributing code to open source projects in 2016, and in 2019, my spare time is spent in the open source community. I first participated in Uber's open source uReplicator project and completed the multi-machine room migration of the Kafka ecosystem; then I became an early project member of Apache DolphinScheduler, and is currently a PMC member of the project; later I studied ElasticJob and became an ElasticJob committer; now I was elected to Apache Pulsar committer. Using open source and contributing to open source can help a person quickly improve their technical ability, and good projects are all open source. In the open source community, whether you are a developer or a user, you can learn a lot from your partners and each other.
In the nearly half a year of becoming an Apache Pulsar developer, I have communicated with the most cutting-edge developers and community leaders in the industry every day, and I have a deeper understanding of cutting-edge technologies in the field of projects and messaging. As a technical person who focuses on his own growth, this is undoubtedly a great sense of achievement and joy. With the deepening of my cognition, I can gradually help the community better through my own abilities, and encourage others to participate in the project and ecology. At present, the MoP project I am mainly responsible for has several external developers actively taking the lead in contributing.
Senior open source people take you to the Pulsar community
Compared with other systems, Pulsar is a purely asynchronous programming model. This model is relatively young in the domestic market and needs to be understood through more avant-garde and advanced thinking. Before Pulsar entered the public eye, other MQ storage models were relatively simple, but Pulsar's native cloud-native and distributed architecture is an advanced technology: storage and brokers are all distributed, and every link is distributed and cloud. The original concept has a certain threshold to understand.
Pulsar is a big project with a high threshold, because although it is easy to run, it is difficult to use. Everyone can easily get the whole system up and running quickly, but it can take a long time to struggle with a problem. Therefore, I suggest that you read the technical documentation before contacting Pulsar. Some people in the community complain that Pulsar's documentation is not as good as several predecessors' projects. In my opinion, Pulsar's documentation may not be suitable for business personnel. However, from the perspective of development and operation and maintenance, Pulsar's documentation is very well written.
Then stick to reading the source code, look at the issue, take an issue to understand the project, and learn through the question and answer in the exchange group; if there are people who know Pulsar around, you can also ask the big guy nearby. The better thing now is that Pulsar also has its own Chinese books, which is convenient for us to conquer this project.
Initial contributions can start from fixing bugs, such as fixing NPE, flaky test, etc. The Pulsar GitHub repository has many issues with the help wanted tag, which is a good start for the first Pulsar PR.
Committer testimonials
I have to sigh: the Pulsar community is developing too fast, and the threshold for entering the community is getting higher and higher. This year, the code activity of the Pulsar community has surpassed that of Kafka. I hope that the code activity of Pulsar will flourish, and I hope that with the joint efforts of everyone, Pulsar will become a leading dark horse in the field of cloud native messaging.
With my current abilities, I'm still a long way from hitting the Pulsar PMC members. I want to devote more energy to continuously optimize my technical level and help more people participate in Pulsar through the identity of a committer.
Join the Apache Pulsar community
Participating in open source can gain recognition from inside and outside the company and the community, and make friends with like-minded partners from various fields; at the same time, it can also improve personal influence and promote personal development. Participating in open source is not exclusive to coders. Community, documentation and other aspects can allow everyone to use their skills.
As a global open source project, as of now, Apache Pulsar has nearly 470 contributors, 10.0K+ Stars, and 2.5 K+ Forks. We have provided a participation guide for everyone, and welcome more and more small partners to help the continuous development and progress of the Apache Pulsar project.
Related Reading
Follow public account "Apache Pulsar" to get dry goods and news
Join the Apache Pulsar Chinese exchange group👇🏻
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。