0%

Contribute to a open-source project!

Objective

Introducing how can a beginner contribute to the first open source project.

Why do I want to contribute to open-source projects?

First, I want to learn the tools and library I had used before rather than just stop at the use-only level. Through reading the code, I believe I can deep dive into the project and if I met a problem I can solve it by contributing to the open-source project. After all, Code is read much more often than it is written.

Second, the job market is no longer as thriving as before. Apart from continuing to solve the leetcode problems, I tried to use the strategy of participating in an open source community to find the internship of full-time software engineer opportunity.

Last but not least, it is fun to cooperate with someone you don’t know and still achieve something in the internet world, isn’t that amazing?

How to start to involve in the open source project?

The first step, I will suggest, is watching this freecodecamp video, it provides great and thorough content to let you know how to start. The topic is mostly surrounded by 2 things, git and GitHub. If you are already familiar with the git and GitHub flow like me, I will suggest just jumping to the How to find open soure project part to get started.

If your organization has used GitHub as the code repo, I believe you will contribute to a project very quickly. All you have to do is searching the project you are interested in and the issue you are comfortable with to make a change.

I found out that the good first issue is the most useful label in my point of view. The reason is that the project maintainers already help beginners to pick the starter issues that make the contribution less intimidating.

How do I choose what project I want to participate in?

I choose Kubernetes based on my past experience when managing the cluster. Furthermore, though I know the architecture and most of the common and useful kubectl commands, I found out that Kubernetes project is actually a great project to learn about API design and software fundamentals.

My first Pull Request

My first pull request is a tweak on kubebuilder documentation. It is a change related to direct correct hyperlinks. Though it seems small, for me, it is a great start to engage the project I care about and what I am capable of.

I was surprised that how active is the kubernetes project. My pull request was reviewed and merged within 2 days.
And my another pull request was merged less than one month.

These two pull requests were both searched by good first issue label.

Resources of contributing Kubernetes project

Here is the list of resources while I learn how to engage in the Kubernetes project.

If you are interested in contributing Kubernetes project, checking these materials out definitely helps!

Reflection

Actions speaks more than word. About a year ago, I want to participate in open source, but I was scared I am not doing great and kept telling myself it is difficult to contribute to open source. Well, the reality is the opposite. It is just the fear in my imagination. Taking the small step first, and continuing along the way will eventually cultivate the skill I want to acquire.