Hacking Guide

If you'd like to help, here are the steps to take:


 * Get the Source.
 * Try to get a test site up and running. See Installation.
 * Join the DeveloperCommunity
 * Stop by #statusnet on freenode.net
 * Have a look at the API and plugin interface.
 * Look at the bug list for things to do.
 * If you want to do something that's not on Trac, add a new issue for it.
 * If you find something to do, assign it to yourself.
 * Good idea: talk to Evan Prodromou about what you're doing before you do it. That will save you both the crushing disappointment of unaccepted patches.
 * Code it up. (Use the PEAR coding style)
 * Test it.
 * Send it in (see below). as a git patch to evan+patches@controlyourself.ca . Be sure to explain which issue number you're fixing.

Submitting patches
From Evan, see http://mail.laconi.ca/pipermail/laconica-dev/2009-January/000871.html for original.

Thanks! First, I'm excited to have /any/ contributions from hackers, designers, and writers of all stripes. I'm willing to meet people halfway to get their work into the project.

That said, this would be my ladder of preferences for getting contributions, in descending order of preference:


 * 1) A merge request on Gitorious. Really convenient for me; other committers can also handle it. *Great.*
 * 2) A patch in an external (non-gitorious) clone of the Laconica tree, and an email to evan at controlyourself.ca asking for a merge. *Good.*
 * 3) A Git patch attached to a Trac ticket. I find navigating the Trac ticket system kind of painful. *OK.*
 * 4) A Git patch emailed to me or to someone on the &quot;team&quot; -- CYI employees or people known to be committers. These can get lost in the shuffle sometimes. *OK.*
 * 5) A patch sent to this list (laconica-dev) in email. This is more of a discussion list than a patch list; I'd rather cut down on the visual noise.*Bad.*
 * 6) A patch or set of instructions in a blog post. These are hard to find and harder to integrate. *Bad.*
 * 7) darcs patches. I've got a few of these left to integrate; I'd really rather not receive new ones. *Bad.*
 * 8) A contribution to a forked tree without sending an email merge request. That's just rude. *Very bad*.
 * 9) Modified version on the Web without providing source. Contrary to the rules of the AGPL. *Unacceptable*.