In the last Open Source Thursdays live, Thiago and I shared how we chose a few issues that looked promising for us.

By the end of the post, you’ll learn how to filter issues, and how to start contributing to Rails by reproducing a bug.

How to choose your first Ruby on Rails issue

Which one from the +300 open issues should you pick? We tried breaking this process down into 2 parts: filtering them by labels, then choosing one that seems easier to fix.

We went through the open issues and here’s what we found:

  • There are no open issues labeled good first issue, so you have to search for some good ones;
  • Most of the open issues are labeled as stale. We ignored those;
  • Issues labeled with reproduction steps look promising because it’s easier to work with them when you’re starting.
  • When we saw the gist with the steps to reproduce the issue we didn’t know how to run it! We learned that you can run a Rails app that is just a single ruby file by using the bundler/inline feature.

We recommend this flow because you would be able to easily reproduce the error, add tests, fix the error, and prove that the fix really works.

If that’s something you’re up to do, keep reading!

Your Homework: choose your issue to reproduce

Go to the rails issues page and follow these steps:

  • Remove the issues labeled as stale;
  • Ignore the issues that already have a Pull Request;
  • Choose the ones that have the label with reproduction steps;
  • Bookmark at least 3 issues that look promising to you;
  • Set a 10 minutes timer and choose just one;
  • Set a 30 minutes timer and try to reproduce the issue.

What did you find? What questions do you have about the issue? Do you have a solution to propose?

Most experienced contributors are happy to help. I wasn’t sure what to do next with the issue we reproduced, so I added a comment on the issue to ask for guidance.

So that’s where we stopped. Next time, we will actually start working on the issue.

Stay tuned for the next steps!


Did you like this article? Then you're gonna love these other ones: