Commenting on my blog post about Bug Days for Ruby projects, Wilson Bilkovich and Charles Nutter both said "Neat idea, but every day is Bug Day on $Project". While their intent is admirable, I don't think they get my point.
While I'm not in the habit of modeling my world view on wisdom doled out by super villians (or other fictional characters), Syndrome (from The Incredibles) came pretty close to my thoughts on the matter, "[W]hen everyone's Super... no one will be". You see, both rubinius and JRuby (and a whole lot of other projects) are agile, responsive, cool, etc. — but, holding a Bug Day is special.
It's one day that you put some special effort into before, during, and after.
- Before it comes up, you publicize it. Get the word out, get people excited, build a list of easy stuff for beginners to take on (and make sure the more senior developers know those are off limits, they're the wading pool where newbies can get their feet wet).
- While it's happening, get the more advanced developers to put their editors/IDEs down for a bit and work at answering questions. Don't let them make commits of their own for the day, get them to channel things for the new folks instead.
- After the Bug Day is over, go back and thank everyone for their work, do it publicly. Get a release out the door with the newbies in the CREDITS/NEWS so they get some immediate feedback. Then, go back over the commits and look for the folks that earned a commit bit (or are on the track to earning it). Spend some extra time with them, they'll be worth every minute.
You see, a Bug Day isn't really about fixing bugs (though, that's a nice side-effect), it's about getting new developers, testers, writers, and users for your project. Properly run, it's a great publicity and recruiting tool. And by making it something different than the 'every day' you're making it special ... you're making it super.
This is awesome Pate, I really hope someone out there steps up to the plate and owns this.
ReplyDeletePersonally I think it's a great idea and would love to be involved in an area where I have a certain task to solve and can feel like I'm more a part of the project then just a user. I think it would also give people a better understanding of what's going on and maybe get some new ideas flowing.
ReplyDelete