To get started, all you really need is a git clone. After that, you can compile and run the latest-and-greatest (and maybe buggy) versions of the KDE PIM applications. When you find a bug, you can fix it, create a patch, and send it to us! That's the way KDE PIM applications are continually improving. There is much more information available to begin with, though.
Here is a checklist of things to launch yourself into the world of KDE PIM development. For lots of them, it is most important that you know they exist:
- Subscribe to the right mailing lists. Read them regularly.
- Browse the information about the development tools, to choose one. Most KDE PIM hackers use kate, vi, or emacs as editor and just compile in a konsole window, though.
- Take a brief look at the Qt documentation. It is excellent, and you should know about QWidgets and QObjects a little before continuing.
- Take a brief look at the KDE documentation. It is a bit overwhelming.
- Spend some time over at the KDE Community website.
- Get the prerequisites for building KDE PIM master. Note that you really want to follow master to make a positive contribution to KDE PIM.
If you work on or with the last released version, you're usually a month or four behind the times, and that makes a huge difference in KDE PIM. You can work with a stable system -- the latest released KDE libs and base -- and put (relatively) unstable PIM HEAD on it.
- Clone the relevant Git repositories.
- Compile it and install.
- Report bugs, wishes, fix bugs, get involved!
Mailing lists are probably the ultimate source of development information. Follow discussions of KDE core and application developers and ask your questions. Unless you don't think about what you are saying, you will surely get an answer. Subscribe to the kde-pim mailing list. It is for discussion about development. Please don't wildly post all your compilation problems there. Ask on IRC for such issues.
Most of the developers hang around in one development IRC channel or another. On freenode (irc.kde.org), you can find:
- #KDE for the user questions.
- #akonadi for development discussion on Akonadi.
- #kontact for development discussion on Kontact and its components. Please don't post user-questions there.
There are a variety of IRC (Chat) programs available. KDE ships with Konversation. XChat is available in many installations as well.
Common KDE Developer information
Visit the KDE techbase site for very detailed information about KDE development. You'll find lots of stuff, e.g. documentation, tutorials, reference guides, etc.
http://techbase.kde.org/Projects/PIM has lots of informations you may read before starting contributing to KDE PIM.
http://userbase.kde.org/Kontact is the central place for user tips and tricks.
KDevelop is an Integrated Development Environment for KDE.
For recent news about KDE development you may not miss the KDE news site at dot.kde.org.
the whole KDE PIM suite is composed of four modules. You're highly encouraged to checkout and build all of them:
- Akonadi, The PIM Storage Service
- KDEPIMLIBS, the base libraries for all the PIM applications
- KDEPIM-RUNTIME, the Akonadi resources which are required at runtime to let the kdepim applications communicate with the Akonadi server
- KDEPIM, All the PIM applications
In order to build and use the KDEPIM modules, you may use the last released KDE version.
You might want to make a backup of your valuable data, though. Most of it lives in .kde, in your home directory; You may also backup your Akonadi server config files in $HOME/.config/akonadi and your kdepim applications data in $HOME/.local/share. It may be easier to just create an additional user and give it a copy of your data, and run PIM HEAD there.
Git - a Source Code Control System
The really short guide
This short guide will explain how to build Akonadi, kdepim and kdepim-runtime checked out from Git.
You may use the following commands to check out the different repositories:
git clone http://anongit.kde.org/akonadi
git clone http://anongit.kde.org/kdepimlibs
git clone http://anongit.kde.org/kdepim-runtime
git clone http://anongit.kde.org/kdepim
You can now build the modules in the following order: Akonadi > kdepimlibs > kdepim > kdepim-runtime Complete guides to build KDE modules can be found on http://techbase.kde.org.