So what is Open-source? 🤔
Well, frankly speaking, open-source is something which is open for all 🙂, i.e. there is no genuine owner of it. So it is defined as software for which the original source code is made freely available and may be redistributed and modified according to the requirement of the user. Sounds interesting, right?…It is pretty much interesting.
So an Open source software is merely a software with source code that anyone can inspect, modify, and enhance as per his/her necessity or work.
“I am a lazy person, which is why I like open source, for other people to do work for me.” — Linus Torvalds
Now, why contributing to open source? 🙃
If you are wondering why is it important for you to contribute even though you are a beginner, I will list a few reasons for what I have learned so far:
- You get to learn more about programming, when you are on your coding journey, you only learn the specific language or basic syntax but it might difficult for you to see how it’s applied in real-world projects.
- You know what someone is doing or has done, you can dive deep into his code and it will help you to enhance your skills.
- By raising an issue or contributing to solving one, you are able to apply what you learn in your coding courses. This makes you understand the concept better and on a deeper level.
- Learning how to use resources like stack overflow, and language documentation to solve the problem.
- You can help other developers, out there.
- You can see how a project is done and launched.
- One can enhance his googling skills as being a developer, Google is like God. 😄
- An open-source contribution is a great place where you can collaborate with other developers by improving their code or correcting them.
- Meet people who are interested in the same thing.
- You can even participate in any open-source competitions like Hakincodes, e.t.c.
In my experience, As a beginner, each contribution(though small ones too) is an achievement and is worth celebrating. Indeed, you get the motivation to contribute more and more as you are learning.
While “open source” often refers to software, you can collaborate on just about anything. There are endless things that get developed as open-source projects.
You don’t just need to have coding skills, or building any projects, or even contribute any code yet you can contribute as there are tons of ways in which you can rule. There is a Documentation part in a project/software: one can write or improve that, a Design part for e.g: Creating a logo, even can give examples showing how the project is used, suggesting a new issue, Giving suggestions, e.t.c.
So How to get started? 🏌️
Open source contribution requires you to know basic git commands and also knowing how to navigate your way on Github. You can check out Git Hub Guides, to get the basics.
Here are some few terminologies that may help to contribute to an open-source project:
- Author: The person/s who created the project.
- Owner: The person/s who has administrative ownership of the project.
- Contributors: The person/s who contribute to the project.
These files are usually listed in the top level of a repository, Some of them are as follows:
- LICENSE: Every open source project must have an open-source license. If the project does not have a license, it is not open source.
- README: The README is the instruction manual that welcomes new community members to the project. It explains why the project is useful and how to get started.
- CONTRIBUTING: Whereas READMEs help people use the project, contributing docs help people contribute to the project. It explains what types of contributions are needed and how the process works.
- CODE_OF_CONDUCT: The code of conduct sets ground rules for participants’ behavior associated and helps to facilitate a friendly, welcoming environment.
Here are a few ways in which you can contribute to an open-source project:
-Submit a bug fix.
-Add a new feature.
So lots of chit-chats, Let’s get started 🤘 …
- Start by Finding some open source projects to contribute.
- Search for GitHub projects that are open-source and have issues that are been labeled good-first issues, beginners-friendly, Easy, e.t.c.
- Read the readme file.
Here is my Open source Repository from where you can give a shot on your OSC. 💯
A curated collection of awesome Python scripts from basic to advance with automation task scripts. This is the project…
This is/will be a collection of some cool Python scripts from basic to advance.
💥 How to Contribute💥 ?
All contributions welcomed. Follow these Contribution.md to contribute.
Do read the Readme.md file for better understanding of the project.
💥 Getting Started 💥 :
Take a look at the Existing Issues or create your own Issues! (The issue tab on Github repositories is where you can search for labels that you can work on).
Read the issue carefully and do some research if you are stuck somewhere.
- [Optional] Comment That “I want to contribute to this issue” so that it can be assigned to you and after which you can start working on it. P.s. It depends on the owner how he wants you to contribute.
- Fork the Repository in your account.[See Top right corner of the Repository.]
- Create a Branch for any Issue that you are working upon.
Write a commit message and additional information that is descriptive.
- Add the files using git add [Add Scripts related to your respective issues]
- Add a commit message!
- Push changes - git push -u origin <name_of_your_branch>
- Go and check your forked Repository and Click "Compare and pull requests".
- Create a Pull Request which will be promptly reviewed and suggestions would be added to improve it.
Congratulations 👏 you created your pull request.
Don’t wait until you are ‘good enough’ to contribute to projects, just get started and you will learn along the way.
This article is also published on Geeksforgeeks.
Thank you, I hope this was helpful. 🙏