Last week, I was tagged in this tweet.
I appreciated the openness and honesty, and it’s a sentiment that I’ve heard from other people. It can be overwhelming to get started in open source, especially if you’re already feeling tired. And because I answer this type of question a lot, I thought it would be useful to create a whole blog post about it.
Getting Started for Beginners
Not everyone getting started in open source is a beginner. I’ve talked to quite a few folks with a lot of experience who have never contributed to open source. I’d answer that question a different way. They likely won’t need to know how to learn how to fork, clone, commit, and create Pull Requests (PRs).
I keep a list of repositories that are good for beginners in this insight page.
It’s worth noting that within that list, our Intro to Open Source Course is a great
(and free) way to learn more about open source and get your first contribution!
Where Should I Start in Open Source?
- Open Source Terminology 101: A Primer for New Contributors. Part of the challenge of getting started in open source is understanding the terminology.
- Choose Your Own Adventure in Open Source. Before you work on your first contribution, I think it’s important to identify what you want to get out of your work in open source. Not everyone’s journey will look the same; it’s worth exploring what it will look like for you.
Resources for Beginners
If you’re new to tech, and you need more support, here is a list of blog posts that will take you through the new contributor journey. If you want a shorter overview of how to get started with Open Source, check out my Open Source 101: A Beginners Guide to Getting Started.
The Right Issue for You
- How to Contribute to Open Source without Knowing How to Code: A guide with project suggestions. If you don’t know how to code or aren’t great at coding, that’s ok! There are issues out there for non-coders.
- Good First Issues Don’t Exist. The best first issue is the one that you write yourself.
- How to Write a Good Issue: Tips for Effective Communication in Open Source. Writing issues is a great way to get started in open source. A good issue should have several key elements that help to clearly and concisely communicate the problem or suggestion.
Git & Version Control
Pull Requests
- Writing Your First Pull Request: Tips, Best Practices, and AI-Powered Tools for Success. It can be nervewracking to write your first PR. Understanding what goes into a PR can help you to gain confidence before you submit.
- What happens after you submit a PR to an Open Source Project?. Once you submit your PR, there’s a lot that needs to happen before it’s merged in.
- How to Get Your Pull Request Reviewed. Knowing the right process, following best practices, and prioritizing clarity can help you get your pull requests more quickly.
- How to Collaborate on Pull Requests for Beginners. Sometimes working with others on a pull request can be a good step to learning and growing in open source.
- Keeping Your Branch Up to Date and Handling Merge Conflicts While Waiting for PR Reviews. Sometimes your PR isn’t accepted immediately and other PRs are merged in before yours. When that happens, you’ll need to learn how to update your branch and potentially handle merge conflicts.
- Understanding Why Pull Requests Get Rejected in Open Source Projects. Not every PR gets accepted, and we need to look at that as a learning opportunity. Learn why they get rejected can help you get your next PR approved.
Find Support
It can be scary doing something on your own. Having support can help you work through your challenges.
- You Don’t Need a Mentor: Embracing the Power of Community. Sometimes new contributors get hung up on trying to find a mentor. Having community support can be even more beneficial.
- #100DaysOfOSS: Growing Skills and Real-World Experience. Joining a campaign like #100DaysofOSS can help you to find direction, support, and a learning path.
If you’re new to open source, and don’t know where to start, it’s ok. There’s space for everyone. You don’t need all of these resources, but hopefully, you’ll find some of them useful. If you have any questions or you’d like to see a resource added to the list, let me know in the comments below.