Previous Next Contents

5. Developer Information

5.1 Can I become a KDE developer?

Absolutely. Just join a mailing list or two (see More Information), and start throwing out ideas. If you already have an idea or a program in the works that you'd like to bring to KDE, then have a look at the guidelines in the next section.

5.2 What makes a KDE application a KDE application?

Broadly speaking, all KDE applications share the following features:

5.3 Why are we using QT? Wouldn't V/GTK/foo.widgets be better?

The KDE would not exist had Qt had not been around. It was not because someone brainwashed or forced us to use Qt; Matthias Ettrich proposed the KDE only because he noticed how easy it was to create smart-looking applications and utilities with Qt and recognized the need for such applications on UNIX.

Nobody looked at Athena widgets and said "let's make a cohesive, complete desktop environment for unix/X rivalling commercial offerings, and make it free". Yes, the KDE developers like Qt and this is why the KDE exists.

In theory, we could have introduced an abstraction layer between KDE and QT. In practice, this is not an easy task. We prefer to spend our time writing applications rather than abstracting GUI toolkits when we already have an excellent one at our disposal.

5.4 What about Qt's non-completely-free license?

We undertand and sympathize with the predicament in which our choice of Qt has put distributors of linux CDROMS. But we believe this is a small price to pay for what the KDE will become... and, I daresay, already is.

We are confident that the potential of distribution via the Internet will see to it that our effort in writing the KDE will not be in vain. Linux, the KDE and many, many more cooperative, voluntary projects exist in any form only because of the Internet.

For people who shan't use KDE because Qt is not GPL: We sympathize, regret etc. We really, really do. But not quite enough to drop Qt, coz we really like it.

5.5 Why don't we write a free Qt?

Write a couple of programs with Qt, look over the documenation closely. We may be programmers, artists and keen computer enthusiasts.

But we are not masochists. While many good things have come from leaderless, voluntary projects, it will be very, very hard to come up with something that has the consistency and sensible engineering of Qt.

But if you are willing to write it and make it GPL, we would like you to get in touch with us. Just keep in mind that there is a lot of momentum behind Qt already.

5.6 But why does the commercial Qt license costs so MUCH?

This is out of the scope of the KDE FAQ and mailing lists. Perhaps it should be discussed on the qt-interest mailing list (see http://www.troll.no/)

5.7 Why is the KDE so much like xyz OS/GUI?

We are humble enough to acknowledge that the established system(s) we are striving to replace have an edge in research in the field of ease-of-use.

We don't look at it as imitation nor flattery. We see it as "beating 'em on the head, violently and repeatedly, with their own 2x4". It makes us feel better about ourselves.

5.8 What other sources of information are available to developers?

Sirtaj S. Kang ( taj@kde.org) maintains the very useful KDE Developers' Centre which is located at http://www.ph.unimelb.edu.au/~ssk/kde/devel/. This site includes library references, a list of development tools, and a whole host of tips on how to create KDE apps.

You should also look at kexample-0.3.1.tar.gz (available on ftp sites) for an example of how to set up the layout of your source code so that it will ./configure, compile, and install itself in the same manner as all other KDE applications.

5.9 Ever since I uploaded my KDE application, I'm getting 5 million e-mails a day from newbies asking stupid questions. How should I deal with this?

KDE is generating a lot of excitement, and with popularity comes diversity of experience. There are now lots of new Linux users who have heard of KDE, seen the screenshots, and want it running on their system. This is good news; KDE is supposed to be about creating a coherent and easy to use GUI.

Unfortunately, since the word is ``out'' before a really stable version is available, new users have nowhere to turn for more information when the product does not work ``as advertized'' (this FAQ, for example, is currently pretty inadequate).

If all your free time is already going to development, then nobody has any right to complain if you simply leave the newbie questions sitting in your inbox. If you're getting repeated questions on a single topic, send me ( thor@netcom.ca) a quick summary of the problem (and any available fix) and I'll include it in the FAQ.

5.10 What projects currently need work?

In short, just about everything. The core components (window manager, file manager, etc.) already have very active developers, but there are many applications that can and should be ported to KDE. It's a good idea to ask around on the mailing lists (see More Information) before jumping headlong into something, since other developers may have already had the same idea as you're having. Anyone who writes a fast, efficient WYSIWYG word processor that can exchange files with WordPerfect and Word could quite possibly go down in history as the person who finally made Linux useful for the average computer user.

5.11 What if I don't know how to program in C++?

If you're a little leery about joining KDE development because your forte is pure C, then now may be a good time to take the plunge. Although you will need to learn at least a little C++ to interact with Qt and libkde, regular C code is otherwise surprisingly easy to port to C++/Qt/KDE.

The Qt package includes excellent documentation and example programs that can help you make the change to C++. In combination with a decent reference guide, you should be able to turn out a working khello_world application with a few days of effort.

5.12 What if I don't know how to program at all? 

The KDE project needs volunteers in many areas besides writing software. Kdehelp is evolving into a great hypertext help system, but there is currently a dearth of help files for users to actually read. Similarly, the KDE system is currently lacking a great deal of general documentation. There is also room for input from all users on such issues as interface design, look and feel, overall structure, configuration methods, and a host of other issues.


Previous Next Contents