'''Not a coder? See KDE's pages on [http://kde.org/community/getinvolved/ how to get involved] to see other ways you can help. Also see: [[Contribute/Bugsquad|Bugsquad]]!'''

+

''Not a coder? See KDE's pages on [http://kde.org/community/getinvolved/ how to get involved] to see other ways you can help. Also see: [[Contribute/Bugsquad|Bugsquad]]!''

}}

}}

== News and Mail Sources ==

== News and Mail Sources ==

+

The general direction of the KDE project is determined by those who do the work - there is no single high level plan for what KDE will look like in the future.

The general direction of the KDE project is determined by those who do the work - there is no single high level plan for what KDE will look like in the future.

Line 25:

Line 28:

== Reporting Bugs ==

== Reporting Bugs ==

−

The easiest way to contribute to KDE is to [http://userbase.kde.org/Asking_Questions#Reporting_KDE_Bugs report any bugs] you find in KDE using the [https://bugs.kde.org/ KDE Bug Tracking System] (also known as Bugzilla).

+

The easiest way to contribute to KDE is to [http://userbase.kde.org/Asking_Questions#Reporting_KDE_Bugs report any bugs] you find in KDE using the [https://bugs.kde.org/ KDE Bug Tracking System] (also known as '''Bugzilla''').

−

If the application you are using crashes then the Dr Konqi utility will appear and guide you through the process of reporting the crash. Learn more by reading [[Development/Tutorials/Debugging/How_to_create_useful_crash_reports|how to create useful crash reports]].

+

If the application you are using crashes then the '''Dr Konqi''' utility will appear and guide you through the process of reporting the crash. Learn more by reading [[Development/Tutorials/Debugging/How_to_create_useful_crash_reports|how to create useful crash reports]].

== Getting Started with Coding ==

== Getting Started with Coding ==

+

Getting started at coding for KDE is a matter of finding something to fix, and fixing it. You may want to consult the module overview to help find what you are looking for; once you have fixed something, you will want to send in a patch. If you do that a few times, you may want to apply for a KDE Contributor account so you can improve things directly.

Getting started at coding for KDE is a matter of finding something to fix, and fixing it. You may want to consult the module overview to help find what you are looking for; once you have fixed something, you will want to send in a patch. If you do that a few times, you may want to apply for a KDE Contributor account so you can improve things directly.

+

* [[Contribute/List of KDE Modules|Module overview]]

* [[Contribute/List of KDE Modules|Module overview]]

* [[Contribute/Send Patches|Sending patches]]

* [[Contribute/Send Patches|Sending patches]]

Line 37:

Line 42:

=== C++ ===

=== C++ ===

+

KDE is mostly written in C++. If you are not familiar with C++, you should do at least some work on it. There are a number of good books on C++ - an excellent source is [http://mindview.net/Books/TICPP/ThinkingInCPP2e.html Bruce Eckel's "Thinking in C++"], which is available both as a free download and as a printed document. It isn't essential to understand everything before you start in KDE, but you do need to understand basic syntax and operations.

KDE is mostly written in C++. If you are not familiar with C++, you should do at least some work on it. There are a number of good books on C++ - an excellent source is [http://mindview.net/Books/TICPP/ThinkingInCPP2e.html Bruce Eckel's "Thinking in C++"], which is available both as a free download and as a printed document. It isn't essential to understand everything before you start in KDE, but you do need to understand basic syntax and operations.

=== Qt ===

=== Qt ===

+

To become proficient with KDE coding, you should understand the Qt toolkit. If you are not familiar with Qt, you should work through the tutorials included with [http://doc.qt.nokia.com/latest Qt Reference Documentation].

To become proficient with KDE coding, you should understand the Qt toolkit. If you are not familiar with Qt, you should work through the tutorials included with [http://doc.qt.nokia.com/latest Qt Reference Documentation].

Line 47:

Line 54:

=== KDE ===

=== KDE ===

+

A range of information on KDE techniques is available in the [[Development/Tutorials|tutorial section]]. Note that some of these tutorials still target KDE3, though they should be at least partly applicable.

A range of information on KDE techniques is available in the [[Development/Tutorials|tutorial section]]. Note that some of these tutorials still target KDE3, though they should be at least partly applicable.

Line 69:

Line 77:

==Getting Answers to Your Questions==

==Getting Answers to Your Questions==

+

If your question concerns KDE development, your options are pretty much the same general user ones, with some modifications:

If your question concerns KDE development, your options are pretty much the same general user ones, with some modifications:

−

::* '''Read the Developer FAQ'''. Many common developer questions have been answered in the [[Development/FAQs|KDE Developer FAQ]]

+

<blockquote>

−

::* '''Search/browse KDE websites'''. A lot of questions can also be answered from the KDE websites, and the documentation included on it. You can search all the KDE websites on the homepage. In addition, you can browse the [http://techbase.kde.org KDE TechBase website]. And if possible, help edit it for clarity, and use the talk page if something is unclear.

+

:* '''Read the Developer FAQ'''. Many common developer questions have been answered in the [[Development/FAQs|KDE Developer FAQ]]

−

::* '''Search mailing lists'''. A lot of questions have already been answered on the KDE mailing lists, particular the lists kde-devel, kde2-porting, kde-core-devel, kde-games-devel, kfm-devel and koffice-devel. You can search these lists either at [http://lists.kde.org/ lists.kde.org]. You should always search for your answer before asking questions on the mailing lists. When you ask a question on a mailing list you are emailing thousands of people -- please do this only if the answer is not available through a simple search.

+

:* '''Search/browse KDE websites'''. A lot of questions can also be answered from the KDE websites, and the documentation included on it. You can search all the KDE websites on the homepage. In addition, you can browse the [http://techbase.kde.org KDE TechBase website]. And if possible, help edit it for clarity, and use the talk page if something is unclear.

−

::* '''Search engines'''. Do not forget about your favorite search engine. One of the best search engines is Google. With Google you can also [http://groups.google.com/ search] the great bulk of Usenet news sites, which is also particularly helpful, especially for general programming and gcc-related questions.

+

:* '''Search mailing lists'''. A lot of questions have already been answered on the KDE mailing lists, particular the lists kde-devel, kde2-porting, kde-core-devel, kde-games-devel, kfm-devel and koffice-devel. You can search these lists either at [http://lists.kde.org/ lists.kde.org]. You should always search for your answer before asking questions on the mailing lists. When you ask a question on a mailing list you are emailing thousands of people -- please do this only if the answer is not available through a simple search.

−

::* '''Read the source code'''. http://websvn.kde.org and https://projects.kde.org/ are available to help browse code. Read some commit logs and diffs for the code you might want to work with, It adds perspective.

+

:* '''Search engines'''. Do not forget about your favorite search engine. One of the best search engines is Google. With Google you can also [http://groups.google.com/ search] the great bulk of Usenet news sites, which is also particularly helpful, especially for general programming and gcc-related questions.

−

::* '''Ask on KDE mailing lists'''. If you still do not have an answer, try asking your question on one of the KDE mailing lists listed above.

+

−

::::* For questions relating to core development or third-party KDE development, unless you are particularly interested in [http://konqueror.kde.org/ Konqueror], [http://www.koffice.org/ KOffice], games or Java development, your main choice is [mailto:kde-devel@kde.org kde-devel] [mailto:kde-devel-request@kde.org?subject=subscribe (subscribe)].

+

:* '''Read the source code'''. http://websvn.kde.org and https://projects.kde.org/ are available to help browse code. Read some commit logs and diffs for the code you might want to work with, It adds perspective.

:* For questions relating to core development or third-party KDE development, unless you are particularly interested in [http://konqueror.kde.org/ Konqueror], [http://www.koffice.org/ KOffice], games or Java development, your main choice is [mailto:kde-devel@kde.org kde-devel] [mailto:kde-devel-request@kde.org?subject=subscribe (subscribe)].

−

::::* For questions relating to games development, your main choice is [mailto:kde-games-devel@kde.org kde-games-devel] [mailto:kde-games-devel-request@kde.org?subject=subscribe (subscribe)]

Reporting Bugs

If the application you are using crashes then the Dr Konqi utility will appear and guide you through the process of reporting the crash. Learn more by reading how to create useful crash reports.

Getting Started with Coding

Getting started at coding for KDE is a matter of finding something to fix, and fixing it. You may want to consult the module overview to help find what you are looking for; once you have fixed something, you will want to send in a patch. If you do that a few times, you may want to apply for a KDE Contributor account so you can improve things directly.

C++

KDE is mostly written in C++. If you are not familiar with C++, you should do at least some work on it. There are a number of good books on C++ - an excellent source is Bruce Eckel's "Thinking in C++", which is available both as a free download and as a printed document. It isn't essential to understand everything before you start in KDE, but you do need to understand basic syntax and operations.

Qt

To become proficient with KDE coding, you should understand the Qt toolkit. If you are not familiar with Qt, you should work through the tutorials included with Qt Reference Documentation.

If you need a gentler introduction to Qt, or would just like an alternative view, then you may wish to look at the The Independent Qt Tutorial (Currently offline due to book contract).

Last, but by no means least, KDE comes with extensive class (Application Programmer Interface) documentation. This is available in the
KDE API Reference Manuals section, which also contains a number of useful links on how to write or update the class documentation. You can also generate these on your own machine, or refer to a more up-to-date online version at API Reference.

A more detailed description of the steps above is available in our Programming Guide.

Getting Involved in Bug Hunting and Application Quality

There is a large number of applications within KDE, and not all of them have a maintainer dedicated to managing bugs and generally helping out with all the issues associated with turning some working code into a polished application.

If you are interested in helping out with KDE, but don't know where to start, becoming a member of the KDE Quality Team might appeal to you - see the Quality Team website for more information. Note that you do not need any programming skills to become involved. In particular developers regularly publish so-called Junior Jobs to encourage new contributions.

Of course, you can become involved in bug hunting without being part of the KDE Quality Team - just create yourself an account on the KDE bug tracking system, and start searching / sorting through the bugs. Again, you don't have to have programming skills - it helps the programmers enormously just to have a procedure that allows a bug to be consistently reproduced.

The Bugsquad tries to keep track of bugs in KDE software and make sure that valid bugs are noticed by developers. You do not need any programming knowledge to be in the Bugsquad; in fact it is a great way to return something to the KDE community if you cannot program.

Getting Answers to Your Questions

If your question concerns KDE development, your options are pretty much the same general user ones, with some modifications:

Read the Developer FAQ. Many common developer questions have been answered in the KDE Developer FAQ

Search/browse KDE websites. A lot of questions can also be answered from the KDE websites, and the documentation included on it. You can search all the KDE websites on the homepage. In addition, you can browse the KDE TechBase website. And if possible, help edit it for clarity, and use the talk page if something is unclear.

Search mailing lists. A lot of questions have already been answered on the KDE mailing lists, particular the lists kde-devel, kde2-porting, kde-core-devel, kde-games-devel, kfm-devel and koffice-devel. You can search these lists either at lists.kde.org. You should always search for your answer before asking questions on the mailing lists. When you ask a question on a mailing list you are emailing thousands of people -- please do this only if the answer is not available through a simple search.

Search engines. Do not forget about your favorite search engine. One of the best search engines is Google. With Google you can also search the great bulk of Usenet news sites, which is also particularly helpful, especially for general programming and gcc-related questions.

Ask on KDE mailing lists. If you still do not have an answer, try asking your question on one of the KDE mailing lists listed above.

For questions relating to core development or third-party KDE development, unless you are particularly interested in Konqueror, KOffice, games or Java development, your main choice is kde-devel(subscribe).