I'm probably going to regret writing this.

From now on, any criticism I make of a software project will include patches to fix the behavior I don't like.

This is, in large part, to make sure my mouth doesn't go where my code can't follow. I'd like to avoid that. It's grandstanding, and it makes blind criticism too easy and seductive. And, I think, it's more than a little dismissive of the people who are writing the code that I'm critiquing, and that's not the kind of commentator that I'm trying to be.

In other words, talk is cheap. But seeing as I'd like to keep talking, I'm going to try to include substance - and by substance, I mean code - with my words.

I'm going to admit up front that I'm going break this rule a lot. For example, I doubt I could do it for any non-Python project. But where possible, I'd like to stick to it, and when I can't, I'll be pointing that out explicitly.