Celebrating Open Source : Hacktoberfest, 2021
Tags: hacktoberfest, opensource, coding
Published: 2021-11-08 13:09:33

## **Contents**
1. [Deciding To Participate In Hacktoberfest](#head-1)
2. [Selecting Repositories and Issues](#head-2)
3. [Creating Tutorials Is No Duck Soup](#head-3)
4. [Post PR Chore](#head-4)
5. [Rewarding Open Source Contributors](#head-5)


## Deciding To Participate In Hacktoberfest <a name="head-1"></a>

I had known of Hacktoberfest since the sophomore year of my graduation. Although I did participate in Hacktoberfest 2020 back then, I was not able to contribute properly due to lack of interest and time... maybe, or let me just accept that I am a pro procrastinator😁. This year I was not quite interested in participating in the month long open source celebration. This was majorly due to the backlash this program received the previous year because of an exodus of spam PRs and the associated work overload it brought for the maintainers of participating repositories. Another reason which also influenced me to shove off the idea of participation was, the unpopularity of DevOps and related tools in the program. There weren't many opportunities for people belonging to the DevOps niche to learn more about the said sub-domain through open source contributions in Hacktoberfest. Then What changed my mind? Well a friend of mine is to be credited for my participation. She mentioned about it during a text conversation and that did spark some curiosity to atleast visit the Hacktoberfest website once. And that one visit was enough to compel me to switch from not participating to enthusiastically searching for repos and issues I could contribute to (just wanted to add in that the whole theme of Hacktoberfest 2021's website is aesthetically pleasing!!).

## Selecting Repositories and Issues <a name="head-2"></a>

Having adored the vista of the website, I hopped over to the projects section, which enlisted all the projects that were participating. I found a few organizations which included projects that required skills which I had acquired earlier in my freshman and sophomore year. Consequently I scrolled through the issues list. Initially it was a bit disheartening to see all the riveting issues have been already assigned. "Wait a min.. I can draft tutorials for users to follow while using the product? Well that sounds fun and challenging". And that's how I grabbed a couple of issues opened to create user guides for specific use cases. No sooner I had been assigned with the issues than I started working on them. 

## Creating Tutorials Is No Duck Soup <a name="head-3"></a>

The next step involved, understanding the contributing guide and delving into the official docs hosted on their website. The tutorial should essentially consist the whole step by step procedure of creating an application on Appsmith and use different data sources to fetch, query and update the database. I had to create two applications using Notion Database and Amazon Redshift as data sources. I began with reading the docs of Notion and Amazon Redshift to create databases and store data. Eventually I learned to make the data accessible from third party applications like Appsmith. At each stage of the process I took screenshots of the progress and updates that were apparent on the screen. On successful integration of API with data source I tried giving the application a fancy look using the various UI widgets that Appsmith has to offer. Then was the time to jot down them in the form of an easy to follow guide and add them in a markdown file. Ohhh.. an interesting thing that I found during this stage was, on pressing ctrl + Alt on windows(and cmd + Alt on Mac OS) opens up the GitHub web code editor which saves the time, effort and data used to clone big repositories into your local machines. But there's one gotcha, one cannot use a terminal on that code editor. Since, I just had to add texts and code snippets and not really execute or test any code the GH online editor was convenient for me. 

![GH editor](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rgm5rb34grz99ovx1hfr.PNG)

To know about the different markdown syntax and the code highlights customization according to the programming language was probably the most fascinating for me. I had also taken up another issue that required me to enable an auto complete feature for styled components' theme definitions. This issue required the knowledge of Typescript and a thorough understanding of the codebase. 

## Post PR Chore <a name="head-4"></a>

Having created a Pull Request the next thing was to wait for maintainers to review the PR and mention updates required to enhance the quality of the PR(if any). Then on updating the PR accordingly it was approved. I can recall myself being completely impatient during the time interval between the PR creation and PR merge. And the childish glee that was instilled within me with each PR merge, is inexplicable. To sum up this October, there can't be a better description than, "code, create a PR, wait for approval and repeat". 

## Rewarding Open Source Contributors <a name="head-5"></a> 

Finally, at the end of this hectic month long celebration, there were packets of delight being distributed amongst all the hardworking open source contributors for their contributions towards various communities. These packets of delight came in the guise of swags. Who doesn't like swags and if the swags include cool t-shirts and stickers I believe no programmer can resist themselves from getting their hands on them. 


![Hack reward](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i1jhh1ag8l1er3vx0iwi.PNG)

Along with the Hacktoberfest swags each participating organization also had various swags segregated into tiers for different levels of contribution. These levels were mostly determined by the number of PRs accepted/merged. 

This October definitely proved to be one of the most productive Octobers I have ever spent in my lifetime. I hope HacKtoberfest continues to motivate beginners to get addicted to Open Source and keep treating them for their benefactions back to the community.