I don’t get a whole lot of time to hack on things outside of work. Maybe one or two slots of about two hours in a good week. What I want is for that time to be fun, creative, and hopefully useful for others.
When I do get such discretionary time, what I often end up doing is code review. I believe that finishing things is more important than starting them, and know how much it sucks to be waiting for someone to review your code.
So, I’ll do a couple of code reviews (some of which might be strictly blocking on me). And then I’ll run out of time.
This means I rarely work on anything I actually find fun. Code reviews are rarely fun.
There’s a similar, related thing working on a project that’s got a backlog of code reviews, like, say Twisted. Twisted has forty or fifty patches right now that are waiting for someone to review them. Do I want to fix bugs in Twisted? That would be contributing to the patch problem, so probably not. Do I want to do code reviews? Well, I guess I should, but I’ll probably find something else to do instead.
I don’t think Twisted should change its policy. I think the solution is for people like me to volunteer more time doing something they don’t necessarily enjoy for the sake of achieving some broader, nobler outcome.
However, for me to sustain myself and keep enjoying open source and my chosen career, I’ve decided to make sure that I regularly schedule “naughty time”. That’s going to be time where I don’t work on the thing that I should be working on, but instead play with something I find interesting at the time, even if it’s not the best thing to do.