Manjusaka

Manjusaka

The Open Source Community I Love

Today is a great day. Initially, @yuchanns, whom I introduced to the nerdctl community, was recommended by the main maintainer of the project, @AkihiroSuda, due to his active participation, and became a maintainer of the project, as seen in nerdctl#PR1540. I was also nominated as a committer in this project, as seen in nerdctl#1539. With the discussions about open source in the public group today, I want to write an article to record my own experiences and hopefully help more people love and embrace open source.

Why I Participate in Open Source#

The first open source project I participated in can be traced back to 2016, when I was still in my undergraduate years. At that time, I joined the Gold Miner Translation Project (which claims to be the best English technical information translation project in its slogan, and I think it's not an exaggeration). In this project, I first encountered Git Workflow and fully experienced the world's largest same-sex friendship community, GitHub (although I have made great friends through this project). My first contribution to a code project can be traced back to March 2017 when I added a code example to the Sanic project, as seen in Sanic#PR558.

Since then, I have been continuously participating in open source communities. Up to now, I have contributed to many open source projects, including CPython, Docker/Moby, Taichi, Logseq, Kubernetes, Dubbo, TiDB, nerdctl, and more. I have also been continuously learning the working methods, culture, and technologies of open source communities. (The last sentence was automatically completed by GitHub Copilot) (XD)

So, why do I participate in open source communities? Or, to put it more pragmatically, what benefits does the open source community bring to me?

Simply put, it allows me to grow comprehensively.

First of all, participating in open source communities is an excellent process of improvement for me. You can learn a lot of things here:

  1. How to effectively persuade others.
  2. How to write good unit tests.
  3. How to polish code style.
  4. How to help other newcomers.

Let's not talk about earlier links for now. You can see my contributions to the nerdctl project in 2022 nerdctl#ZheaoLi. It is obvious that my PRs have improved in terms of quality and style. This is actually the most direct growth that the open source community has brought to me. I am fortunate to have excellent Community Mentors who never hold back on my PRs and provide strict reviews, which have prompted my continuous growth.

At the same time, it gives me the opportunity to express my ideas, initiate proposals (such as nerdctl#Issue1387), learn to be an owner, and help more newcomers get involved.

In a sense, this is a special experience that daily work cannot provide. The relatively low level of interest conflicts in open source communities makes mutually beneficial behaviors more pure and natural, and allows people to benefit more. Here is a quote from @yuchanns tonight:

I think everyone will encounter this dilemma when they first learn programming: after learning, they don't know what to do and feel like they haven't learned anything, so they look for various practical tutorials to deepen their understanding.
This phenomenon will quickly disappear after actually working because there are practical application scenarios.
But when you become interested in some other areas, you will encounter this confusion again, and these are things that are not often encountered in work. Unless you change jobs, you can't get rid of the dilemma through work experience.
At this time, participating in an open community is a good choice. The needs generated by other people's work provide you with practical opportunities ((You don't need to get involved in specific work one by one, as long as you solve the needs that arise from it, you can have the opportunity to apply what you have learned ((

Of course, from a pragmatic perspective, actively participating in open source communities allows you to meet interesting people, which can make your career smoother.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.