BugMash
Version 46 (Philip Ingram, 08/10/2009 07:23 pm) → Version 47/86 (Peer Allan, 08/11/2009 03:12 pm)
{{>toc}}
h1. BugMash
Have you ever wondered how you could get started contributing to the core Rails code? Have you been watching the growth of RailsBridge and wondering where you could fit in? Well, wonder no longer: we have an answer to both of those questions. Announcing:
h2. The First Rails and RailsBridge BugMash
The idea is simple: RailsBridge has a lot of energy. "The Rails Lighthouse":https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets?q=all has a lot of open tickets. With the help of some Rails Core team members, we're going to see what we can do to cut down the number of open tickets, encourage more people to get involved with the Rails source, and have some fun.
Here's how it will work: the BugMash will run over the weekend of August 8-9. The Rails team will identify open issues that need some help and tag them in Lighthouse. Participants will draw from this pool with four goals:
# Confirm that the bug can be reproduced
# If it can't be reproduced, try to figure out what information would make it possible to be reproduced
# If it can be reproduced, add the missing pieces: better repro instructions, a failing patch, and/or a patch that applies cleanly to the current Rails source
# Bring promising tickets to the attention of the Core team
Some of the Bridgers will be organizing a face-to-face way for BugMash participants to come together ([[BugMash#Teams|Teams]]), but there's no need to be there to be a part of it. We'll also have a room open on IRC, and people who are familiar with the Rails internals will be available to help point you in the right direction. We're going to do everything we can to make it easy to start contributing to Rails.
We'll be adding more details to this bare outline over the coming week, including a checklist of what you can do to get ready to work in the Rails source and details on a scoring system and rewards for the most active participants. For now, though, there are two things for you to do:
# Reserve at least a chunk of that weekend to roll up your sleeves and work on the BugMash
# Speak up if you can contribute prizes, familiarity with the Rails source, or other help to the project.
h2. Official BugMash hours
Rails contributors are located all over the world, so we're going to define an extended weekend for the BugMash. So we're going to run from Saturday noon in New Zealand (00:00:00 August 8 GMT) to Sunday midnight on the US West coast (07:00:00 August 10 GMT). That should give everyone who wants to be involved plenty of time to participate.
h2. Resources
* [[Pre-flight Checklist]]
* [[BugMashFlowchart]]
* "Contributing to Rails":http://guides.rubyonrails.org/contributing_to_rails.html
* "Tickets tagged with 'bugmash'":https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/bins/41908
* The Rails "Continuous Integration Server Setup Notes":http://github.com/rails/rails/blob/e033b5d037c303a34e0c5aec2b38ec6270f00f86/ci/ci_setup_notes.txt can be helpful in getting the various databases configured
* http://railscasts.com/episodes/113-contributing-to-rails-with-git
* [[BugMashStats]]
h2. Teams
We're not doing team-based scoring, but we do have people getting together in various cities.
* San Francisco
* "Boston Event":http://www.stumbleupon.com/s/#1iJfSt/bugmashboston.eventbrite.com//
* Chicago
* New York - we have space available, but no organizer yet
* "Dallas":http://groups.google.com/group/dallasrb/msg/a11b59e91c21ea04
If you're interested in one of these, or want to organize your own in-person event, drop by the #railsbridge IRC channel to chat.
h2. IRC support
We'll have experienced Rails developers and core team members available on IRC for as many hours during the BugMash as humanly possible. If you're having trouble getting started, want to brainstorm about a particular ticket, or can help other people out, please come by and join us. We'll be hanging out on the #railsbridge channel on Freenode IRC. Our [[IRCGuide]] can help you get connected.
We also have a bot who's helping us keep track of who's working on what. Details at [[BugMashBotUsage]].
h2. LightHouse Mechanics
Some of the Rails core team members will go through the open issues in Lighthouse and add the "bugmash":https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/bins/41908 tag to tickets that they're especially interested in seeing tackled. This will allow you to use a Lighthouse query to find interesting tickets. You're not required to stick to those tickets, but they're a good starting point.
Note that some of the tagged tickets are marked as "stale" or "incomplete," and Lighthouse will show them with a strikethrough in list view. _These are still fair game for the BugMash!_ We're hoping to take a second look at some of the issues that have been in a holding pattern for a long time.
h2. Scoring
25 pts for every +/- 1 (awarded to the commenter not the ticket creator)
50 pts for every verified/not reproducible (awarded to the commenter)
50 pts for a new ticket
100 pts for supplying a test case/patch
1000 pts for every changeset
Quick example:
hardbap opens ticket "HasOneThroughAssociation should not be a child of HasManyThroughAssociation", +50
includes a world class patch, +100 for hardbap
mikeg verifies the patch, +50 for mikeg
hobbs +1, +25 for hobbs
hardbap's patch is committed to core with gusto by lifo, +1000 for hardbap
hardbap's total for the ticket = 1150
mikeg's total for the ticket = 50
hobbs's total for the ticket = 25
For every 100 points, you'll get 1 ticket in the lottery to distribute the prizes.
h2. Prizes
[[Sources Of Prizes]]
From Jeff Cohen: In addition to participating in it myself, I'm willing to offer a $100-off coupon code for any public Purple Workshops workshop (the list of upcoming workshops is at http://www.purpleworkshops.com/public).
From Mike Mangino: A copy of "Developing Facebook Platform Applications with Rails":http://www.pragprog.com/titles/mmfacer
From Mike Gunderloy: A copy of "Rails Rescue Handbook":http://railsrescuebook.com and a copy of "Rails Freelancing Handbook":http://www.railsfreelancebook.com/.
From Noel Rappin: Two copies of "Rails Test Prescriptions":http://www.railsrx.com
From Jeremy McAnally: Signed copy of "Ruby in Practice":http://manning.com/mcanally
From Luke Crawford: $100 credit at "Prgmr":http://prgmr.com (VPS hosting)
From ENTP: 3 1yr Lighthouse (bronze) and 3 1yr Tender Support (plus) packages
From ActionRails: 1 month (4 hours) of "Developer Hotline":http://actionrails.com/services.html support
From "RimuHosting":http://rimuhosting.com/rails-hosting?r=d9244e731884484c47e7ecf19568251b - 3 $200 VPS hosting credits
From "Exceptional":http://getexceptional.com/ - a 3-month Mini plan for _all_ BugMash participants, and a 1-year Mini plan in the prize pool
From "Devver":http://devver.net - 3 beta invites
From "Slicehost":http://slicehost.com - $100 hosting credit
From "GitHub":http://github.com - Three one-year Medium accounts
From "Uservoice":http://uservoice.com - Two months of gold service
From "Sterling Rose Design":http://sterlingrosedesign.com - Ten hours of free design work on any project.
"Prototype raffle code":http://gist.github.com/164109
h2. Participants Testimonials
* "Rails BugMash on RailsBridge":http://blog.eizesus.com/2009/8/rails-bugmash-how-i-fell-in-love-again - ".. witnessed the mission and statement of #railsbridge coming true in the very first time they were put to the test. ..." - Elad.
* "Lessons I learned about Rails from the BugMash":http://ingraminternet.com/posts/3-lessons-learned-about-rails-from-bugmash-09 - I describe the lessons that I learned during the BugMash about Rails and the rails community - Philip.
* "Rails Bugmash August 2009: Before, During & After":http://www.allanweb.ca/2009/08/11/rails-bugmash-august-2009-before-during-after/ - Peer