What is Open Source?
Let's talk from a beginner's point of view, we have been using open-source projects or software ever since we were kids so far. For example, VLC media player, Chromium (Chromium is a free and open-source web browser project), we have open-source programming languages, android is an operating system used by so many companies and you know Linux is an open-source kernel, so open-source is everywhere(means there are code and non-code contributions it's not just for developers keep that in mind!).
Open source is like joining a creative community fair where you and others build awesome things together. You contribute your ideas and skills, learn new things, and collaborate like friends working on a big project. It's a global effort, making a positive impact on people's lives, and it's a joyful journey of growth and achievement.
In general, it's free to use, access, and modify depending on the licenses. It's an inclusive community and you get to collaborate with people around the world.
What is OSS?
Open Source Software(OSS) is software with source code that anyone can inspect, modify, and enhance.
"Source code" is the part of the software that most computer users don't ever see; it's the code computer programmers can manipulate to change how a piece of software—a "program" or "application"—works. Programmers who have access to a computer program's source code can improve that program by adding features to it or fixing parts that don't always work correctly.
Some more examples of OSS(Open Source Software)
GNU/Linux
Mozilla Firefox
VLC media player
SugarCRM
GIMP
VNC
Apache web server
LibreOffice
jQuery
Why Contributing is Important?
Let's talk about why contributing is important as a student or even as a working professional if you want to gain some new skills. You know as a student you are building your resume and stuff and like in the first and second year you might not get internships or opportunities as such(that's also in my case), so contributing to open-source is a great way to showcase who you are, get real-world software development experience from the comfort of your home, especially if you have a college that doesn't provide you many opportunities
Prerequisites
So for the sake of prerequisites, you don't need to be an expert in anything. I just say "Learn enough to contribute".
So you must know these things before contributing to open-source:
Git and GitHub (Learn from here personal recommendation)
Programming language of your choice
And a tech stack of your choice, it can be web development, mobile development, blockchain, machine learning, deep learning, cloud, DevOps, Kubernetes, etc. You get it right!
Finding the projects and organizations
So, in order to contribute to open-source you need a project or an organization. Let's see how can we find that!
So Google Summer of Code is a great website to find projects or an organization. I have provided you a path how to find a project, just google once and go through any project read the documentation, check their mailing list
Setting up the project
After finding the project and knowing all the necessary information that you need. Then use the project, and try to set up the project on your local system, run the test cases on your local system and try to build the project on your local system. Now after doing this, you might face issues. So first, go through their documentation may be you get the solution there but if not join their mailing list for any sort of communication that they have provided. I mean the project that you picked and you get stuck who can help you better the project maintainers right? And remember this ask a good question, don't ask questions which answers you can find just by googling or by reading their documentation.
Solving the issues
So when you go on the GitHub repository you can find there "Good first issues" and these are very easy-to-get-started issues, it's like changing the documentation, some template stuff, and metadata.
First, you learn the skills and select the organization or first, you select the organization and then learn the skills being used in that organization, both of these things go simultaneously. Most of the time you'll be spent reading the code and writing the code.
Non-Code Contributions
You can start from here with your non-code contribution journey with Divya and Savita who have contributed in non-code contributions.
20 + Paid Open Source Programs
Projects on GitHub
So in your GitHub account check the Explore section where you can find the project. You can search for any project that you want to work on any tech stack you can just simply search with that tech stack.
My first open-source contribution
So I was very fascinated about contributing to open-source. I just start searching about it how can I contribute to open-source and how I find beginner-friendly stuff right, So I just came across Eddie's EddieHubCommunity and I found a project that is very beginner friendly even a non-coding background people can also contribute. And this is their LinkFree GitHub Repository where you can find the documentation of how to contribute to their Linkfree project which is an alternative to Linktree you may have heard about this.
What is LinkFree(BioDrop)?
Linkfree is now known as "BiodDrop". A platform where people in tech can have a single hub to showcase their content in order to accelerate their career, whilst contributing to an Open Source project and being part of a community that has a say in where the project is going.
Your profile will have links to your social media and content. You can also add your timeline, testimonials, and upcoming events that you are participating in.
Here you can check my Biodrop Profile: https://biodrop.io/Suraj-kumar00
So in the end I just want to say that start contributing to open-source as soon as possible, It's the way by which you can get what you want in tech.