Get Involved/development: Difference between revisions
m Entriken moved page Getinvolved/development to Get Involved/development: Consistent name |
No edit summary |
||
Line 58: | Line 58: | ||
* Teo Mrnjavac (<span class="mailme">teo at kde dot org</span>)<br /> Developer, Amarok | * Teo Mrnjavac (<span class="mailme">teo at kde dot org</span>)<br /> Developer, Amarok | ||
* Myriam Schweingruber (<span class="mailme">myriam at kde dot org </span>)<br/>Bug triager for Amarok and KDE, Quality Team, Documentation | * Myriam Schweingruber (<span class="mailme">myriam at kde dot org </span>)<br/>Bug triager for Amarok and KDE, Quality Team, Documentation | ||
* Islam Wazery (<span class="mailme">wazery at ubuntu dot com </span>)<br/>digiKam Developer | |||
* Your name here!<br /> Volunteer to be a mentor! | * Your name here!<br /> Volunteer to be a mentor! | ||
<!-- BUMP YOURSELF WHENEVER YOU WANT! --> | <!-- BUMP YOURSELF WHENEVER YOU WANT! --> | ||
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 [[GSoC|Google Summer of Code with KDE]]. | 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 [[GSoC|Google Summer of Code with KDE]]. |
Revision as of 00:33, 9 March 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:
- C++ FAQ lite - at some point, you'll have a question that is answered here.
- Thinking in C++ (volume 1), Thinking in C++ (volume 2) - 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
- The KDE Development Plans - This is the bigger picture for the development efforts of the KDE project, everyone should understand these before going forward
- The definite KDE dev book - a comprehensive guide for KDE developers to be.
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:
- 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)
Developer - 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 - Islam Wazery (wazery at ubuntu dot com )
digiKam Developer - 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.