Archive for December, 2006

Commons JIRA

Tuesday, December 5th, 2006

A follow-on from the ‘My day job…’ post. It seemed like a new context so I moved it to a new entry.

So much looking at JIRAs and Bugzillas has been educational, and has definitely changed my style in Commons. Spring’s is pretty impressive, they answer very quickly and politely. There are some less polite ones that are an eye opener too. Looking at Commons, it was pretty obvious that we were embarrassingly bad at replying to issues - some issues had been unanswered for years.

We (Commons) moved to JIRA, cleaned up a lot and are doing much better. Triage is cool - but too heavyweight for an open source project. My cut-down triage for Commons is to have 4 options for an issue coming in. It can go in this-version, it can go in next-version, it can be closed (wontfix etc) or it can be commented on, with the purpose being to choose one of the previous three states. It becomes easy to see what code needs to be done and what issues need to be evaluated; things feel much simpler to me.

A weekly email telling us issues that are unversioned (and thus unevaluated) is on my todo list. David Blevins has already given me the guts of a swizzle script for it. It should also be able to suggest to us when a version is ready for release. I also need to write something to parse the commons-user mbox and report on user emails that haven’t been answered. Need to keep the creative brain thinking eh?

My day job….

Tuesday, December 5th, 2006

Usually I don’t blog about work; at most I’ll mention “saw something interesting at work today” etc, however I’m going to ignore that for once.

I get paid to do open source bugfixing. Which is very cool. On Tuesdays I do Commons, on Wednesdays I’m currently looking at fixing Standard Taglib bugs and on Friday I play with Maven Archiva. Monday and Thursdays are company time - which tends to be split between working on an internal app I’ve written, meetings and investigating open source issues that are deemed to be of interest in triage.

Which leads me to something that happens every day - triage. I spend 1 to 2 hours each day looking at issues reported the previous day, deciding whether they are unimportant (to non leading-edge customers), worth keeping an eye on or worth investigating. I look at a range of Apache projects, happily including many of the Commons components. The internal component I’ve created and maintain is the second half of the system for putting copies of the upstream issues in our internal JIRA and is written using lots of Commons components so that also has a nice overlap with other things I’m doing.

At some point being the build guy will want a chunk of time; though I can make that easier by release managing commons components that are ready. So another nice overlap.

That’s the aim for me - overlap. Achieve 2 goals with only 1 times the effort; or at least not 2 times the effort. That frees up the evenings and weekends, which at this time of year tends to be mostly family based (so I’m not doing as well at keeping a track of apache-wide mailing lists as I usually do :( ).

What are the downsides? There are a few.

I have to work hard to keep writing new software, so much time is spent bugfixing (which is a lot of Commons too) that the amount of time spent writing something new is low. This has diminished my time for osjava.org as that’s the stuff I often use when writing apps. It took a while to realize this and I only like writing apps I have an itch for. Currently the internal app and the commons nightly build are filling this void, but it’d be nice to come up with something else.

Bleeding edge developers don’t need and aren’t prepared to pay for support (my assumption). The people who need support are those who are using stable releases. Thus when I’m looking at Struts, I’m very focused on 1.2 and to a lesser extent 1.3; not the new 2.0 stuff. When I look at Axis (someone else specializes on this so I only look into it from time to time) it’s 1.x and not 2.x - err, Axis2 1.x. This is a problem for all developers - balancing stable and boring with unstable and interesting. Maven Archiva uses Webwork, so I’m hoping that playing, testing, documenting and hacking on that will give me a nice lead into Struts 2.

Balancing the overlap. If I fix a bug on work time, do I plaster “Fixed by SourceLabs!” all over the place on the issue? God no, how tacky. However, they are paying for me to spend 50% of my time hacking around on open source issues that I think are relevant. It’s obviously nice PR to be able to say I fixed something on work time - but it’s more important that when a customer looks at the issue they know that the money they’re paying helped fund the fix - and that they should keep on paying :) I’ve one part of the solution so far, I attach a lot more patches, even if I’m going to apply them myself a short while later.

Concall meetings. Big companies love their conference calls…. Ugh. Fortunately the triage meetings each day are on IRC - much nicer.

Time to go play with my son after an afternoon of prodding Commons IO. Probably ought to send a link to this to the boss first :)

Blogging update + ApacheCon flights

Tuesday, December 5th, 2006

Time for one of those ‘gosh, it’s been ages since I blogged’ blogs. Much has been happening, both good and bad.

The usual winter time flu has come and gone. Birthdays for all three of us. Painful liver/tummy - need to see a doctor again in Jan. A baby is on the way (and now that family know I can say so here); doubt I’ll be doing ApacheCon EU. My son has forgotten that he used to goto sleep nicely at 7pm and our evenings are gone, and lastly - I’ve been doing lots in Commons.

As I said I would mention it 6 weeks ago - flights for ApacheCon US were highly painful. I was an idiot and bought a Sunday 12:30am flight not a Monday 12:30am flight to head to Austin, fortunately the airline put me on the next plane for free (yay Continental). Then I had a long delay in Austin trying to fly to Louisville via Chicago, finally getting out before the airport closed but arriving too late for my connection and had to sleep in Chicago airport. Expedia had screwed me by organizing a flight with one leg on American and the second leg on United. They were good on the phone though and did what they could. Fortunately I’d had the second sight and had decided (for the first time ever) that I would pay the upgrade to first class for the 3 hour flight. Got fed, slept; all good stuff for a night at an airport.

Chicago-side, United screwed me by charging me $100+ for a rearranged flight the next day (as it wasn’t their fault I had missed the flight to Louisville), which I agreed to pay as I didn’t see many options at the time. Fortunately I saw an American agent and she got me an earlier flight for free. Yay! American, Boo! United. American and O’Hare had a set of cots I could sleep in with a guard watching us all - that was good, til they turfed us out at 4->5am. Wandered around Chicago airport, walked end to end a few times to arrange a stand-by for the first flight of the day and then got on it. Made it to Louisville in the end and enjoyed a few days with old friends. Lastly headed home to Seattle - which went well by comparison.

So all in all; I still like American, I don’t like United, and I like Continental more than I used to.