Tuesday, June 10, 2014

Contributing to Open Source with Ruby

In class the other day, we identified a likely error in the Ruby Docs documentation.

A quick side note, as someone who is involved in content creation at NativLang, my thoughts on what constitutes an error have evolved quite a bit.

An error is not:

  • A music choice you dislike
  • An example you like or think is helpful being left out
  • Your pet region, language, food, etc not being included
  • Etc

In general (serious about the generalization here - no guff from you philosophy majors out there), errors seem to come in two flavors:

  1. A factual claim that is made which is incorrect
  2. A situation where the creator seemed to intend one thing but presented another (e.g. typos, uses the wrong word, a broken link, etc)
The truth is, I'm so new to Ruby that I would not trust myself to identify an error; however, in this instance, the much more knowledgable instructor said it was likely an error.  

ruby docs find documentation


That got me thinking, how do errors in open source get corrected?

In the grand old days of published, if you cared enough, you might send a letter to the publisher letting them know you found an error.  Years later, if they cared enough, they'd correct it in a subsequent edition.

This is the brave new world of open source though, so it seems likely that there's a much more immediate way of making changes.  I went to the Ruby Docs home page and looked around.  I found this in the footer - how convenient!


As you might expect from a community as happy and helpful as the Ruby community, the Documentation page was full of step-by-step processes and how-tos (involving forking a repository - the newest of my skillz!).
The process seems fairly simple:

  1. Fork the documentation repository
  2. Open an issue (to let others know what you're working on so there's no duplication)
  3. Submit a pull request so people know your work is ready to be reviewed
  4. Prepare your patch for submission
When I find some time this week (haha...no, really!) I plan to work on an update for that section of documentation (assuming someone else isn't already working on it).  It'll be fun to contribute to an open source project - I'll be a real Rubyist! - and it's always nice to give back to a community that provides everything for free.

I let you know how it goes!
No comments