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.
- K8s website - Opening a pull request
- K8s website - Contributing new content
- video - 2018 Kubernetes Contributor Summit EU New Contributor Workshop Part 1
- video - Submitting Issues and Pull Requests - New Contributor Workshop Seattle 2018
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.