How to contribute to open source
A guide for Rails beginners
December 1, 2021 (updated November 13, 2025) Ā· Felipe Vogel Ā·- Find a project
- Set up the project on your local machine
- Become familiar with the codebase
- Find and fix an issue
- Conclusion
Hereās how I recently got started contributing to open-source Ruby projects. Iām pretty new to Ruby, so if I can do it then you can too! (For more tips for beginning Rubyists, see my study plan.)
UPDATE: If you donāt mind watching a video, I recommend the RubyConf talk Your First Open-Source Contribution by Rachael Wright Munn.
Find a project
I recommend contributing to something that you use often. For me thatās Bridgetown and Lobsters, but for you it will be something else.
If you canāt think of any Ruby projects that you use (or, the ones that you use seem inaccessible to a first-time contributor), here are some other options:
- Ruby for Good makes software for nonprofit organizations. Some of their projects have a Slack community, which could come in handy as you learn your way around a project.
- A list of open-source Rails codebases that Iāve compiled.
As you consider which project to contribute to, keep these questions in mind:
- Is the project active? Does it have recent activity and fairly frequent commits? Are PRs (pull requests) reviewed in a timely manner?
- Does the README have beginner-friendly instructions?
- Are there a variety of issues tagged āGood First Issueā or something similar?
Set up the project on your local machine
Once youāve chosen a project, follow the setup instructions in the README or CONTRIBUTING.
Become familiar with the codebase
Poke around and get a feel for what the app does and how it works. Here are some good starting points in a Rails app:
- README
config/routes.rb- Gemfile
db/schema.rb- automated tests
Find and fix an issue
You can follow roughly these steps:
- Find an issue that is well-described and seems simple to fix. Often (but not always) these are tagged as āGood First Issueā.
- At this point, some projects prefer that you claim the issue or leave a comment. Be sure to follow the projectās contributing guidelines. Once you have the OK from the project maintainers, or if the contributing guidelines donāt specify any preliminary steps, then itās time to work on the issue.
- Reproduce the issue on your local machine.
- Write an automated test that fails because of the issue. (Not all projects require this, but itās a good rule of thumb.)
- Fix the issue, and make sure your new test passes.
- Send back your fix by creating a PR (pull request). To learn how to make a PR, follow the steps in First Contributions. Here is another guide with a few extra steps that are good to keep in mind. Also, if you find that youāve cloned a projectās repo before forking it, hereās a guide that explains how to get back on track by making your local copy point to your fork.
- Patiently wait for feedback from the project maintainers. If your PR is ignored or blocked for no good reason (it happens), dust yourself off and try again in a different project.
Conclusion
If all goes well, your pull request will be accepted and you will have made your first contribution to open source! š From there you can keep an eye out for new issues in your favorite projects so that you can make even more contributions.
UPDATE, almost 4 years later: If you want fake points, a free T-shirt, and bragging rights for contributing to open source, try Hacktoberfest. I recently posted about my first Hacktoberfest experience.