Get Involved/development

From KDE Community Wiki

Becoming a KDE Developer

Development
Development

By joining the ranks of KDE developers, you will get to implement new features and defeat daunting bugs, all while collaborating to make coherent and stable releases. Developers collaborate in teams based on what area they are working in, such as Education, Productivity, or Games.

Frank Osterfeld advises "start small and scratch your own itch, at least that's what kept me motivated in the beginning."

As a result of a Sprint held in October 2011 we now have a Beginner's Guide to KDE Development available to ease the new contributors way into KDE development.

Communicating with the team

There are many ways to get in touch with KDE developers, and developers for a specific project:
Start at #kde-devel on irc.freenode.net, or learn more about IRC.
The central mailinglist for development is the kde-devel mailing list, learn about mailing lists. However each team has its own messaging channels, both on IRC and on the mailinglists, you can find a list here.

Getting and building the code

In most cases, you will want to download, compile and install KDE trunk (our development tree) to start developing. Read the unstable building guide. If you get stuck or get errors, that's OK. You might not need to compile the whole set of applications, but getting started is a good step.

Platform and Documentation

KDE is written in C++ and uses the Qt framework. If you've never used Qt before, that's not a problem. Before you get started, you'll want to brush up on C++/Qt and our coding guidelines:

Tasks

Now you have the code on your computer and maybe got some of it to compile. Here are some tasks for you to get started. You can get your first contribution committed into the project within 1 hour!

  • The Bugs Howto - explains how to use and triage bugs. Why's it useful? It makes bug hunting and fixing easier for developers, so more bugs get fixed. Why choose bug triage instead of ...? It doesn't take much time to look over a bug, so it comes in nice small chunks. What skills do I need to do it? Not much, just a bit of patience and sometimes some perseverance. (quote from Phil's Triage Guide)
  • English Breakfast Network - provides a list of functions that need to be documented. Try one of these for practice with svn and doxygen.
  • KOffice Junior Jobs - simple programming jobs for KOffice
  • Junior Jobs on bugzilla - a place where people mark jobs that might be easy for beginners to fix
  • KDE Bugzilla - keeps track of all the bugs in KDE, you will want to bash them all

Mentor program

Getting started in a big project like KDE can be hard. Below are people with experience in KDE that are happy to help you get involved:

  • Trever Fischer ( tdfischer at fedoraproject dot org )
    Developer on the Phonon project
  • Eike Hein (hein at kde dot org)
    application developer; Konversation maintainer
  • Albert Astals Cid (aacid at kde dot org)
    available to hand out junior tasks
  • Peter Simonsson (peter dot simonsson at gmail dot com)
    application developer; KOffice devel/Kivio maintainer
  • Will Entriken (kde dot org at phor dot net)
    Google Summer of Code KDE developer
  • Anne-Marie Mahfouf (annemarie dot mahfouf at free dot fr)
    KDE-Edu development, KDE4 development, and tutorial writing
  • Jeremy Whiting (jpwhiting at kde dot org)
    Developer
  • Teo Mrnjavac (teo at kde dot org)
    Developer, Amarok
  • Elio Joly Botogoske (teo at kde dot org)
    Developer
  • Your name here!
    Volunteer to be a mentor -> kde dot org at phor dot net

If you are a student you might be interested in the Google Summer of Code program. KDE has been a mentoring organization for many years, we have a separate wiki page with information on participating in Google Summer of Code with KDE.