KDE is a project aimed at building a fast and coherent desktop environment for the X Window System.
The project already includes a window manager ( kwm), file manager, ( kfm), application launcher and organizer ( kpanel), terminal emulator ( kvt), and a system-wide hypertext help system ( kdehelp). Embedded support for networking is included. From the filemanager (for example), a user can transparently access an ftp site in exactly the same way that they open a local file.
In addition to these basic elements, there is also a core library of routines (libkdecore) that developers can use to build KDE applications. Current applications include an editor (kedit), a ghostscript previewer (kghostview), and a dvi file viewer (kdvi).
A scripting language is also in the works, which would allow users to write small applets and glue existing applications together. This scripting language may also allow users to write macros within KDE applications.
KDE is based on the excellent Qt library, which is available from Troll Tech. Qt is an X library that handles lower level user-interface routines, and is free for freeware X developers (see Free). Since Qt provides a C++ API, the dominant development language for KDE is C++.
If you're reading the html version of this document, then a screenshot should appear below. For readers of the other versions of this document, a current screenshot is available at http://www.kde.org/screenshots/kwm.gif.
The original instigator of the entire project was Matthias Ettrich, who posted the original announcement that got the ball rolling.
Since that time, a lot of other people have become involved. A list of developers (including some photos) can be found at http://www.kde.org/gallery/index.html.
The KDE FAQ was started by Matt McLeod ( mjm@kde.org). It is currently being maintained by Thor Sigvaldason ( thor@netcom.ca). Other conributors include Sirtaj Singh Kang ( ssk@physics.unimelb.edu.au), Robert David Williams ( rwilliam@enol.com), Stephan Kulow ( coolo@itm.mu-luebeck.de), and Dirk Jablonski ( jablonski@poweronline.net).
Since most of the KDE developers are Linux enthusiasts, our central motivation is that a free desktop environment is something that Linux needs. Current Linux distributions generally include a large number of X programs, but each of these use different widget sets and behave very differently.
For those with sufficient resources, commercial products such as Caldera's Integrated Desktop do provide such a product, but not in a free version. We would like new users to be able to get on with their every-day tasks quickly and easily, without having to spend much money.
There is also the obvious benefit that if (when!) KDE reaches a critical mass, it's open and free nature will allow for rapid extensions, additions, and improvements.
That depends on what you mean by free. The source code for KDE is (in and of itself) free in the GNU GPL sense. This means you can download it, compile it, modify it, give away copies, include it on CD-ROMs, etc. (provided you make source available!).
However, KDE is built on-top of Qt which has a slightly more restrictive license. In essence, you can use the X version of Qt to develop free software, such as KDE and KDE applications. However, you cannot sell commercial software that is based on Qt without obtaining a commercial license from Troll Tech.
So, if you are thinking about developing an application that will work under KDE, you will face no constraints as long as you do not intend to ever sell your software commercially.
Since neither the X Window System nor Qt inherently require Linux, KDE should be portable to other UNIX platforms. In fact, since versions of Qt exists for non-UNIX platforms (eg. Win95, WinNT), it may even be possible to port some KDE applications to those operating systems.
Some users have reported success in building KDE on SUN's, Indy's, and so on. However, the current focus of the KDE project is definitely Linux, and that is where development energy is being focused. As a first stable distribution emerges (see Current Status), increased support for portability will be enhanced.
Not yet. Some people are working on support for multi-byte character codes in the core system. Once this is done, there are plans afoot to add multiple language support to KDE. It is unlikely that this will appear very soon, and will certainly not be included in the first public release.
This FAQ is currently available only in English, but anyone interested in working on translations is invited to contact the maintainer ( thor@netcom.ca).
KDE will make it easier for you to get things done in a GUI environment. Through such conventions as standardized menus, comprehensive help facilities, and a unified configuration system, KDE will provide a far more regular interface than is currently available (for free) under Linux.
Plus, KDE is already growing beyond its original goal of just offering a nice GUI. The library IO routines (which should be used by all KDE applications) make network resources transparent; applications don't care if they're getting a file from the local disk, an FTP server, or some currently unknown Internet service. If it can be described by a URL, it can be accessed by any KDE application.
One of KDE's goals is to make the entire system easy to manage. Support is already there for separate system and user level configuration. The application launcher tree uses regular files, so you can use normal UNIX permissions to decide who can run what. If a user can't run it, they'll never see an icon offering it.
In addition, if you are involved in offering user support, then consistency between applications is obviously very appealing.
The KDE team is hard at work on a first public release. There is already a release available for testing (see installation). Be warned, however, that the current release is ALPHA (see Should I install now?).
The main web site for KDE is located at
http://www.kde.org. There are also several mailing lists devoted to
various aspects of KDE development. To join any of these, send a message
containing the subject ``subscribe
'' to:
To cancel an existing subscription to any of these lists, send a
message containing the text ``unsubscribe [your-email-address]
'' to
the relevant list.
All versions of this FAQ (html, PostScript, etc.) were created from the same piece of SGML source code. This source was then processed using a highly hacked version of SGML-tools that allows for the insertion of graphics. These hacks have not yet been made available as they are extremely crude. One day (in the not too distant future) this hacked version of SGML-tools will be polished and released as K-SGML.