Rails Bugmash August 2009: Before, During & After
This past weekend I was sitting at home, kids in bed, staring outside at the lovely (i.e. miserable) weather we are living with up here in Manitoba this summer. I popped open my MacBook and headed over to Stackoverflow.com to see if there were any questions I could help with. After 20 minutes or so of staring at the screen I somehow remembered the blog post about the Rails Bugmash. I headed over the RailsBridge Wiki to check it out. That’s how it started…
Before
I have been using open source tools pretty much my entire career as a web developer. I have been using Ruby and Rails for about that last 4 years. I never considered getting involved in trying to “fix” Rails. I’ve talked about the reasons for this before so I won’t waste more time on it here.
The points that pulled me in this time was the perceived level of support I would have should I decide to take a chance and actually try and tackle one of the identified bugs. In the past, I have always felt very detached from core development when all I did was throw a ticket into a tracking system and then wait to see if anyone responds. It all seems very hands-off, like two people lobbing a ball over a fence to each other (which is probably a by-product of asynchronous communication). The description of the Bugmash made me believe that this time live support was going to be there if you needed it. For me, that was a powerful motivator to give it a shot.
During
On Saturday evening I got started by going to the bug list, scanning through them and trying to latch onto something I understood. I logged into the irc channel and started watching the conversations develop and quickly realized my expectations were going to be met. Here was a group of people who were ready and willing to work together and help anyone who wanted it. Confidence boosted, I jumped back to bug list and headed for the last page. I started grabbing incomplete tickets because they seemed to be the ones that were pretty much untouched. Ticket #767 was the first one I verified. I started trying to figure out how to patch it, but got lost in the tests (and started to fall asleep). I headed back to irc, posted a message about what I had found, stopped work on the ticket and immediately someone picked it up. Hey, that felt good.
Sunday evening started off a little different. You see, I didn’t read the full wiki post about the Bugmash before I started work on Saturday. I had no idea there were points being offered or that there were even prizes! Finding that out that I had amassed 175 points, pretty much by accident, certainly increased my motivation. I found a ticket that I thought I could handle as quickly as I could. #430 was the lucky one. I verified the current patch, which would not apply to 2-3-stable or to master, and posted my findings to irc. A couple people checked the ticket and commented that it seemed like a nice feature and asked me if I was going ahead. I did (as by this time I wanted to get a changeset and 1000 points). Fixing the patch for 2-3 was fairly easy, but a patch for master required a rewrite due to the refactor to ActiveModel. Fortunately, Elliot Winkler, the original patch creator did a great job on the patch and the tests and once I found where in ActiveModel it needed to go it slid in nicely. Sunday night’s work ended by attaching the patches to the ticket, notifying the irc channel, commenting on a couple more tickets before signing off.
Monday morning I found myself watching the commit logs for Rails to see if the patch that I had worked on would get put in. I was a little disappointed to find that it hadn’t. That didn’t last long, a short time later I saw this added to the ticket. Core decided that it was best to just be in master so that’s where it went. From now on I can say I contributed to Rails (in a very small way with much help from others, but I contributed nonetheless!). That was definitely the high point of the whole experience.
Since then I have found myself watching the remaining tickets on the bugmash list as well as the list of all Rail’s tickets. I am trying to comment on the ones that I feel I have some understanding of, but the feeling of disconnect is slowly creeping back. I am still on a high from the changeset and am going to do my best to not let it wear off.
Look Back
The bugmash was quite the experience and a will be helping out again the next time it comes around. In fact I am going to encourage the developers that I work with to get involved too. I think it was organized and operated very well, kudos to the organizers at RailsBridge for that. The support structure that was in place to help developers was all that I hoped for. I may have been the only one in Winnipeg involved, but I didn’t feel alone. I loved the points system, but that’s just my nature. I certainly was not in it for the prizes, but I will admit that it did motivate me. I also enjoyed reading the irc chat and all the twitter messages and blog posts that were spawned by the event. It was nice to know that many of the people involved were first-timers, too. A point I think can’t be stressed enough.
In the end, I earned a little about 1300 point and more importantly I was motivated to learn about the Rails framework at a level that I have been avoiding for to long, in the code. I want to keep up the momentum from here. Hope to see you at the next one!