# KDE Development

## Introduction

This is the beta1 release of KDE, but there are already many useful applications working. The KDE developers hope that you enjoy using the applications we are writing. We ask that you assist us by testing the software as it is released, and sending bug reports.

Keep in mind that alpha software is inherently buggy. If you need a rock solid desktop you should probably wait for a more stable release. You may wish to install KDE in a test account first.

## Want to help?

We need your help to make KDE even better.

You don't need to be a programmer (though we want more of these too). If you can document, draw icons, alpha/beta test then you can help.

If you would like to get involved in programming for the KDE project, the simplest way is to mail a description of your proposed project to the kde mailing list. If a similar project is already underway you may wish to help, otherwise take note of any suggestions offered and start coding!

To keep up to date with future releases of KDE, or get involved more directly, please subscribe to the appropriate KDE mailing list.

As you can see the documentation needs a lot of work :-)

## Feature Requests

At this stage of development we would rather not be flooded with feature requests. If you do have a great idea, then mail your idea to the general mailing list. Do not bother the developers directly. If they like your idea and have time to implement it you may get a nice surprise in the next release. Don't feel bad if your feature request goes unanswered - the developer may have added it to their (often long) todo list.

## What do I need to develop a KDE application?

All KDE applications are built using the Qt GUI toolkit from Troll Tech. Qt is an excellent commercial toolkit which includes a free license for X Window software which is freely distributable. This allows us to use a commercial quality product with one restriction: the software we write must be free. Obviously, this is exactly what we are doing, so the Qt license is not considered restrictive for our purpose. Of course, if you wish to charge for an application you wrote for KDE, you need to buy a Qt license - only fair.

The version of Qt currently required by KDE is Qt-1.3. This is available from Troll Tech's ftp site, or from the KDE ftp site.

In addition to Qt, a library of core functionality and widgets for use by KDE applications has been developed:

- libkdecore: configuration (rc) file loading/saving, URL handling, and other functions required by all KDE applications.
- libkdeui: user interface components such as font and color dialogs, and miscellaneous widgets used by KDE applications.
- libkhtmlw: KDE HTML widget. This widget is used primarily by kfm and kdehelp, but can be easily incorporated into any application which needs to display HTML or formatted text.

All of these libraries can be found in the kdelibs package.

Besides the software components mentioned above, there are guidelines which should be followed as closely as possible to ensure a consistent feel between applications. You should read the Style Guide and the KDE RFC.

## More Information

### KDE mailing lists

kde-announce@fiwi02.wiwi.uni-tuebingen.de
  General announcements, new releases, etc.

kde@fiwi02.wiwi.uni-tuebingen.de
  General discussion.

kde-look@fiwi02.wiwi.uni-tuebingen.de
  Discussion of look and feel of KDE, user interaction issues.

kde-devel@fiwi02.wiwi.uni-tuebingen.de
  Developers list - implementation details.

To subsribe or unsubscribe to any of these lists send mail to:

[list]-request@fiwi02.wiwi.uni-tuebingen.de

with an empty Subject: line and `[un]subscribe [your-email-address]` in the body.

### WWW sites

The official KDE home page is located at http://www.kde.org/. Other KDE sites are listed at the official site.

## Reporting Bugs

There are two ways of reporting bugs in KDE software:

1. Report bugs with the web form at http://buglist.kde.org.
2. Send a bug report to the mailing list.

The first method is probably the most effective as the bug list maintainer (David McCanney) annoys us until we fix the bug.

IMPORTANT: The developers of KDE are volunteers who are working on KDE in their free time. Before you send a bug report, try to fix the problem yourself - if you can code, then track down the problem and send a patch. If you can't fix the problem, then send a polite bug report to one of the addresses shown above. Be comprehensive:

- What did you do to activate the bug?
- Is it reproducable?
- What debugging output does the application write to the console immediately before and after the bug occurs?
- If it crashes the app, send a stack backtrace.

Note: Several KDE packages have been ported from an existing package. Please don't bother the original author - contact the person doing the port to make sure it hasn't been introduced by the KDE programmer.

BTW: Even if your favourite KDE package has no bugs (yeah, I know - this doesn't happen in the real world), let the author know you like his program - a little encouragement helps maintain enthusiasm (we do it for love, not money ;-).