Becoming a KDE Developer
By writing code for the KDE project, you will get to implement new features and defeat daunting bugs, all while collaborating to make coherent and stable releases. Developers collaborate in groups based on what package they are working on.
Communicating with the team
There are many ways to get in touch with the team:
You can chat with the team in #kde-devel on irc.freenode.net, or learn more about IRC.
The team discusses activities on the kde-devel mailing list, learn about mailing lists.
Getting the code
In most cases, you will want to download, compile and install KDE unstable to contribute to the project. Read the unstable building guide. If you get stuck or get errors, that's OK. You might not need to compile the whole project, 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 OK. Before you do any work for the project, you'll want to brush up on C++/Qt and our coding guidelines:
- C++ FAQ lite - at some point, you'll have a question that is answered here.
- Thinking in C++ - an online book that goes into some of the technical details of C++
- Beginning KDevelop Programming - a great guide from start to finish
- Qt Examples - If you're doing any serious coding in KDE you will need to understand Qt. These examples explain what's up but it will take a couple hours. You can do that later.
- Basic KDE development tutorials
- KDE coding HOWTO's - good coding documentation for beginners
- Patches HOWTO - until you earn an account in SVN, your contributions will be made as patches
- KDE Programming guide - very relevant guide, some of whose content should be copied here
- The KDE Developement Plans - This is the bigger picture for the development efforts of the KDE project, everyone should understand these before going forward
- The UI Howto
Tasks
Now you have the code on your computer and maybe got some of it to compile. Here are some tasks for you:
- The Bugs Howto - explains how to triage bugs, which is an easy and fast way to contribute to the project
- Phil's Triage Guide - has some more on that
- English Breakfast Network - provides a list of functions that need to be documented. If you would like to write code, starting here is a great way to practice with svn and doxygen.
- KOffice Junior Jobs - simple programming jobs for KOffice. These contacts will be able to help you along the way
- 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
- The Reports Management Howto - explains how bugs work and how to work with them
Mentor program
Getting started in a big project can be hard. Here are some people that are willing to help you learn the ropes and get you on board:
- Eike Hein (hein AT kde DOTT org)
- application developer; Konversation maintainer
- Albert Astals Cid (aacid AT kde DOTT org)
- KDE development and translation
- Peter Simonsson (peter AT simonsson DOTT gmail.com)
- application developer; KOffice devel/Kivio maintainer
- Michaƫl Larouche (michael DOT larouche AT kdemail DOTT net)
- application and library developer; one of Kopete lead developers
- Frank Osterfeld (frank DOT osterfeld AT kdemail DOTT net)
- application developer, Akregator maintainer
- Philip Rodrigues (phil AT kde DOTT org)
- documentation, bug triaging
- Matt Rogers (mattr AT kde DOTT org)
- application and library developer; KDevelop Lead Maintainer; Kopete Lead Developer
- Will Entriken (kde DOTT org AT phor DOTT net)
- Google Summer of Code KDE developer
- James Richard Tyrer (tyrerj AT acm DOTT org)
- software design and engineering (not specifically KDE/Qt)
- Anne-Marie Mahfouf (annemarie.mahfouf AT free DOTT fr)
- KDE-Edu development, KDE4 development, and tutorial writing
- Jeremy Whiting (jeremy AT scitools DOTT com)
- Developer
- Your name here!
- Volunteer to be a mentor -> kde DOTT org AT phor DOTT net
K Desktop Environment