This should maybe be a FAQ...

The best method to contribute code is to attach a patch to a ticket (new or otherwise). Patches would hopefully follow CvstracCodingGuidelines and common sense (small, discrete patches are better than big masses of unrelated changes), but some code (even incomplete or obviously unsuitable) is almost as valuable as perfect code.

Smaller patches will usually be committed by an existing developer. Larger development work will normally be handled by granting someone a CVSTrac account with checkin permissions.

Should direct contact with a maintainer be required (i.e. security issues, account stuff), e-mail to drh and/or cpb would be appropriate (cpb currently handles most day-to-day development issues). However, keep in mind that very, very little development is done via e-mail; get used to the ticket system.