Hacktoberfest & Open-Source Explained
A Quick Guide Explaining What Open Source is And How To Get Started as a Open Source Contributor if You Are a Software Developer or Data Science Beginner.
Open Source. It’s a term that every software developer, Data Scientist, and even some people who are not from the technical background are aware of. But what does this term exactly mean?
What’s Open source?
Open source, which was previously known as ‘open-source software’ is a term given to a code that anyone can access and even try to modify.
A company or an individual can create a particular software or service and once it’s not helping them generate good revenue (or it wasn’t created with the aim of monetary gains in the first place), they can make it open source so that the developer community can access it, analyze and understand it’s working, or even suggest some changes that would make that product or service even better.
In some cases, instead of releasing the entire proprietary software as open-source, a company can decide to make only some part of their product open source.
Generally, the motive behind this scenario is to give the community a chance to hunt for bugs and security flaws within the code, which in turn helps the company make its product more robust.
The contributors in these bug-bounty programs are awarded by the company accordingly. The best example we have for this is Tesla. Tesla has some of its in-car technology open-sourced for the community to view. It organizes regular bug-bounty hunts to improve their product.
Every open-source software hugely benefits the whole developer community. Whenever a company decides to make their product open source, it gives these developers a chance to have a look at the source code and learn about the whole workflow of the product.
It’s an opportunity for the developers to dive much deeper into the various frameworks and methods that were used to make that product.
How do you get started with Open Source?
So, you now know what open source is. But with this, an important question arises. The question is, how do you get started with open source, and what exactly are the benefits? Let’s move ahead and answer these questions.
GitHub is the most famous place on the internet for the developers, where companies and developers can upload the code that they write and then make it public for everyone to access after it has been open-sourced.
As of now, GitHub hosts hundreds of thousands of open-sourced projects, which makes it the perfect place for anyone who decides to get started with open source.
Open-source contributions help one grow personally as well as play a key role when it comes to the aspect of professional growth as a developer.
Making open source contributions helps a person take a look at and analyze codes written by others. This has two primary benefits. Firstly, by looking at the source code of a program, one can develop a better understanding of how the software and its various components work.
The other major benefit of reading someone else’s code has a lot to do with how programming works in a real-world scenario.
Generally, while developing software, one has to work in tandem with a team of other developers. This involves multiple people writing and editing code for a single project. Now, each developer has a signature programming style which might differ a lot from, say, the other members of the team.
As a consequence of this, upon analysis of the code at a later stage, one might observe some considerable variations in the coding style in different sections of the code base of the software.
Now, what role does open source contribution play here? By reading more and more codes, you get used to reading and comprehending the codes written by different developers. In the longer run, it helps one prepare for the real-word coding experience and enhances their logical thinking, which is a crucial aspect of programming in general.
Apart from this, when a person studies a code and then suggests some improvements to it, firstly it reflects their grasp over the domain knowledge that’s required in building such a product. And secondly, it helps them in applying that knowledge to a real-life product that people are using and benefitting from.
As a developer, making contributions to the open-source community is highly appreciated and is indeed a strong boost for one’s portfolio.
With all of these, there are some other added benefits too. If one’s contributions are good enough, they might get paid and receive some incentives in return for their work.
Let us consider an example here that will help you understand things better. Let’s say, a person decided to take a look at the source code of a company’s product where a simple linear regression model is being used.
They studied the original code and found out a way that could help the company in achieving even better accuracy than what they have at the moment.
By doing this, they got a rough idea regarding how the company would have made the product. It also gave them a chance to put their skills and knowledge to test to improve an already existing product and service.
Thus, not only the owner of the project but also the person contributing benefitted from this.
What is Hacktoberfest?
Now that we know what open source is and what the benefits of open source contributions are, let’s understand what Hacktoberfest is. Hacktoberfest is a celebration of open-source software that takes place every year during October.
The first edition of Hacktoberfest was conducted back in 2014 and since then it has been conducted every year during October.
So what do we do in this month-long event? All you have to do is make 4 pull-requests on GitHub.
That’s it! Unbelievable right? Well, that’s exactly how Hacktoberfest works.
You need to find open source projects on GitHub that you find interesting then look for bugs or changes that would benefit the project. Or, you can also help the team fix the existing known issues within their software.
The basic workflow is like this. You can create an issue or address an existing one, have a conversation with the owner of the project and if they like your changes and suggestions, you can make a pull request. After verification and testing of the changes that you made, these changes will be merged in the main project.
Once you have submitted your 4 pull requests, the Hacktoberfest team will review them to check whether these pull requests were genuine and whether they provided some value to the project. Once the review is complete, you are eligible to get a limited-edition T-shirt and some cool Hacktoberfest swag!
Making your first Pull Request and participating in Hacktoberfest 2020!
Here’s how you can make your first contribution on any GitHub project –
So, is this opportunity only available to software developers? Not! There are tons of projects on GitHub related to data science, Machine Learning, and AI that you can contribute to. Let’s have a look at a small example for you to get started.
- Find a project that interests you. For example, if you are someone who would like to provide the community with some good datasets, you can contribute to awesomedata on GitHub.
- Once you have added your dataset, wait for it to be reviewed by the repository maintainers.
- Once reviewed, you will be notified if your dataset was merged into the main repository of public datasets or not.
And that’s how you can contribute towards the development of the Data Science community. This here was just one example.
You can also contribute to other small open source projects that people have worked on, helping them fix bugs or by adding some new features to their projects that would help them in making it better in the long run.
You can even contribute to the big frameworks that Data Scientists and ML engineers use.
The only prerequisites here are that you should have a piece of good knowledge about what you are doing and some familiarity with the git workflow.
Hacktoberfest provides all the software developers as well as Data Scientists the opportunity to give back to their respective communities.
The whole point of this month-long celebration of open source is to provide the individuals, and the community as a whole, an opportunity to improve their developer skills and grow together.
Hacktoberfest 2020 starts from 1st October, and the registrations are now open. Go ahead and register and help the community grow. There are several goodies up for grab. So just contribute! No contribution is big or small, and every contribution counts.
Link to register for Hacktoberfest 2020 – https://hacktoberfest.digitalocean.com/