Science Fair Project Encyclopedia
KDE (K Desktop Environment) is a free desktop environment and development platform built with Trolltech's Qt toolkit. It runs on most Unix and Unix-like systems, such as Linux, BSD and Solaris. There are also ports to Mac OS X using its X11 layer and Microsoft Windows using Cygwin. A port to native Microsoft Windows using a new-from-scratch Qt toolkit is being discussed. It is developed in conjunction with KDevelop, a software development suite, and KOffice, a suite of office software.
The "K" originally stood for "Kool" ("C" as in "cool" was already given away to the Common Desktop Environment), but was changed soon after to stand simply for "K", which is "The first letter before 'L' (which stands for Linux) in the Latin alphabet."
KDE was founded in 1996 by Matthias Ettrich, who was then a student at the University of Tübingen. He found a number of things wrong with the UNIX desktop at that time. Among his qualms, outlined in a now-famous newsgroup post, were that none of the applications looked, felt, or worked alike to each other. He proposed the formation of not only a set of applications, but rather a desktop environment, in which users could expect things to look, feel, and work consistently. He also wanted to make this desktop easy to use. One of his complaints with desktop applications of the time was that his girlfriend could not use them. That post spurred a lot of interest, and the KDE project was born.
Matthias chose to use the Qt toolkit as the toolkit of choice of the KDE project. Other programmers quickly started developing KDE/Qt applications, and by early 1997, large and complex applications were being released. In mid-1997, the GNU project had concerns about the licensing of Qt, leading to their founding the GNOME Desktop project and Harmony, a now-abandoned project to clone Qt. Qt was later relicensed to provide the GNU General Public License as an option, which has mitigated these concerns. There is still considerable disagreement over the use of the full GPL for a library like Qt, and the restrictions this imposes on code linking to it, such as the KDE framework and any applications written for it. Both KDE and GNOME now participate in Freedesktop.org, an effort to standardise Unix desktop interoperability, although there is still some friendly competition between them.
Organization of the KDE project
Like many open source/free software projects, KDE is primarily a volunteer effort, although various companies, such as Novell (in the form of SuSE), Trolltech, and MandrakeSoft employ developers to work on the project. Since a large number of individuals contribute to KDE in various ways (e.g. code, translation, artwork), organization of such a project is complex. Most problems are discussed on a number of different mailing lists.
Important decisions, such as release dates and inclusion of new applications, are made on the kde-core-devel list by the so-called core developers. These are developers who have made significant contributions to KDE over a long period of time. Decisions are not made by a formal voting process, but by discussion on the mailing lists. In most cases this seems to work well, and major discussions (such as the question of whether the KDE 2 API should be broken in favour of KDE 3) are rare.
While developers and users are now located all over the world, the project retains a strong base in Germany. The web servers are located at the universities of Tübingen and Kaiserslautern, a German non-profit organization (KDE e.V.) owns the trademark on "KDE", and KDE conferences often take place in Germany.
Release cycle and version numbers
As the project history below shows, the KDE team releases new versions on a frequent basis. It is rare that a release is delayed for more than one or two weeks. (An exception was KDE 3.1, which was delayed for more than a month because of a number of security issues in the code base.)
There are two main types of releases:
There have been 10 major releases: 1.0, 1.1, 2.0, 2.1, 2.2, 3.0, 3.1, 3.2, 3.3 and 3.4.
A major KDE release has two version numbers, e.g. KDE 1.1. All KDE releases in the same major version (e.g. KDE1, KDE2 and KDE3) are both binary and source-compatible. This means for instance that software developed against KDE 3.0.x will work with all KDE3 releases. Only a major KDE release will incorporate new features.
Changes requiring recompilation or porting never occur except during major version changes; this maintains a stable API for KDE application developers. The changes between KDE 1 and KDE 2 series were large and many, while the API changes between KDE 2 and KDE 3 were comparatively minor, meaning that applications could be easily ported to the new architecture. Up to now the KDE major version numbers follow the Qt release cycle.
As soon as a major release is ready and announced, work on the next major release starts. A major release needs several months to be finished and many bugs that are fixed during this time are "backported" to the stable branch, meaning that these fixes are incorporated into the last stable release.
The current major release is 3.4, which arrived on March 16, 2005. Following that will be 3.5, set for late 2005 with a projected focus on areas such as polish and general usability. KDE 4 will succeed 3.5 sometime in 2006, and will be based on Qt 4.0 encompassing some major changes to the desktop.
A minor KDE release has three version numbers, e.g. KDE 1.1.1, and the developers focus on fixing bugs, minor glitches and small usability improvements, as opposed to adding new features.
For minor releases, a shortened release schedule is used. A minor release is based on a CVS branch of a previous release and does not affect the "HEAD branch", the branch where the current development of the next major release takes place.
new features, bug fixes KDE 3.2 released --------------------> KDE 3.3 (also called HEAD branch) (new development started) bug fixes only --------------------> KDE 3.2 BRANCH (becoming a minor release)
The somewhat unusual name "3.0.5a" was used because of a lack of version numbers. Work on KDE 3.1 had already started and, up to that day, the release coordinator used version numbers such as 3.0.5, 3.0.6 internally in the CVS system to mark snapshots of the upcoming 3.1. Then after 3.0.3, a number of important and unexpected bug fixes suddenly became necessary, leading to a conflict, because 3.0.6 was at this time already in use. More recent KDE release cycles have tagged pre-release snapshots with large revision numbers, such as 3.1.95, to avoid such conflicts.
While development on KDE 2.x in general has stopped, important security fixes are backported to KDE 2.x, since many people still use it.
Several vital pieces of technology make up the advanced infrastructure of KDE:
- aRts - soundserver
- DCOP - system for communication between processes
- KHTML - HTML engine
- KIO - extensible network-transparent file access for KDE applications
- Kiosk - disable features within KDE to create a more controlled environment
- KParts - lightweight in-process graphical component framework
- Kwin - window manager
- KConfigXT - takes an XML file and produces source code to manage configuration options, including classes to glue the resulting code to configuration dialogs.
- Qt - cross platform graphical widget toolkit
- XMLGUI - allows defining UI elements such as menus and toolbars via XML files
Due to the size of KDE, it is packaged into several package categories to simplify installation. This is a reference scheme, packagers are free to use their own packages for KDE.
- arts - KDE sound server.
- kdelibs - Primary libraries, containing most pieces of KDE architecture.
- kdebase - The base desktop and applications. Requires kdelibs .
- kdeaccessibility - Accessibility software.
- kdeaddons - Add-on software.
- kdeadmin - Administrative tools, intended for administering UNIX machines.
- kdeartwork - Additional artwork (widget style, screensavers, wallpapers, etc...)
- kdeedu - Educational software.
- kdegames - Games.
- kdegraphics - Tools for manipulating graphics.
- kde-i18n - Internationalization for KDE.
- kdemultimedia - Multimedia software.
- kdenetwork - Network tools and software.
- kdepim - Personal information management and E-mail software.
- kdesdk - Developer tools.
- kdetoys - Desktop Toys and Amusements.
- kdeutils - Utilities.
- kdewebdev - Web Development.
- koffice - Office software.
There are also on the CVS the module kdeextragear-(libs-)* which are used by applications which are part of the KDE project but which doesn't depend on the release cycle of the main codebase. For instance K3b and amaroK. More info can be found on Extra Gear Homepage.
Major KDE applications
For a full list, see list of KDE applications. Applications for KDE include :
- AmaroK (media player) - Media player
- K3b - CD and DVD burning application
- Kate - Text editor
- KDevelop - Integrated Development Environment (IDE)
- Kexi - Integrated environment for managing data
- KMail - Email client
- KOffice - Office suite
- Konsole - Terminal emulator
- Kopete - Instant messaging
- Konqueror - File manager and web browser using KHTML
- KPresenter - Presentation application
- KSpread - Spreadsheet
- KStars - Desktop planetarium (accurate graphical simulation of the night sky)
- KWord - Word processor
- 14 October 1996: Project was announced by Matthias Ettrich. 
- 12 July 1998: KDE 1.0 released
- 6 February 1999: KDE 1.1 released
- 15 December 1999: KDE 1.89, aka Krash (unstable developers' release)
- 23 October 2000: KDE 2.0 released
- 26 February 2001: KDE 2.1 released
- 15 August 2001: KDE 2.2 released
- 3 April 2002: KDE 3.0 released
- 28 January 2003: KDE 3.1 released
- 3 February 2004: KDE 3.2 released
- 19 August 2004: KDE 3.3 released
- 16 March 2005: KDE 3.4 released
- List of computing topics
- List of open-source software packages
- List of Unix programs
- freedesktop.org interoperability between KDE and GNOME
- Using KDE - a KDE wikibook
- The KDE website
- KDE Wiki
- KDE mailinglists
- KDE News Site
- The original project announcement (from Google Groups)
- KDE release schedules
- KDE screenshots
- KDE on Windows using Cygwin
- PlanetKDE: Aggregation of public weblogs written by contributors of KDE
- KDE-Look.org: Download unofficial KDE artwork and themes
- KDE-Apps.org: Download unofficial KDE applications
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details