My First Open Source Contribution
Tags: git, hacktoberfest, devjournal, codenewbie
Published: 2021-12-06 03:35:31

It's been a while after **Hacktoberfest 2021** 🤩, my very first hacktoberfest. I would like to share my story to motivate more people to start contributing to open source.

## A Bit about Myself
I started to code around 2017 and my very first programming language was C (i barely remember the syntax now) for university assignment, then progressed into web development with PHP(Laravel), HTML, CSS, & Javascript. Since the pandemic, i had trying out various programming language and framework such as Java, Python, Swift, Typescript, React Native, Django, Nest JS, etc. Currently focus more on Javascript and Typescript as fullstack developer. 

## Open Source Encounter
Sometimes in 2019, senior of mine introduced the concept of open source where our code publicly available, could be contribute and use by developer around the world. A lot of programming language, framework, and tools are actually open source product such as **Linux, Firefox, Android, PHP, etc**. Contributing to open source can be a self satisfaction and enrich your CV as Developer.

## First Open Source Experience
Based on idea above, I started to search open source project to contributed. Most of open source can be found at git repository services like **Github, Gitlab, etc**. Back in the day I think that we must contribute code to the main application / library to improve, bug fix or suggest new feature (It's untrue).

After a lot of searching on Github, Here was my problem:
- I can't found any repository that suit my skill level, i try to find HTML, CSS , JS repository. The project is either too complex, undocumented or beyond my understanding.
- I'm not used to git version control system, I only learn about clone, pull and push.

Then I gave up on the idea of contributing as a beginner. made self conclusion that only expert can contribute to the open source.

## Hacktoberfest 2021
A newsletter from digital ocean about hacktoberfest coming to my email. Interested by the name I read and turns out hacktoberfest is one month event where developer could share, organize and contributing to open source project. check hacktoberfest website https://hacktoberfest.digitalocean.com/.

I sign up for the event out of eagerness what a mediocre developer like myself can do. Attend the opening meeting and got new insight of open source contribution:

- You can contribute not only to the main code, but documentation and example code as well
- Most of open source project have a contribution guide
- You could check `Issue` tab to know what you can contribute
- Some repository even need a translate contribution

What's make me more motivated is the hacktoberfest challenge. We need to made **4 Merge Request** (term's for requesting our changes merge to repository) within October month, and we will **receive t-shirts as swag** or they will **have a tree planted in our name**.

Long story short I completed the challenge 🎉🎉🎉. I contribute 4 MR to Appwrite repository by creating an example on how to use the Appwrite SDK. Checkout Appwrite which can make your development easier and faster. 

{% github https://github.com/appwrite/appwrite %}

## Conclusion

Here is summarize of my learning throughout my open source journey :
- For a beginner we can find open source community to help and guide us, rather than searching aimlessly alone.
- try to find `good first issue` label in the issue. it usually required a very basic understanding on the repository
- Join a contributing event like hacktoberfest to motivate ourself to make it to the end.
- Read the contribution guide at the repository, it gave a lot of information about the project and the rules for contributing.
- Some repository even have a group channel at discord or slack, join so we can communicate and learn with their team. 
- Contributing on repository with lot of star can be a pride, because the more star the repo have it means more developer use it.
- _[Hacktoberfest spesific]_ , always remember to check the `hacktoberfest` label on the repository or issue to make our contribution counted.

Contributing to open source is not an easy task, but it's not as hard as we think. we could read the hacktoberfest website which provide a video on step by step to create merge request.

Thanks for reading, kindly leave a comment 😗