KDE PIM/Development/Start

Jump to: navigation, search

Getting Started

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

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.

IRC (Chat)

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.


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 KDE PIM repositories can be visited via WWW at http://quickgit.kde.org


KDE PIM is currently split to over 40 modules. To build them all in the correct order, one should use kdesrc-build:

kdesrc-build kde-pimlibs kde-pim

KDE PIM depends on KDE Frameworks 5, Qt 5 and some additional libraries (like libical). If you distribution provides new-enough versions of all these libraries, you can compile KDE PIM against them, just make sure you have all the development packages for those libraries installed.

This page was last modified on 20 July 2016, at 08:01. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2 unless otherwise noted.