So you want to help out with Geeklog development? Excellent! Here are the first steps to get you started:
Next, try the development version. You can either use Mercurial or download the Nightly Tarball. If you're checking out from the Mercurial 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.
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 (look for issues tagged "beginner"). Even if you can't solve the problem, you'll learn a lot in the process.
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.