Open Source: How to Git Started
The following is a guest post by Chris Lake and originally appeared on his blog. Chris is currently a student at The Flatiron School. You can follow him on Twitter here. Look, Contributing to Open Source is Super EZ There are loads of ways to contribute to your favorite open source projects. I list out a bunch of […]
Reading Time 3 mins
Look, Contributing to Open Source is Super EZ
There are loads of ways to contribute to your favorite open source projects. I list out a bunch of them below.
I’ll also discuss how I ate my own dog food, mostly because I love using that expression. Altho I was actually pretty excited to submit my first open source pull request.
Working on any open source project on GitHub is just as easy as working on your own team projects. If you know how to use GitHub, you know how to contribute to open source.
Take Ruby, for example. To paraphrase the rubyist Mike Perham (who you probs don’t read but definitely should), Ruby Core has made contributing as simple as:
Fork the Ruby repo – http://github.com/ruby/ruby
Commit changes to your repo — e.g. https://github.com/chhhris/ruby
Submit a pull request – GitHub has a great primer at https://help.github.com/articles/using-pull-requests
Ways to contribute.
I think it’s fairly common knowledge that you don’t have to be a prodigy to contribute to meaningful open source projects. And that’s especially true because there are so many ways to contribute.
I’ve adapted Andy Lester’s post on Smart Bear to list some easy, helpful ways to get involved with Ruby.
Join a mailing list – Ruby Weekly produces a very informative and engaging weekly newsletter – sign up at http://rubyweekly.com/.
Join an IRC channel – IRC is confusing at first glance so I’ll have to spend some more time looking into it.
Review open tickets
Troubleshoot and add detail to open bugs –
Close old bugs that have been fixed –
You’ll need an account in order to review, edit and submit bug reports: https://bugs.ruby-lang.org/projects/ruby/wiki/HowtoReport
Test a beta or release candidate
Fix a bug
Write a test
Contribute to the community
Answer a question
Improve the project website
Let’s do it.
This last idea – improving the project website – is where I ended up getting my foot in the door. I was perusing Ruby’s official website and found a couple links to resources on del.icio.us that had, well, gone stale.
My first step was to locate the source code for Ruby’s official website. After a few minutes scouring the main Ruby repo in vain, I discovered that the project website is, logically, maintained on a separate repo: https://github.com/ruby/www.ruby-lang.org/.
Before making any edits, I went to the project’s Readme file for any instructions. First thing was a link to a Wiki page entitled “Guidelines for Contributors.”
The guidelines were very clear and straightforward. Basically, the Ruby-Lang site is built on Jekyll and they suggest most edits/contributions/etc be made as edits directly on the GitHub hosted page (as opposed to cloning the repo, making changes locally, and pushing back to the remote).
The project owners had specific instructions for how you should describe your work when submitting the pull request. Bottom line, they ask you to be crystal clear about 1) what page you’re working on, and 2) which language version (as the site is maintained in many languages around the world).
The body text is optional.
And that’s it! Even though it was such a minor contribution on a relatively obscure page, the main objective for me was to de-mystify and better understand the logistics for submitting to an open source project. And I’m so glad I did, because it’s a lot simpler than I imagined!
Below is a screenshot of pending pull requests for the ruby-lang.org website. You can see yours truly at the top of the list 😉
A couple hours after I submitted the pull request I heard back from a couple team members…
Posted by Flatiron School / July 15, 2013
Learn to Code Python: Free Lesson for Beginners
Sabrina Hernandez: From Dental Tech to UX / UI Product Designer
After 7 years as a dental tech, Sabrina Hernandez was ready for a change. She enrolled in Flatiron School and has since pivoted into a career in UX / UI Product Design.