Last Wednesday I gave a lightning talk about open source at the Buenos Aires Ruby Meetup. I proposed a challenge to all attendees: Contribute to one (or many) open source projects for 7 days straight.

The rules are simple:

You have to do it for 7 days straight

If you can't do it one day, that breaks your streak

When you break your streak, you have to start over from day 1

The goal of this challenge is to make contributing to open source projects a habit.

You can see the slides over here:

I did this challenge because I wanted to get back to contributing to a couple of projects that I currently maintain. It was great and I finally made some progress in DatabaseCleaner

I hope that this challenge will encourage other developers to start contributing to their favorite projects.

Here are a couple of ways that you can contribute to open source:

Submit a new issue to a library. Make sure that it hasn't been reported yet. If it has, add meaningful information to the issue to make it easier to solve it

Try to solve an existing issue. Find the lines of code that are causing the problem and submit a pull request

If you can't solve it, write a failing scenario in the library's test suite

Improve documentation where it's unclear or non-existent

If you don't know where to begin, check out http://www.codetriage.com or ping me (I'm one of the maintainers of DatabaseCleaner and EmailSpec and I'd appreciate your help)