Are you a beginner looking to make your first contribution to open-source? Want to jumpstart your open-source journey but don't know where to start? You've come to the right place!
The world of open-source can seem vast, your first contribution can be intimidating at first, but don't worry – this blog post is here to guide you through on starting your open-source journey and making your first contribution.
We'll cover everything from understanding what open-source is, to finding issues to work on, beginner-friendly projects, and even highlight programs that can jumpstart your open-source journey.
What is Open-Source?
Open-source software is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose.
It's a collaborative community where developers of all skill levels around the world come together to contribute, collaborate, and to give back to the community.
Example of open-source projects:
Contribution Workflow
This is what a typical contribution workflow looks like. You'll encounter these steps more frequently as you contribute to open-source projects:
1. Fork
A fork on GitHub is a copy of a repository that allows users to make changes without affecting the original project.
2. Clone
Cloning a repository on GitHub copies the repository from GitHub.com to your local machine, creating a local copy that you can sync with the remote repository.
3. Edit (Your changes)
After you have cloned the remote repository and setup it in your local computer, it's time for adding your changes. You usually create your own branch for that changes.
4. Pull Request
A pull request is a proposal to merge a set of changes from one branch into another, typically from your feature branch to the main branch in a remote repository.
Why Contribute to Open-Source?
Why should you contribute to open-source? Here are some reasons why contributing to open-source is worth your time:
1. Portfolio
Your readme profile serves as your live portfolio. It allows you to showcase to other people your contributions, projects that you've worked on, demonstrating your skills and involvement in real-life projects.
2. Resume
Contributing to open-source helps you to highlights your public contributions, demonstrate your technical skills and experience with collaborative projects. You can add your contributions in your resume. Check out this article on how exactly you can do that.
3. Networking Opportunities
Contributing to open-source means collaborating with other people. You won't be working alone to solve problems. You'll meet different people from various backgrounds, expanding your network and connections.
I met most of my connections and friends through open-source.
4. Soft Skills & Technical Skills
Contributing to open source helps you enhance your soft skills, such as communication and collaboration. You'll frequently discuss and solve problems with other contributors or maintainers of the repository, improving your ability to work with other people.
It also helps you enhance your technical skills as you solve real-life problems. You'll gain practical experience working on production-level code and learn best practices from experienced developers.
Finding Issues to work on
As a beginner, finding the right issues to work on can be challenging. In this section, I'll share some websites where you can find beginner-friendly issues to get started.
But first, let's understand
What is good-first-issue label?
Good First Issue is an initiative to curate easy pickings from popular projects, so developers who've never contributed to open-source can get started quickly.
Issues marked as good first issue are good for newcomers.
You can find them in issue tab and then look for we've collected some good first issues for you link.
Find beginner-friendly issues
1. Good First Issue
Good First Issue curates easy pickings from popular open-source projects, and helps you make your first contribution to open-source.
2. Up For Grabs
Up For Grabs is a list of projects which have curated tasks specifically for new contributors. These are a great way to get started with a project, or to help share the load of working on open source projects.
3. Codetribute
Tool to help contributors find interesting good first bugs and issues to work on.
4. awesome-for-beginners
A list of awesome beginners-friendly projects.
Projects for Beginners
Here are some of beginner-friendly projects for those looking to make their first contribution to open-source:
1. first-contributions
This project aims to simplify and guide the way beginners make their first contribution. If you are looking to make your first contribution, I highly recommend start on this repo.
2. open-source-practice
Repo for you to raise a Pull Request for practice
3. fork-commit-merge
Fork, Commit, Merge. A project designed to help you familiarize yourself with the open source contribution workflow on GitHub!
Open-Source Programs
Open-Source Programs is an another excellent way to jumpstart your open-source journey. These programs encourage students and developers of all levels to contribute and begin their open-source journey. They provide a structured environment for developers of all skill levels make their first contributions under guidance and support. Here are some of the programs:
1. Hacktoberfest
Hacktoberfest: a month-long celebration of open-source projects, their maintainers, and the entire community of contributors.
2. Google Summer of Code (GSOC)
Google Summer of Code is a global, online program focused on bringing new contributors into open source software development
3. GirlScript Summer of Code (GSSOC)
GirlScript Summer of Code is a 3-month long OpenSource program by GirlScript Foundation. 10th May - 10th August 2024
4. Social Winter of Code (SWOC)
Social Winter of Code is an open-source program envisioned by the Social. It aims to bring students into the world of open source development and see the power of unified problem-solving in real time.
You can find more programs here
Summary
Your first contribution to open-source might seem challenging and intimidating at first, but it's an incredibly rewarding experience.
The earlier, the better. You will never feel completely "ready." The open-source community welcomes contributors at all levels, so don't be afraid of making mistakes. Take that first step!
So, what are you waiting for? Pick a project, fork that repository, and make your first contribution.
Goodluck! Happy Contributing! 🩷🚀
Top comments (0)