The KDE Software Compilation (KDE SC) was an umbrella term for the desktop environment 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, 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 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 for the KDE project. Other programmers quickly started developing KDE/Qt applications, and by early 1997, a few applications were being released.

First series

K Desktop Environment 1.0

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, 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

K Desktop Environment 2.0

Beginning 23 October 2000, the second series of releases, K Desktop Environment 2, introduced significant technological improvements. These included DCOP (Desktop COmmunication Protocol), KIO (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

KDE 3.2 with Konqueror and the About screen

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

Latest Plasma Desktop in KDE Software Compilation 4.10

KDE Software Compilation 4, 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 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

KDE Plasma 5.26 with Breeze Twilight theme, mix of dark and light color scheme.

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

The releases KDE Frameworks 5, KDE Plasma 5 and KDE Applications 5 are not one singular entity. These parts have been only released together, and cobbling them up under one name really has not been helpful. 3rd party developers thought they would only target Plasma Workspaces, Plasma users have thought you’ll only be able to run “KDE apps”, potential users of applications will assume that you can only use them inside Plasma workspaces — all of them untrue, all of them taken right out of my daily experience.

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

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

Timeline of major releases
DateRelease
14 October 1996Project announced by Matthias Ettrich
KDE 1
12 July 1998KDE 1.0
6 February 1999KDE 1.1
KDE 2
23 October 2000KDE 2.0
26 February 2001KDE 2.1
15 August 2001KDE 2.2
KDE 3
3 April 2002KDE 3.0
28 January 2003KDE 3.1
3 February 2004KDE 3.2
19 August 2004KDE 3.3
16 March 2005KDE 3.4
29 November 2005KDE 3.5
KDE SC 4
11 January 2008KDE 4.0
29 July 2008KDE 4.1
27 January 2009KDE 4.2
4 August 2009KDE 4.3
9 February 2010KDE SC 4.4
10 August 2010KDE SC 4.5
26 January 2011KDE SC 4.6
27 July 2011KDE SC 4.7
25 January 2012KDE SC 4.8
1 August 2012KDE SC 4.9
5 February 2013KDE SC 4.10
14 August 2013KDE SC 4.11 KDE Plasma 4 feature freeze + LTS until August 2015
18 December 2013KDE SC 4.12
16 April 2014KDE SC 4.13
31 July 2014KDE SC 4.14 released; Some Applications are based on KDE Platform 4, some on KDE Frameworks 5
KDE Qt5-based software
DateReleaseDateReleaseDateRelease
KDE Frameworks 5KDE Plasma 5KDE Applications / KDE Gear
7 July 2014KDE Frameworks 5.015 July 2014KDE Plasma 5.0
7 August 2014KDE Frameworks 5.1
12 September 2014KDE Frameworks 5.2
7 October 2014KDE Frameworks 5.315 October 2014KDE Plasma 5.1
6 November 2014KDE Frameworks 5.4
11 December 2014KDE Frameworks 5.517 December 2014KDE Applications 14.12
8 January 2015KDE Frameworks 5.627 January 2015KDE Plasma 5.2
14 February 2015KDE Frameworks 5.7
13 March 2015KDE Frameworks 5.8
10 April 2015KDE Frameworks 5.928 April 2015KDE Plasma 5.315 April 2015KDE Applications 15.04
8 May 2015KDE Frameworks 5.10
12 June 2015KDE Frameworks 5.11
10 July 2015KDE Frameworks 5.12
12 August 2015KDE Frameworks 5.1325 August 2015KDE Plasma 5.419 August 2015KDE Applications 15.08
12 September 2015KDE Frameworks 5.14
10 October 2015KDE Frameworks 5.15
13 November 2015KDE Frameworks 5.16
12 December 2015KDE Frameworks 5.178 December 2015KDE Plasma 5.516 December 2015KDE Applications 15.12
9 January 2016KDE Frameworks 5.18
13 February 2016KDE Frameworks 5.19
13 March 2016KDE Frameworks 5.2022 March 2016KDE Plasma 5.6
9 April 2016KDE Frameworks 5.2120 April 2016KDE Applications 16.04 LTS
15 May 2016KDE Frameworks 5.22
13 June 2016KDE Frameworks 5.23
9 July 2016KDE Frameworks 5.245 July 2016KDE Plasma 5.7
13 August 2016KDE Frameworks 5.2518 August 2016KDE Applications 16.08
10 September 2016KDE Frameworks 5.26
8 October 2016KDE Frameworks 5.274 October 2016KDE Plasma 5.8 LTS
15 November 2016KDE Frameworks 5.28
12 December 2016KDE Frameworks 5.2915 December 2016KDE Applications 16.12
14 January 2017KDE Frameworks 5.3031 January 2017KDE Plasma 5.9
11 February 2017KDE Frameworks 5.31
11 March 2017KDE Frameworks 5.32
8 April 2017KDE Frameworks 5.3320 April 2017KDE Applications 17.04
13 May 2017KDE Frameworks 5.3430 May 2017KDE Plasma 5.10
10 Jun 2017KDE Frameworks 5.35
8 July 2017KDE Frameworks 5.36
13 August 2017KDE Frameworks 5.3717 August 2017KDE Applications 17.08
9 September 2017KDE Frameworks 5.38
14 October 2017KDE Frameworks 5.3910 October 2017KDE Plasma 5.11
11 November 2017KDE Frameworks 5.40
10 December 2017KDE Frameworks 5.4114 December 2017KDE Applications 17.12
13 January 2018KDE Frameworks 5.42
12 February 2018KDE Frameworks 5.436 February 2018KDE Plasma 5.12 LTS
10 March 2018KDE Frameworks 5.44
14 April 2018KDE Frameworks 5.4519 April 2018KDE Applications 18.04 LTS
12 May 2018KDE Frameworks 5.46
9 June 2018KDE Frameworks 5.4712 June 2018KDE Plasma 5.13
14 July 2018KDE Frameworks 5.48
11 August 2018KDE Frameworks 5.4916 August 2018KDE Applications 18.08
8 September 2018KDE Frameworks 5.50
15 October 2018KDE Frameworks 5.519 October 2018KDE Plasma 5.14
10 November 2018KDE Frameworks 5.52
8 December 2018KDE Frameworks 5.5313 December 2018KDE Applications 18.12
12 January 2019KDE Frameworks 5.54
9 February 2019KDE Frameworks 5.5512 February 2019KDE Plasma 5.15
9 March 2019KDE Frameworks 5.56
13 April 2019KDE Frameworks 5.5718 April 2019KDE Applications 19.04
13 May 2019KDE Frameworks 5.58
8 June 2019KDE Frameworks 5.5911 June 2019KDE Plasma 5.16
13 July 2019KDE Frameworks 5.60
10 August 2019KDE Frameworks 5.6115 August 2019KDE Applications 19.08
14 September 2019KDE Frameworks 5.62
12 October 2019KDE Frameworks 5.6315 October 2019KDE Plasma 5.17
10 November 2019KDE Frameworks 5.64
14 December 2019KDE Frameworks 5.6512 December 2019KDE Applications 19.12
11 January 2020KDE Frameworks 5.66
2 February 2020KDE Frameworks 5.6711 February 2020KDE Plasma 5.18 LTS
7 March 2020KDE Frameworks 5.68
5 April 2020KDE Frameworks 5.6923 April 2020KDE Applications 20.04 LTS
2 May 2020KDE Frameworks 5.70
6 June 2020KDE Frameworks 5.719 June 2020KDE Plasma 5.19
4 July 2020KDE Frameworks 5.72
1 August 2020KDE Frameworks 5.7313 August 2020KDE Applications 20.08
6 September 2020KDE Frameworks 5.74
10 October 2020KDE Frameworks 5.7513 October 2020KDE Plasma 5.20
7 November 2020KDE Frameworks 5.76
12 December 2020KDE Frameworks 5.7710 December 2020KDE Applications 20.12
9 January 2021KDE Frameworks 5.78
13 February 2021KDE Frameworks 5.7916 February 2021KDE Plasma 5.21
13 March 2021KDE Frameworks 5.80
10 April 2021KDE Frameworks 5.8122 April 2021KDE Gear 21.04
8 May 2021KDE Frameworks 5.82
12 June 2021KDE Frameworks 5.838 June 2021KDE Plasma 5.22
10 July 2021KDE Frameworks 5.84
13 August 2021KDE Frameworks 5.8512 August 2021KDE Gear 21.08
11 September 2021KDE Frameworks 5.86
9 October 2021KDE Frameworks 5.8714 October 2021KDE Plasma 5.23
13 November 2021KDE Frameworks 5.88
11 December 2021KDE Frameworks 5.899 December 2021KDE Gear 21.12
8 January 2022KDE Frameworks 5.90
13 February 2022KDE Frameworks 5.918 February 2022KDE Plasma 5.24 LTS
12 March 2022KDE Frameworks 5.92
9 April 2022KDE Frameworks 5.9321 April 2022KDE Gear 22.04 LTS
14 May 2022KDE Frameworks 5.94
12 June 2022KDE Frameworks 5.9514 June 2022KDE Plasma 5.25
9 July 2022KDE Frameworks 5.96
14 August 2022KDE Frameworks 5.9718 August 2022KDE Gear 22.08
12 September 2022KDE Frameworks 5.98
9 October 2022KDE Frameworks 5.9911 October 2022KDE Plasma 5.26
14 November 2022KDE Frameworks 5.100
10 December 2022KDE Frameworks 5.1018 December 2022KDE Gear 22.12
14 January 2023KDE Frameworks 5.102
11 February 2023KDE Frameworks 5.10314 February 2023KDE Plasma 5.27 LTS
12 March 2023KDE Frameworks 5.104
8 April 2023KDE Frameworks 5.10520 April 2023KDE Gear 23.04
13 May 2023KDE Frameworks 5.106
10 June 2023KDE Frameworks 5.107
8 July 2023KDE Frameworks 5.108
17 August 2023KDE Frameworks 5.10924 August 2023KDE Gear 23.08
10 September 2023KDE Frameworks 5.110
18 October 2023KDE Frameworks 5.111
12 November 2023KDE Frameworks 5.112
14 December 2023KDE Frameworks 5.113
13 January 2024KDE Frameworks 5.114
10 February 2024KDE Frameworks 5.115
19 May 2024KDE Frameworks 5.116
KDE Qt6-based software
DateReleaseDateReleaseDateRelease
KDE Frameworks 6KDE Plasma 6KDE Gear
28 February 2024KDE Frameworks 6.028 February 2024KDE Plasma 6.028 February 2024KDE Gear 24.02
12 April 2024KDE Frameworks 6.1
10 May 2024KDE Frameworks 6.223 May 2024KDE Gear 24.05
7 June 2024KDE Frameworks 6.318 June 2024KDE Plasma 6.1
12 July 2024KDE Frameworks 6.4
9 August 2024KDE Frameworks 6.522 August 2024KDE Gear 24.08
13 September 2024KDE Frameworks 6.6
11 October 2024KDE Frameworks 6.78 October 2024KDE Plasma 6.2
8 November 2024KDE Frameworks 6.8
13 December 2024KDE Frameworks 6.912 December 2024KDE Gear 24.12
9 January 2025KDE Frameworks 6.10
14 February 2025KDE Frameworks 6.1111 February 2025KDE Plasma 6.3
14 March 2025KDE Frameworks 6.12
11 April 2025KDE Frameworks 6.1317 April 2025KDE Gear 25.04
9 May 2025KDE Frameworks 6.14
13 June 2025KDE Frameworks 6.1517 June 2025KDE Plasma 6.4
11 July 2025KDE Frameworks 6.16
8 August 2025KDE Frameworks 6.1714 August 2025KDE Gear 25.08
12 September 2025KDE Frameworks 6.18
10 October 2025KDE Frameworks 6.1921 October 2025KDE Plasma 6.5
14 November 2025KDE Frameworks 6.20
12 December 2025KDE Frameworks 6.2111 December 2025KDE Gear 25.12
9 January 2026KDE Frameworks 6.22
13 February 2026KDE Frameworks 6.2317 February 2026KDE Plasma 6.6
16 April 2026KDE Gear 26.04

The KDE team releases new versions on a regular basis.

Lines of Code

  • KDE 1.0 had 800,000 LoC.
  • KDE 4.3 had 4,200,000 LoC.

Implementation

Most KDE software uses Qt which runs on most Unix and Unix-like systems (including Mac OS X), Android and Microsoft Windows. As of 2011[update] CMake 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:

Base technologies

Applications

The Kontact personal information manager and Konqueror file manager/web browser running on KDE Plasma 5.2

Major applications by KDE Software Compilation include:

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

External links

  • KDE project news
  • KDE project news (now archived)
  • , the official forum board
  • , blog aggregate