Getting Started
So you want to help out with Geeklog development? Excellent! Here are the first steps to get you started:
First Steps
If you haven't already done so, download and install the current stable version. This will give you an idea how things are supposed to work.
Next, try the development version. You can either use GitHub or download the Nightly Tarball. If you're checking out from the Git repository, you also need the PEAR classes. The PEAR classes are already included in the nightly tarball. (more detailed instructions here)
Once you got the development version up and running, you should read Alan McKay's excellent Beginner's Guide to Geeklog Programming, which will explain to you how to do things the Geeklog way.
We also recommend you have a look at our Coding Guidelines. Summary for the impatient: We're mostly following the PEAR coding standards.
For an overview, you can also browse the Git repository online or look through the documented Geeklog source code.
If you want to ask a Geeklog developer a few questions you can usually find one or more of us hanging out on Gitter in the Geeklog room.
Dive into it
(trying to paraphrase this post by Eric Weddington)
Once you have a rough idea how things work, try browsing our bugtracker. Pick a bug that interests you. Try to reproduce it. If you can add any useful information to the bug (e.g. steps to reproduce the problem), go ahead and leave a comment.
See if you can find the area in the source code where the problem occurs. Try to think of a way to fix it and either fix it (patches are always welcome!) or, again, leave a comment.
Don't worry, not all the open bugs are hard. Some are fairly easy and are only open because nobody had a chance to fix them yet. Even if you can't solve the problem, you'll learn a lot in the process.
Plugin Development
If you're interested in developing a new or improving an existing Geeklog plugin, start with the Plugin Developers Handbook. It's somewhat outdated in places (plugin install and uninstall became a lot easier in recent Geeklog versions, for example), but it's still the best place to get an overview.
The most up-to-date description of Geeklog's plugin API is the lib-plugins.php file.
To start writing a new plugin, try the Plugin Toolkit.