community
directory
books
authors
images
encyclopedia

Email:
Password:
Register

Knowledgerush Search

 

Google
  Web knowledgerush


Search for images of K Desktop Environment


Message boards   Post comment

K Desktop Environment

KDE_logo.jpeg

KDE (K Desktop Environment) is a free desktop environment and framework built with Trolltech's Qt toolkit for Linux and Unix. It runs on most Unix and Unix-like systems and even on Microsoft Windows (using Cygwin). It was originally designed to run on X11 systems, but has also been ported to other platforms.

According to the KDE website, "KDE is a network transparent contemporary desktop environment for UNIX workstations. KDE seeks to fill the need for an easy to use desktop for Unix workstations, similar to the desktop environments found under MacOS or Microsoft Windows." It is highly configurable and features many cosmetic elements such as menu translucency and antialiasing. KDE was originally patterned after CDE, an older Unix desktop environment used by many commercial Unix vendors.

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

Kde3.1-screenshot.jpeg

The "K" originally stood for "Kool", but was later changed to stand simply for "K," which is "The first letter before 'L' (which stands for Linux) in the Latin alphabet."

Organization of the KDE project

Like many open source/free software projects, KDE is primarily a volunteer effort, although both Trolltech and SuSE employ developers to work on the project. Since several hundred 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 which have contributed to KDE for a long 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 whether the KDE 2 API should be broken in favor of KDE 3, are rare.

KDE and GNOME

There is both competition and cooperation between KDE and GNOME, another free graphical desktop environment for Unix. Historically, the GNU project had concerns about the licensing of the Qt library, leading to their founding the GNOME Desktop project and Harmony, a now-abandoned project to duplicate Qt. Qt was re-licensed to provide the GNU General Public License as an option, which has mitigated these concerns.

KDE and GNOME applications mostly each run properly in the other environment. Both KDE and GNOME now participate in Freedesktop.org, an effort to standardise Unix desktop interoperability.

Release cycle and version numbers

As the project history below shows, the KDE team releases new versions on a frequent basis. They are known for sticking to their release plan, and it is rare that a release delays 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.)

Maintaining a strict release plan for a volunteer project of this size is unusual; the Linux kernel, for instance, is known for its unpredictable delays, and the Gnome project had several times missed the aimed release date.

There are two main types of releases:

Major release

There have been 8 major releases: 1.0, 1.1, 2.0, 2.1, 2.2, 3.0, 3.1 and 3.2.

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 month 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.

Minor release (aka "bug-fix 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 useability 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.1 released -------------------->  KDE 3.2 (also called HEAD branch)
 (new development
  started)          bug fixes only
                  -------------------->  KDE 3.1 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 in general has stopped, very important security fixes are backported to KDE 2 in case someone still uses this version.

Architecture

Several vital pieces of technology make up the advanced infrastructure of KDE:

  • aRts - soundserver
  • DCOP - system for communication between processes
  • KHTML - HTML engine
  • KIO - provides extensible network-transparent file access for KDE applications
  • 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
  • XMLUI - allows defining UI elements such as menus and toolbars via XML files

Major KDE Applications

These are the largest applications that are part of the KDE distribution:

Timeline

See also

External links

 

Compose Your Message

Your Email Address or Pen Name (optional):
Subject:
Your Message:
 

 

 

 

 

 

This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "K Desktop Environment".

 

Contact UsPrivacy Statement & Terms of Use

 
Copyright © 1999-2003 Knowledgerush.com. All rights reserved.