Introduction
Open-source software has been around for decades, but it's only in recent years that it has gained mainstream acceptance. With the rise of open-source projects like Linux, Apache, and WordPress, more and more people are becoming interested in the world of open-source.
If you're new to open source, it can be overwhelming to know where to start. That's why we've put together this beginner's guide to open source to help you understand the basics and get started on your open-source journey.
What is Open Source?
Open Source Software (OSS) is code that can be easily accessed by the public, making it able for them to see, modify or distribute said code. Open source is often decentralized based on community collaboration.
Why contribute to open-source?
There are many reasons why people choose to contribute to open-source projects. Some common motivations include:
It builds your resume by demonstrating that you can collaborate with others on code.
Open-source projects are built and maintained by a global community of volunteers, which can be a great way to meet and collaborate with like-minded people from around the world.
It gives you practice with Git and GitHub, which is a valuable data science skill.
It helps you to build relationships in the open-source community
What to Know to Get Started with Open Source
Know Git Basics
Become Familiar with GitHub
Learn to Fork a Repository
Learn to Resolve Merge Conflicts
Learn Markdown Syntax
Benefits of Open Source Contributions
Open Source contributions come with several benefits to the developers. Some key benefits are:
Get a chance to upskill yourself.
Make the software/application better with code and documentation.
Meet like-minded people, and build networks and communities.
Understand the application development and maintenance cycles.
Learn from Pull Request feedback.
Learn how to manage your code as open source.
Do I have to know how to code?
We often think that only 'Code' Contributions matter but that's not the case. Non-code contributions are equally important as Code Contributions.
There are many ways to make impactful contributions to open source that does not involve contributing code.
Documentation.
Reporting Bugs.
Organising Events.
Mentoring new contributors.
What are the best ways to get started with contributing to Open Source Projects?
There are several ways to get started with contributing to open-source projects. Here are a few options to consider:
-
Look for beginner-friendly projects:
Many open-source projects have a "good first issue" label or a "starter task" label that is specifically designed for new contributors. These issues are typically smaller and simpler tasks that are a good way to get started.
-
Join a community:
There are many open-source communities on platforms like GitHub, GitLab, and SourceForge. Joining one of these communities is a great way to find projects to contribute to and connect with other contributors.
-
Find a project you're interested in:
If you have a specific area of interest, such as machine learning or web development, you can search for open-source projects related to that topic and see if they need contributors.
-
Check out the Open Source Initiative website:
The OSI website lists many open-source projects, including those that are actively seeking new contributors.
-
Attend online events and hackathons:
Many online events and hackathons are organized to get more people involved in open-source projects. This is a good way to find projects and get connected with other contributors.
-
Start your own open-source project:
If you can't find a project you're interested in contributing to, you can always start your own open-source project. This is a great way to learn new skills and build a community around your project.
Where to find a project to contribute to?
If you’re looking for existing issues you can fix, every open-source project has a /contribute
page that highlights beginner-friendly issues you can start out with. Navigate to the main page of the repository on GitHub, and add /contribute
at the end of the URL (for example https://github.com/facebook/react/contribute
).
You can also use one of the following resources to help you discover and contribute to new projects:
Conclusion
If you've never contributed to open-source projects or you are hesitant about it, you should start now. It's very important and will help you a lot by giving back to the community.
Thank you for reading this Blog. Hope you learned something today! If you found this guide helpful, please like, share, and follow us for more blog posts like this in the future.
Top comments (11)
Good read 👏👏
I'd like to mention two posts I wrote previously which could be helpful to those who are trying to contribute to open-source projects.
Pay your rent from open source 💸
Liyas Thomas ・ Sep 23 '19
Celebrate Open Source with Hacktoberfest
Liyas Thomas ・ Sep 28 '21
Really interesting article.
When I was a student (not so long ago 😅).
I have participated to an open source project of the linux foundation.
I've learned a lot (even make some money). I think it is one of the most valuable experience I had at the moment since it brings me a lot of others one for jobs.
That's a great
I would love to read about your experience!
Yeah, I will totally write about that. :D
Fwiw, this is not the definition of Open Source.
Open Source software is code that is licensed such that users are granted the rights to use, study, change, and distribute it. It may or may not be developed collaboratively and/or in the public.
I don't mean to be pedantic here, but it's super super important to not get into the habit of assuming that just because you can access the source that a project is Open Source. That's how you end up inadvertently getting your company caught up in a legal battle.
Sorry,Ben!
It's my mistake!
Thanks for pointing out!
very well said and thanks for helping us newbies grasp the right info
nice tips!
Glad you liked it!
Hey Arindam thanks so much for sharing these tips! Really love open source as a means of upskilling and building solid portfolio/resume experience
I come from a self-taught background and starting my own open source project in 2020 was without a doubt the defining start of my career in software engineering and I really owe a lot to the open source community as a result - it's a great way to meet a lot of really interesting people building really interesting projects
Thanks a lot for Chris!
Glad you liked my blog!