Jump to content

KDE

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 65.94.100.225 (talk) at 16:28, 25 August 2006 (See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

K Desktop Environment
Developer(s)The KDE Team
Stable release
3.5.4 / Aug 2, 2006
Operating systemLinux, Unix and like operating systems, Microsoft Windows (via Cygwin), Mac OS X (via Fink)
TypeDesktop environment
LicenseGPL, LGPL, BSD license and others
Websitewww.kde.org

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, AIX, Unixware, OpenServer and Solaris. There are also ports to Mac OS X using its X11 layer and Microsoft Windows using Cygwin.

Currently, a large portion of the primary KDE libraries and a few other applications can work natively on Microsoft Windows, due to the KDElibs/win32 Project. Ports of other KDE applications are being discussed.

KDE is developed in conjunction with KDevelop, a software development suite, and KOffice, an office suite.

The "K" originally stood for "Kool" (as the "C" as in "cool" was already used in the acronym for the Common Desktop Environment), but was changed soon after to stand simply for "K".[1]

The project's mascot is a green dragon named Konqi. Konqi can be found in various applications, including when the user logs out and in the "About KDE" screen.

History

Konqi KDE project mascot

KDE was founded in 1996 by Matthias Ettrich, who was then a student at the University of Tübingen. At the time, he was troubled by certain aspects of the UNIX desktop. Among his qualms, outlined in a now-famous newsgroup post, were that none of the applications looked, felt, or worked alike. 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 for the KDE project. Other programmers quickly started developing KDE/Qt applications, and by early 1997, large and complex applications were being released. At the time, Qt did not use a free software license and members of the GNU project became concerned about the use of such a toolkit for building a free software desktop and applications. Two projects were started: "Harmony", to create a Free replacement for the Qt libraries, and the GNOME project to create a new desktop without Qt and built entirely on top of free software.

In November 1998, the Qt toolkit was licensed under the open source Q Public License (QPL). This same year the KDE Free Qt foundation was created which guarantees that Qt would fall under a variant of the very liberal BSD license should Trolltech cease to exist or no open source version of Qt be released during 12 months. But debate continued about compatibility with the GNU General Public License (GPL). In September 2000, Trolltech made the Unix version of the Qt libraries available under the GPL, in addition to the QPL, which has eliminated the concerns of the Free Software Foundation. Starting with the release of Qt 4.0, it is available as free software for the Unix, Mac and Windows platforms, indicating that the next major version of KDE applications and libraries will have native support on these platforms.

Both KDE and GNOME now participate in Freedesktop.org, an effort to standardize 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 Mandriva 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

Typical SuSE KDE desktop running daily common applications.

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:

Major release

There have been 11 major releases: 1.0, 1.1, 2.0, 2.1, 2.2, 3.0, 3.1, 3.2, 3.3, 3.4 and 3.5.

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.

File:GentooWithKDE34.png
A highly customized KDE desktop, running with full transparency. Shown with KSmoothdock, and GKrellM.

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.5, which arrived on November 29, 2005. KDE 4 will succeed 3.5 sometime in early 2007 and will be based on Qt 4.x encompassing some major changes to the desktop.

Minor release

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 Subversion 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 main CVS repository 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.

KDE 4

Early screenshot of KDE 4 running. KDE 4 will take on a completely different GUI than the one shown, as features such as Plasma are integrated into the desktop. Kate.

KDE 4 will be a major revision of KDE, based on the version 4 series of Qt. Its release date hasn't been decided yet but will possibly be in late 2006 or early 2007. Some of the planned features are explained here: [2] [3]. On August 18,2006, a minimal technical preview of KDE4, KDE 3.80.1 was released [4] and the first Technical Preview version of KDE 4 is due to be realeased to coincide with KDE's tenth birthday, a culmination of all the KDE 4 hacking that will take place at aKademy 2006 in Dublin. [5]

  • Faster and more memory efficient, due to the greater speed and efficiency of Qt 4.x and increased efficiency in the KDE libraries themselves.
  • Reorganized and cleaned up core kdelibs API and rewritten Human Interface Guidelines.
  • A new default icon theme and visual guidelines, developed by the Oxygen Project, which will make extensive use of SVG.
  • A completely redesigned desktop and panels collectively called Plasma which will integrate Kicker, KDesktop, and SuperKaramba and is intended to update the decades-old desktop metaphor which defines the computer desktop experience.
  • Streamlined file management and web browsing interfaces in Konqueror.
  • A standard scripting system centered around ECMAScript (JavaScript).
  • A new multimedia interface (Phonon), making KDE independent of any one specific media framework.
  • An API for network and portable devices, called Solid.
  • A new communication framework (Decibel).
  • A metadata and search framework, named Tenor.
  • Native, out-of-the-box support for the Windows and Mac OS X platforms for the core libraries.

Architecture

  • 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

Packaging

A minimalist KDE desktop using the Nuvola icons.

Due to the size of KDE, it is divided into several package categories to simplify installation. This is a reference scheme; packagers are free to use their own packages for KDE.

There is also a Subversion module, Extragear (utils, network, multimedia... applications), which is used by applications which are part of the KDE project but don't depend on the release cycle of the main codebase; K3b and Amarok are part of this module. More info can be found on the homepage.

Major KDE applications

For a full list, see list of KDE applications. Applications for KDE include:

Timeline

Naming convention

Most KDE applications have a K in the name, mostly as an initial letter and capitalized. However, there are notable exceptions like kynaptic, whose K is not capitalized, Gwenview, which doesn't have a K in the name at all, and Amarok which has a K at the end. Many KDE applications get their K by spelling a word which originally begins with C or Q differently, for example Konsole and Kuickshow. Also, some just prepend a commonly used word with a K, an instance being KOffice. It should be noted that some application names (such as Konsole) are correctly spelled German words.

Licensing issues

Qt, to which native graphical KDE applications link for their graphical widgets (buttons, check boxes, scrollbars...), is freely available under the GNU GPL and QPL licenses (a license for proprietary software may be purchased however). Considering the freely available licenses, programs which link to Qt must be released as FOSS (under the GPL or another license permitted by the QPL, such as the BSD or LGPL for example). After the release of Qt under the GPL, the controversy over licensing with the Free Software Foundation ended.

Some closed source developers argue that paying for a license, similar to the relatively expensive development tools of other systems, removes most of the financial incentive for writing closed source, native graphical KDE applications. However, it is not necessary to use Qt or the KDE libraries to write software which integrates well to the KDE desktop. Software using any other toolkit, following the freedesktop standards or using KDE facilities such as kprinter and kdialog can integrate nicely to the KDE desktop (both kprinter and kdialog use Qt, they are under the GPL licence), however the widgets will not have the exact behavior of Qt widgets. Additional integration efforts are being discussed in the Portland Free Desktop initiative [6], and are planned for KDE 4.

Some other open source desktop platforms (such as GNOME, Xfce, EDE...) use toolkits licensed under the LGPL. The LGPL permits closed source applications to link to LGPLed libraries with some restrictions: the Section 6 of the LGPL v2.1 prohibits linking to software with a license that restricts reverse-engineering and modification of the work for the customer's own use. The commercial (paid) Qt license does not carry these restrictions. As of December 2005 a Qt license costs from 1420 to 2630 euro per developer. Updates for one year are included, after which the license must be renewed (550 to 1020 USD per year) to benefit from software updates and support under the commercial license.

Usability

KDE aims to make easy-to-use programs without sacrificing features. KDE's Usability page states its goal as: "Working within the existing design goals of a system, usability efforts aim to make the implementations of these designs easier to use, faster to learn, more consistent and obvious, and generally more ergonomic for their target audience." [7] To improve the user interface, work has gone into reducing visual complexity for versions 3.2 to 3.5. The most promising effort is the close work with the OpenUsability Project. One of the major goals of KDE 4.0 is to identify further areas that are lacking from a usability perspective and address these concerns. In particular, new human interface guidelines are being developed for KDE 4.0.

The KDE interface has been criticised for being too complex and including too many configurable options. However, a usability report [8] evaluating a customized version of KDE 3.1 showed, as early as 2003, that the users were quickly familiar with KDE, enjoyed it and were able to accomplish the proposed task as quickly as with Windows XP. This was quite an accomplishment at the time, because those users were all long-time Windows users, so familiarity should have played heavily in favor of Windows XP.

KDE strives to make otherwise onerous or difficult tasks easier, such as adding printers (local or networked), setting up 802.11 Wireless security settings (such as WEP), and installing new fonts and window decorations. Third-party web sites LinuxPrinting and KDE-Look support KDE through adding devices or customizing the environment's look and feel.

See also

Notes and references

  1. ^ Matthias Ettrich original posting
  2. ^ KDE press release for version 1.0
  3. ^ KDE News Archive for February 1999 refering to the release of version 1.1
  4. ^ KDE press release for version 1.1.1

Template:Link FA