I see why maintainers and their associates are advocating and sourcing for open source contributors ( ͡° ͜ʖ ͡°) I also see the benefit for developers, and especially for aspiring developers to take the leap and to contribute. This is the greatest opportunity to gather real-world experience while you are still on your journey of getting into the industry.
Lately, I witnessed interesting keynotes and talks about open source projects in the last Ruby and Rails Conferences. For example:
- Keynote RailsConf 2021 by Eileen Uchitelle
- YOUR FIRST OPEN-SOURCE CONTRIBUTION at RubyConf 2021 by Rachael Wright-Munn (available soon on YouTube)
- many more...
As a beginner, you have special needs to ease yourself into making your first PR and continue having fun with making even more PRs. Here's what to look out for:
- Active repository with active maintainers
- Repo with a project that you will be able to setup (i.e. familiar stack and a good
CONTRIBUTING.md
- (Big bonus) strong community; preferably with regular online/in-person meetings and a central place to chat (like Discord, Gitter, or Slack)
- "Good First Issue" type of labels and/or well-described Issues
Ruby and Rails open-source projects for beginners
I wanted to share a hand-picked selection of repositories where I'm sure that it's good to get out your first and next issue:
Actually, there are like a million repositories out there where you can make your big decision of where to start contributing. If you are still not overwhelmed, these are some places to casually browse for your favorite repo:
How to contribute to open-source
Now you have the Why and the Where, here is a little bonus of get yourself kickstarted.
Let's see if we can package it into a simple process:
- Pick a repo (optionally, find someone to work with you together on the repo)
- Look for beginner-labeled or well-described issues
- Set up the project according to the
CONTRIBUTING.md
or instructions in theREADME.md
- Reproduce the issue (even if you will "just" be writing docs, you often want to reproduce the thing)
- Solve the issue
- Make your PR
- Wait for feedback and react to the review
Enjoy and share your experience with the ruby communities!