Data science

How to Start Contributing to Open-Source as a Beginner

To get a job in software development, you need to have work experience. But you can’t get it without a job. It’s a vicious circle, isn’t it?

Unfortunately, too many students encounter it these days. So, the question is: How do you convince your first employer that you deserve that job?

One way to do that is to get programming experience beyond the classroom and corporate world. And this is where open-source projects come in. Supported by volunteers, they’re always open to newcomers.

What’s more, more experienced open-source contributors can become your mentors and show you the ins and outs of your future profession.

Here are 5 tips for getting started as an open-source contributor – even if you’re a total beginner.

 

1. Make Sure You Have Enough Time
First things first. Before you even start looking for projects to contribute to, you have to be sure you have enough time to really commit.

The thing is, no one likes people who take up a task and then don’t deliver on their promises. It’s true both in the open-source world and the corporate one. Besides, the open-source world is mostly fast-paced: issues are reported quickly, and they have to be fixed promptly, too.

So, how do you free up some time for this? Well, you can always offload boring homework. If you google “help me write my essay”, you’ll find plenty of services such as EssayPro that can help you out with that. Just make sure to choose the right one and stay away from scammers.

 

2. Choose the Right Open-Source Project
So, you know you have enough time to commit to this. Now what?

Now, you should start looking for the right project(s) to join. GitHub is the best place for that. And here are 6 criteria you should take into account:

License. Check out the LICENSE file in the repository. Make sure it’s explicitly stated that the codebase is open-source – otherwise, you have no right to modify it.
Size. Working on software like Mozilla Firefox or WordPress is a dream come true, but it’s not the best option for a beginner. Opt for small projects so that it’s easier to wrap your head around the codebase.
Programming language. If you’re good with Python (and you like it), what’s the point in getting into maintaining a Java app, right?
Type of project. What software do you imagine yourself working on in your dream job? Once you have the answer, find similar projects.
Recent activity. Go to the commit section on GitHub. Have there been any commits recently? Are pull requests being reviewed? Are there any open and closed issues?
Community. It has to be alive, active, and friendly. Look at the discussions on the project’s issues and pull requests to make sure it is.

 

3. Be Thorough With Existing Documentation
Before you start working on issues, make sure you know your way around the codebase – and understand the contribution guidelines for this particular project. Here are 3 files you should read first:

README. This is the most important file. It contains the project description and serves as a manual for new users.
Code of Conduct. It describes the standards of behavior for community members to ensure that it remains a friendly environment.
How to Contribute/Contributing. This file will include everything you need to know about contributing to the project: the how, when, and where of it.

 

4. Start Small First
Not all contributions revolve around developing new features and fixing bugs. Around a third of contributions actually relate to writing or improving documentation. Translation and design skills are needed, too.

You can start with non-coding contributions. It’ll allow the community to get to know and trust you.

As for the coding part of the equation, here are 3 things you can start with:

Reporting issues. Testing is no less important than writing code. So, get into the role of your ideal bug reporting user: be detail-oriented and thorough. Plus, while you’re at it, you’ll get familiar with the codebase – then, making changes to it will get easier.
Writing documentation. You can add examples to the existing documentation, elaborate on some features or just proofread it. How is it related to coding? You’ll get familiar with the codebase this way, too.
Fixing beginner-friendly issues. Some projects have issues labeled suitable for beginners. Choose the simplest one you can find – even if you find it too simple. Test the waters before diving in, so to speak.

 

5. Don’t Hesitate to Reach Out to the Community
Last but not least, working within a supportive and welcoming community is the beauty of diving into an open-source project. So, make sure you don’t skip out on that.

For starters, check out where contributors usually communicate. They may have a Slack channel for collaboration, or a Discord server, or a Gitter chat room. Some open-source teams have a mailing list, too.

Join the group chat or mailing list – and make sure to introduce yourself once you do. Then, don’t hesitate to fire up a message if:

1. You get stuck and need some help;

2. You have something ready for review and feedback;

3. You want to take up a task or suggest a bug fix or a new feature.

 

In Conclusion: 5 More Ways Contributing to Open-Source Will Benefit You
Yes, putting real-world development experience on your resume is, probably, the number one reason to join an open-source project. But it doesn’t have to be the only one.

Here’s a short overview of 5 other benefits that make this experience so invaluable:

You’ll learn to write clean code;
You’ll learn to collaborate with other developers;
You’ll be able to pick more experienced developers’ brains – and perhaps find a mentor, too;
You’ll improve your coding skills to match real-world challenges;
You’ll become more confident in your skillset – it’s a great achievement to see the changes you submit implemented in the software.

So, what are you waiting for? Go ahead and set out on your contributor journey! Trust this: it’ll pay itself off tenfold.

Back to top button