Have you ever heard of the term Open Source? This term is so popular these days that non-techies are strangely attracted to it. In this article, we will be gaining interesting facts about the open-source which has been taken to another level. This level is being popularly called Hacktoberfest these days. The name Hacktoberfest is primarily chosen just because it is held in the month of October every year. Let's learn more about it.
What is Open-Source?
Open-source is a term that has been derived from the term Open Source Software (OSS). It is a kind of software that is released openly on the internet under a license where other developers or contributors can use the source code to study, change, implement or overall contribute to its core. This access is granted under a copyright claim where the source file holder allows the community to modify changes without having to worry about software piracy. It is, therefore, open for all, open to change, and is developed in a collectively public manner.
What is Hacktoberfest?
Hacktoberfest is an online festival for the open-source community that is organized by Digital Ocean, an American cloud services infrastructure provider that has data centers across the globe. Hactoberfest is put into effect by Digital Ocean and is solely controlled by GitHub. The term Pull Request, as we all know, is created while contributing to open-source projects involving different tech stacks. Hactoberfest is organized every year in October where many developers contribute to the open-source. It is getting popular day by day due to the increase in the headcount of open-source contributors.
How to Participate?
Hacktoberfest is a challenge and an opportunity to win swags and goodies from GitHub and Digital Ocean. To participate, all we need too is to sign up on the Hacktoberfest site and make at least four pull requests on Github in October. These pull requests are needed to be merged by the owner of the repository to which we are contributing. Later, if he/she finds your modification apt, it is merged to the main branch and our pull request is therefore accepted. Else, we would be reported spam and not eligible by the maintainers. It would either not be counted or marked as invalid.
Hacktoberfest is usually a month-long event held in October, to celebrate the fascinating power of open-source software. For a decade or so, the American tech giant Digital Ocean along with its partners has been running this campaign to promote open source and its applications. The idea behind the participation is to gain enthusiasm and knowledge to visualize how smartly experiences devs code. The event rewards its first 70,000 participants who complete the challenge to promote the practice of open-source by contributing to projects. Those 70,000 participants get a set of free swags including the limited edition Hacktoberfest t-shirt as a reward. Past year there was an option of choosing the reward by either receiving a t-shirt or by donating a tree.
Although, Hacktoberfest is not just about free t-shirts and stickers. It is a festival to celebrate open source. It is all about learning and giving back to the community of developers and supporting the overall enthusiasm. It is also an opportunity to showcase skills for the existing or new developers to start their journey into open source.
Contributing to open source for the very first time might seem very overwhelming and challenging for beginners who had never had any prior knowledge or experience of it. Considering we are complete beginners to open source, Hacktoberfest is a perfect arena to get started because there's a huge community of developers ready to help. We might also consider the Hacktoberfest website to get started.
Moreover, there are tons of open-sourced projects available on GitHub for this event. We can either search by opening our GitHub account and in the search bar along the top left section by finding issues labeled with Hacktoberfest or for a beginner we can search for "good-first-issue" to get started. Also, we can search for the issue on external sites like firsttimersonly.com or up-for-grabs.net to find issues solely made easy for the new contributors. And remember:
"Issues are not just confined to fixing codes. It can be as simple as a spelling fix".
Assuming that we have found some open-source projects from goo first issue or up-for-grabs.net, let us pick up one of those projects and start contributing.
First of all, be polite and ask the chosen project from the maintainer if we can pick this task and contribute on GitHub.
If the maintainer approves, make sure one person is working on the issue. Therefore, to make changes start by forking the repository.
Now, the project is available to us as a bookmark where we can make changes. It is the right time for us to clone the repository to our system and start fixing the issue. It is quite a good practice if we create a separate branch for our code. We might even call it descriptive and follow the guidelines given. Some of the guidelines to watch out for are:
Next, the main task is to create a pull request for the changes to be merged into the main branch of the chosen project. Ensure to check the code twice and judge if they follow the guidelines. Also, we need to make sure to the maintainer by making a good commit message and committing the fixed issue. Now, move to our GitHub repository and check the forked project to create a pull request.
If the project follows a PR template, follow the details as instructed else we need to write a well-documented description including the matter of what has been fixed by us, how have we tested after making the changes, and attach screenshots along with it.
Now comes the nerve-wracking period of getting feedback from the maintainer. Be aware. The maintainer has the full right to either accept the pull request or provide feedback or even reject it. It's his call.
After careful consideration, he might merge your contributions.
Congratulations, we have made the first PR accepted. Continue working by fixing other issues in similar projects or the project which might fit our skillset. A total of 4 pull requests would make us eligible for getting those swags from GitHub.
Take along terms
Pull Request: A pull request in GitHub simply means that we have pushed the changes to a branch in the repository. Once a pull request is fetched out, it can be discussed and implemented and can be easily reviewed for follow-ups and add more commits before they are merged into the base branch.
Git and GitHub: Git is the version control system that lets us stay updated and manages the track of source code history. GitHub is a cloud-based hosting service that lets us manage Git repositories. Both of this software go hand in hand if we talk specifically about Hacktoberfest.
Version Control: It is a class of systems responsible for managing changes to a local or online repository. It keeps track of all the changes that were made by us while working on a project. Git is one such version control system mostly known.
Repository: A repository is nothing but a folder that dynamically manages all the versions of a project. It contains all the logs of history and the branches and various other files that are needed for the contribution to open source.
Cloning: Cloning in GitHub is a method of copying all the contents present in a repository to our local system. It pulls out all the source codes and markdown files and generates a copied version of the downloaded repository.
Hacktoberfest is a month-long event organized by Digital Ocean and GitHub to primarily expand the knowledge and promotion of open-source software. One advantage this event adds to the community of developers is the lateral shift or inclination of beginners to advanced developers into gaining knowledge and wisdom through it. It not only promotes the practice of open source at a large scale but also channels the nature-friendly reward it offers when one aces it. The reward Hacktoberfest offers covers planting of a tree for a cause and therefore in a serious sense, this kind of event plays a crucial role in enriching the greenery in the world through the usage of technology. Apart from the swags and accolades it offers, Hacktoberfest deals with expand its horizons globally but continuously adding more and more developers each year by collaborating with big firms and organizations. Therefore, one must always participate in such events since they not only run a cause but carry a value for a change.