Contributing to Open Source
Written in 2021.
I've recently been learning how to contribute to open source software. Not being a trained developer doesn't matter that much--anyone can find ways to contribute once they learn the tools. After wasting many hours futzing around with failed rebases and pull requests, I'm starting to get the hang of it.
If I had to learn from scratch, here's what I would do:
1. Skim the intro stuff
- Search and read about how to contribute to open source. Skim a half dozen blog posts about it and you'll get the gist.
- Github has tons of resources to get your started, including a whole interactive course.
- Free Code Camp has also collected a great list of readings.
2. Get to know your target project
- Take a deep look at the README file. If there are contributor rules, read through them.
- Pay extra attention to any suggestions for newcomers.
- Check out previous PRs. What are the conversations like? This will help you prepare for questions your pull request might receive.
- Find a mentor or buddy. If an existing contributor can give you guidance through the process, you're far more likely to see it through.
3. Hack
- Write the code you wish to see in the world.
- Make sure to follow the contributor guidance.
- Start with something small to get your feet wet, like cleaning up comments or writing test code.
4. Follow your PR through
- Mechanics -- ex. squashing and rebasing^
- Engaging with comments
- Keep hope alive and be pleasantly persistent
Don't forget to celebrate your first merge!
^Git SCM intro to rebasing and some tutorials: 1, 2, 3. Emergency safety: If you're worried about messing things up, just store a zip file of your repo that you can restore anytime.