The KDE Software Compilation (KDE SC) was an umbrella term for the
desktop environment
In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a grap ...
plus a range of included applications produced by
KDE. From its 1.0 release in July 1998 until the release of version 4.4 in February 2010, the Software Compilation was simply known as KDE, which stood for K Desktop Environment until the rebrand. The then called KDE SC was used from 4.4 onward until the final release 4.14 in July 2014. It consisted of the
KDE Plasma 4 desktop and those KDE applications, whose development teams chose to follow the Software Compilation's release schedule. After that, the KDE SC was split into three separate product entities:
KDE Plasma Plasma is a desktop environment by KDE, and can refer to:
* KDE Plasma 5 (2014–today)
* KDE Plasma 4 (2008–2015)
* Plasma Mobile for smartphones
* Plasma Bigscreen
Plasma Bigscreen is a software project from KDE which contains an interface op ...
,
KDE Frameworks and
KDE Applications, each with their own independent release schedules.
History
Origins
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 was 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 computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a grap ...
, 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. His initial
Usenet post spurred a lot of interest, and the KDE project was born.
Ettrich chose to use Trolltech's
Qt framework
Qt (pronounced "cute") is cross-platform software for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems wi ...
for the KDE project. Other programmers quickly started developing KDE/Qt applications, and by early 1997, a few applications were being released.
First series
On 12 July 1998, ''
K Desktop Environment 1.0'' was released. In November 1998, the Qt toolkit was dual-licensed under the free/
open source Q Public License (QPL) and a proprietary license for proprietary software developers. Debate continued about compatibility with the
GNU General Public License (GPL), so in September 2000, Trolltech made the Unix version of the Qt libraries available under the GPL, in addition to the QPL. Trolltech continued to require licenses for developing
proprietary software with Qt. The core libraries of KDE are collectively licensed under the
GNU LGPL
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
, but the only way for proprietary software to make use of them was to be developed under the terms of the Qt proprietary license.
Second series
Beginning 23 October 2000, the second series of releases, ''
K Desktop Environment 2
K Desktop Environment 2 was the second series of releases of the K Desktop Environment. There were three major releases in this series.
Major updates
K Desktop Environment 2 introduced significant technological improvements compared to its pr ...
'', introduced significant technological improvements.
[KDE 2.0 Release Announcement](_blank)
/ref> These included DCOP (Desktop COmmunication Protocol), KIO
KIO (KDE Input/Output) is a system library incorporated into KDE Frameworks 5 and KDE Software Compilation 4. It provides access to files, web sites and other resources through a single consistent API. Applications, such as Konqueror and Do ...
(an application I/O library), KParts (a component object model, which allows an application to embed another within itself), and KHTML (an HTML rendering and drawing engine).
Third series
The third series was much larger than previous series, consisting of six major releases starting on 3 April 2002. The API changes between ''K Desktop Environment 2'' and ''K Desktop Environment 3'' were comparatively minor, meaning that the KDE 3 can be seen as largely a continuation of the ''K Desktop Environment 2'' series. All releases of ''K Desktop Environment 3'' were built upon Qt 3, which was only released under the GPL for Linux and Unix-like operating systems, including Mac OS X. It is marked stable running on Mac OS X since 2008. Unlike KDE SC 4, however, it requires an X11 server to operate. In 2002, members of the KDE on Cygwin project began porting the GPL licensed Qt/X11 code base to Windows.
Fourth series
KDE Software Compilation 4
KDE Software Compilation 4 (KDE SC 4) was the only series of the so-called KDE Software Compilation (short: KDE SC), first released in January 2008 and the last release being 4.14.3 released in November 2014. It was the follow-up to K Desktop En ...
, first released on 11 January 2008, is based on Qt 4, which is also released under the GPL for Windows and Mac OS X. Therefore, KDE SC 4 applications can be compiled and run natively on these operating systems as well. KDE Software Compilation 4 on Mac OS X is currently considered beta, while on Windows it is not in the final state, so applications can be unsuitable for day to day use.
KDE SC 4 includes many new technologies and technical changes. The centerpiece is a redesigned desktop and panels collectively called Plasma, which replaces Kicker, KDesktop, and SuperKaramba by integrating their functionality into one piece of technology; Plasma is intended to be more configurable for those wanting to update the decades-old desktop metaphor. There are a number of new frameworks, including Phonon (a new multimedia interface making KDE independent of any one specific media backend) Solid (an API for network and portable devices), and Decibel (a new communication framework to integrate all communication protocols into the desktop). Also featured is a metadata and search framework, incorporating Strigi
Strigi was a file indexing and file search framework (see desktop search) adopted by KDE SC. Strigi was initiated by Jos van den Oever. Strigi's goals are to be fast, use a small amount of RAM, and use flexible backends and plug-ins. A benc ...
as a full-text file indexing service, and NEPOMUK with KDE integration.
Starting with Qt 4.5, Qt was also made available under the LGPL version 2.1, a major step for KDE adoption in corporate and proprietary environments, as the LGPL permits proprietary applications to link to libraries licensed under the LGPL.
Post-fourth series
As of August 2014, KDE no longer provides synchronized releases of the entire software compilation; instead the software is split into three parts:
* KDE Frameworks 5, a collection of libraries and software frameworks (5.0 released on July 7, 2014, and new major releases are made monthly)
* KDE Plasma 5
KDE Plasma 5 is the fifth and current generation of the graphical workspaces environment created by KDE primarily for Linux systems. KDE Plasma 5 is the successor of KDE Plasma 4 and was first released on 15 July 2014.
It includes a new default ...
, a desktop environment (5.0 released on July 15, 2014, and new major releases are made every three months)
* KDE Applications, a bundle of applications and supporting libraries (14.12 was the first version incorporating Frameworks 5 based applications, and introduced date-based version numbers).[
]
Major changes include a move from Qt 4 to Qt 5, support for the next-generation display server protocol Wayland, support for the next-generation rendering API Vulkan and modularization of the KDE core libraries.[
] Initial releases of Frameworks 5 and Plasma 5 were made available in July 2014.
Development
Source code
KDE SC releases are made to the KDE FTP server in the form of source code with configure scripts, which are compiled by operating system vendors and integrated with the rest of their systems before distribution. Most vendors use only stable and tested versions of KDE SC, providing it in the form of easily installable, pre-compiled packages. The source code of every stable and development version of KDE SC is stored in the KDE source code repository, using Git. KDE Platform is licensed under the LGPL, BSD license, MIT license, or X11 license. Applications also allow GPL. Documentation also allow FDL. CMake
In software development, CMake is cross-platform free and open-source software for build automation, testing, packaging and installation of software by using a compiler-independent method. CMake is not a build system itself; it generates a ...
modules must be licensed under the BSD licence.
Major releases
Major releases are releases that begin a series (version number X.0). These releases are allowed to break binary compatibility
Binary-code compatibility (binary compatible or object-code-compatible) is a property of a computer system, meaning that it can run the same executable code, typically machine code for a general-purpose computer CPU, that another computer system ...
with the predecessor, or to put it differently, all following releases (X.1, X.2, ...) will guarantee binary portability ( API & ABI). This means, for instance, that software that was developed for KDE 3.0 will work on all (future) KDE 3 releases; however, an application developed for KDE 2 is not guaranteed to be able to make use of the KDE 3 libraries. KDE major version numbers follow the Qt release cycle, meaning that KDE SC 4 is based on Qt 4, while KDE 3 was based on Qt 3.
Qt 5.0 was released 19 December 2012, Qt 5.2 12 December 2013. And for example KDE Frameworks 5.21.0 requires Qt >= 5.4, and no longer supports Qt 5.3 (cf. Qt version history
The latest version of Qt is 6.5 released on 3 April 2023.
Also still supported, for commercial users, are 5.15 LTS, released on 26 May 2020, and 6.2 LTS, released on 30 September 2021 – long-term support (LTS) versions are generally supported f ...
).
Standard releases
There are two main types of standard releases: Feature releases and bugfix releases.
Feature releases have two version numbers, for example 3.5 and contain new features. As soon as a feature release is ready and announced, work on the next feature release starts. A feature 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 by bugfix releases. During the KDE SC 4 series, KDE SC had a feature release roughly every six months. Since the split, KDE Plasma releases a new feature version roughly every 3–4 months.
Bugfix releases have three version numbers, e.g. KDE 1.1.1, and focus on fixing bugs, minor glitches, and making small usability improvements. Bugfix releases in general do not allow new features, although some releases include small enhancements. A shortened release schedule is used. Starting with the KDE SC 4 series, KDE SC has a maintenance release roughly every month, except during the month of a feature release, while with Plasma 5, bugfix releases tend to happen even shorter like 2–3 weeks.
Release cycle
The KDE team releases new versions on a regular basis.
Lines of Code
* KDE 1.0 had LoC.
* KDE 4.3 had LoC.
Implementation
Most KDE software uses Qt which runs on most Unix and Unix-like systems (including Mac OS X), Android and Microsoft Windows.
CMake
In software development, CMake is cross-platform free and open-source software for build automation, testing, packaging and installation of software by using a compiler-independent method. CMake is not a build system itself; it generates a ...
serves as the build tool. This allows KDE to support a wider range of platforms, including Windows.
GNU gettext is used for translation. Doxygen is used to generate api documentation.
Overview
* KDE Software Compilation: KDE Software Compilation (KDE SC) is the coordinated releases of new software versions, gathering elements from the previous components to build an integrated core of software. The KDE SC is not a product as a single entity.
* Calligra Suite: Integrated office suite.
* KDEWebdev: Web development tools.
* KDE-Extragear: Extragear is a collection of applications associated with KDE. Those applications are not part the official software compilation, but they are still part of the project.
* KDE-Playground: This package contains pre-release and unstable software. It is a place for applications to mature.
Packages
The Software Compilation consists of the following packages:
* KDE-Libs: A collection of libraries that provides frameworks
A framework is a generic term commonly referring to an essential supporting structure which other things are built on top of.
Framework may refer to:
Computing
* Application framework, used to implement the structure of an application for an op ...
and functionality for developers.
* KDE-Base: The base set of files, libraries and programs needed by the Software Compilation. KDE-Base is divided into three parts:
** Applications: Containing the applications that form the KDE desktop, like Konqueror, Dolphin, KWrite, and Konsole.
** Runtime: Applications required by KDE apps to function properly at runtime.
** Workspace: Provides the graphical environments.
* KDE-Plasma-Addons: Additional Plasma widgets.
* KDE-Network
* KDE-Pim
* KDE-Graphics
* KDE-Multimedia
* Phonon
* KDE-Accessibility: Accessibility applications.
* KDE-Utilities
* KDE-Edu
* KDE-Games
* KDE-Toys
KDE-Artwork
Additional icons, styles, etc.
* KDE-Admin
* KDE-SDK
* KDE-Bindings
Base technologies
* KHTML – HTML rendering engine, forked into WebKit
WebKit is a browser engine developed by Apple and primarily used in its Safari web browser, as well as on the iOS and iPadOS version of any web browser. WebKit is also used by the BlackBerry Browser, PlayStation consoles beginning from the ...
in 2004
* KJS - JavaScript engine
A JavaScript engine is a software component that executes JavaScript code. The first JavaScript engines were mere interpreters, but all relevant modern engines use just-in-time compilation for improved performance.
JavaScript engines are typical ...
* KIO
KIO (KDE Input/Output) is a system library incorporated into KDE Frameworks 5 and KDE Software Compilation 4. It provides access to files, web sites and other resources through a single consistent API. Applications, such as Konqueror and Do ...
– Extensible network-transparent file access
* Kiosk – Allows disabling features within KDE to create a more controlled environment
* KParts – Lightweight in-process graphical component framework
* KWin – Window manager
* XMLGUI – Allows defining UI elements, such as menus and toolbars via XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
files
* Phonon – Multimedia framework
* Plasma – Desktop and panel widget engine
* Solid – Device integration framework
* Sonnet – Spell checker
* ThreadWeaver – Library to use multiprocessor systems more effectively
Applications
Major applications by KDE Software Compilation include:
* Ark
Ark or ARK may refer to:
Biblical narratives and religion Hebrew word ''teva''
* Noah's Ark, a massive vessel said to have been built to save the world's animals from a flood
* Ark of bulrushes, the boat of the infant Moses
Hebrew ''aron''
* ...
– Archiving tool
* Dragon Player – Media player.
* Dolphin – File manager
* Falkon
Falkon (formerly QupZilla) is a free and open-source web browser developed by KDE. It is built on the QtWebEngine, which is a wrapper for the Chromium browser core.
Both KaOS and openMandriva Lx use Falkon as their default browser.
Featur ...
- Web browser
* Gwenview – Image viewer
An image viewer or image browser is a computer program that can display stored graphical images; it can often handle various graphics file formats. Such software usually renders the image according to properties of the display such as color depth ...
* Kate / KWrite – Text editor
* Konsole
Konsole is a free and open-source terminal emulator graphical application which is part of KDE Applications and ships with the KDE desktop environment. Konsole was originally written by Lars Doelle. It ls licensed under the GPL-2.0-or-later and ...
– Terminal emulator
* Kontact – Personal information manager featuring an e-mail client, a news client, a feed aggregator, to-do lists, etc.
* Konqueror – Web browser and file manager
* Kopete – Instant messaging client
Instant messaging (IM) technology is a type of online chat allowing real-time text transmission over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and tri ...
* KRDC – a remote desktop client. Both the Virtual Network Computing (VNC) and Remote Desktop Protocol (RDP) protocols are supported, so Unix-like and Windows PC can be accessed using this software. As part of the GSoC, project developers helped make Libvncserver compile on Windows platforms, allowing for a port to Windows.
Licensing
In November 1998, the Qt framework was dual-licensed under the free and open-source Q Public License (QPL) and a commercial license for proprietary software developers. The 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 free version of Qt be released during 12 months.
Debate continued about compatibility with the GNU General Public License (GPL), hence in September 2000 Trolltech made the Unix version of the Qt libraries available under the GPL in addition to the QPL which eliminated the concerns of the Free Software Foundation. Trolltech continued to require licenses for developing proprietary software with Qt. The core libraries of KDE are collectively licensed under the GNU LGPL but the only way for proprietary software to make use of them was to be developed under the terms of the Qt proprietary license.
Starting with Qt 4.5, Qt was also made available under the LGPL version 2.1, now allowing proprietary applications to legally use the open source Qt version.
See also
* KDE Platform
* Comparison of X Window System desktop environments
A desktop environment is a collection of software designed to give functionality and a certain look and feel to an operating system.
This article applies to operating systems which are capable of running the X Window System, mostly Unix and Unix ...
References
External links
The KDE website
KDE.News
news announcements
KDE community forums
the official forum board
Planet KDE
blog aggregate
KDE wikis
KDE Localization
KDE-Apps
KDE and Qt software repository
KDE-Look
KDE-Files
{{FLOSS
1998 software
Free desktop environments
KDE software
Unix windowing system-related software
Utilities for Linux
Utilities for macOS
Utilities for Windows