Difference between revisions of "Get Involved/development"

m (→‎Communicating with the team: make IRC and mailing list bold and add line breaks)
m (Entriken moved page Getinvolved/development to Get Involved/development: Consistent name)
(No difference)

Revision as of 01:35, 16 February 2015

Becoming a KDE Developer


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. See techbase wiki for programming related info.

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 the IRC channel #kde-devel on irc.freenode.net, or learn more about IRC.

The central 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 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:


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:

  • Torrie Fischer ( tdfischer at fedoraproject dot org )
    Developer on the Phonon project
  • Eike Hein (hein at kde dot org)
    application developer; Plasma developer; Konversation maintainer; Yakuake maintainer
  • 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)
  • Teo Mrnjavac (teo at kde dot org)
    Developer, Amarok
  • Myriam Schweingruber (myriam at kde dot org )
    Bug triager for Amarok and KDE, Quality Team, Documentation
  • Your name here!
    Volunteer to be a mentor!

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.

Content is available under Creative Commons License SA 4.0 unless otherwise noted.