Bug 399612, comment 1. Graeme McCutcheon appeared in bugzilla.mozilla.org with a modest bit of triage. And so it began.
In truth, it began before that. It began in 2004 with a new laptop, and a download of this new-fangled Firebird browser that I'd been hearing about. It began with faux conviction - "Oh, it's not from big, evil Microsoft" - but I was young and naïve. I used the browser, updated the browser, but filed no bugs, tested no nightlies, waxed lyrical about web standards to no-one. Besides, what could little old me contribute to a big, famous project like Firefox?
Nevertheless, I gradually began to feel I should give something back. I hit the docs. Bug triage, huh? Hmm, maybe I could do that. I floated around Bugzilla, watching, waiting, trying to understand the processes. That December 10th, I took the plunge. And so it began.
As I wandered around Bugzilla over the following days, a crazy notion took hold: could I contribute more? There sure seemed to be a lot of bugs looking for owners. I'd programmed in C in 3rd year of university, though never C++, but at least it was a base to build from. There was more to learn too: getting the source, CVS, just building this thing., pestering Ted with the sort of autoconf question he must have answered a thousand times yet still patiently answered. And what then? What to work on, and how to find my way around this huge codebase? Eventually I discovered "Good First Bugs". Bug 393922 looked easy - real easy! I arrogantly rushed through a quick patch, identified a reviewer - the legendary sdwilsh - seemingly managing to r- the patch myself before I figured out how to correctly ask for review. Just over an hour later, some bugmail appeared. My patch was reviewed! Review-. Chastened, embarrassed, angry (only at myself) I wasn't going to let that happen again.
There was no turning back now. I was hooked.
More bugs fell. Editbugs privileges were attained. I watched bugs I didn't know how to fix, to watch those who did at work. (Likewise, I watched a fellow new contributor who was accomplishing great things; they call him Ehsan). After positive reviews, I waited breathlessly for someone to sweep through the checkin-needed queue and land my patch, for which I was eternally grateful. I watched in horror as one patch turned the tree extremely orange, when 99% of Mozilla was in Whistler without power, leaving me to shamefully stare for hours at an orange Tinderbox and an empty #developers channel. (Incidentally, the further disaster that befell that summit produced my favourite bug). Coupled with the switch to Mercurial, it felt like it was time to get commit access. I started paying attention to the world of sheriffs, random orange and landing. I learned how to decipher the crazy page of coloured rectangles and cryptic messages called Tinderbox, silently booing whenever a developer was called out on IRC when they checked in on orange. I filed for commit access, posted my committer agreement to Mountain View. My chest puffed with pride as assorted Mozilla luminaries wandered by to vouch for my approval. Typing 'hg push' into my own terminal, and watch firebot announce my checkin was quite the moment. It was, however, somewhat ruined - I was called out on IRC - gah, I'd lost the moral high ground, having not noticed a Moth run had just went orange before my push.
My Mozilla education continued. I explored new areas of the codebase. I devoured Planet Mozilla. I discovered the Mozilla QDB - and understood the in-jokes! I bantered and raced with philor and gavin to star those pesky oranges (and for you youngsters, this was before TBPL suggested bugs!) . I started to eagerly follow Mozilla as the mission focused organisation, rather than thinking of it simply as the source code I worked on. I stared in disbelief when I witnessed the demo of Flight Of the Navigator - this is all in-browser? This is the web? And the adventures continued...
So, what have I accomplished? Lots, but not enough. Apparently, Find Toolbar is still my favourite component (although favourite is surely not the right word), with 22.64% of my Bugzilla contributions. (Incidentally, I thought others may be equally curious to check that data for themselves - you can check your own favourite component). I'm glad I've challenged myself when it comes to where I work in the codebase. I knew early on that I'd steer clear of layout - there was an area that scared the hell out of me. Though apparently not enough to stop me from later writing some small layout patches. I curiously read Boris Zbarsky's appeal for someone to fix bug 215405, but knew I certainly wouldn't be me. Except it was. It burrowed into my brain, and wouldn't let go. (Pro-tip: if you're work has bz vocally celebrating in IRC, you're doing something very, very right).
I moved beyond Firefox. m-cMerge took far, far too long to finish, occupying an unhealthy chunk of the year. However, it's now the go-to tool for inbound sheriffs when merging, successful far beyond what I'd hoped. It also makes me feel an affinity with the A-team, who surely have the coolest group name in Mozilla!
However, I'm still fairly anonymous and unknown within the community. The 2010 summit is my biggest regret. It was awesome - scratch that, it was a mind-blowing, crazy, spectacular cavalcade of awesomeness. It was truly great to put names to faces, and witness the fierce burning passion for Mozilla in every attendee. However, I was too quiet, too shy; I know I didn't make the most of such an amazing opportunity. And I still owe roc a game of Settlers.
The future's bright though - joining Vidyo for the coding contribute group meeting was a big step. (Incidentally, I've completed 9-11 of the conversion points - why a range? For two of them it depends how they're measured :) . This will be my first significant non-code venture. Also worth noting, I simply showed up, unannounced, and was immediately welcomed. "Open" is an adjective that applies to more than just Mozilla code. The opportunities and possibilites for involvement are truly endless!
Involvement is as rewarding, as intoxicating, as fulfilling today as it was in 2007. There's plenty more to come! (And if you know anyone looking to hire someone with 5 years Mozilla hacking experience, please send them my way!)
I didn't get here on my own: I truly stand on the shoulders of giants. Reviewers, bug commenters offering advice, those engaging in random #developers chat... I'm fortunate to have been helped along the way by so many Mozillians. I should call out Gavin Sharp, the inimitable gavinbot, who seems to have the misfortune of dealing with me the most. Thanks you, everyone!
Anyway, enough chat. Let the next 5 years begin...