KDE Software Compilation

KDE Software Compilation

Developer(s) KDE
Initial release 1.0 / 12 July 1998 (1998-07-12)
Stable release 4.14.3 (November 11, 2014 (2014-11-11)) [±][1]
Development status Discontinued
Written in Mainly C++ (Qt), some C
Operating system Entire DE: Unix-like with X11 or Wayland and also Windows XP7.[2]
Applications only: Mac OS X 10.410.6
Available in 86 languages[3]
Type Desktop environment
License GNU GPL, GNU LGPL, BSD License, MIT License[4]
Website www.kde.org

The KDE Software Compilation (KDE SC) was formerly used as an umbrella term consisting of a desktop environment and an associated range of KDE Applications produced by KDE. Prior to version 4.4, released in February 2010, the Software Compilation was known as KDE, which stood for K Desktop Environment until November 2009.[5] The KDE SC included only applications whose development teams chose to follow the Software Compilation's release schedule; as a result, many popular KDE applications, such as Amarok and Digikam, were not part of the Software Compilation. To date there have been four series of releases. 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 Eberhard Karls 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.[6]

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

Third series

KDE 3.2 with Konqueror and the About screen[8]

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.[9] In 2002, members of the KDE on Cygwin project began porting the GPL licensed Qt/X11 code base to Windows.[10]

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,[11] while on Windows it is not in the final state, so applications can be unsuitable for day to day use.[12][13]

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.[14]

Starting with Qt 4.5, Qt was also made available under the LGPL version 2.1,[15] 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.4 showing light and dark themes.

As of August 2014, KDE no longer provides synchronized releases of the entire software compilation; instead the software is split into three parts:

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.[19] Initial releases of Frameworks 5 and Plasma 5 were made available in July 2014.[16][17]

Development

Source code

KDE SC releases are made to the KDE FTP server[21] 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.[22] 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.[23]

Release cycle

Timeline of major releases
Date Release
14 October 1996 Project announced by Matthias Ettrich[24]
KDE 1
12 July 1998 KDE 1.0[25]
6 February 1999 KDE 1.1[26]
KDE 2
23 October 2000 KDE 2.0[27]
26 February 2001 KDE 2.1[28]
15 August 2001 KDE 2.2[29]
KDE 3
3 April 2002 KDE 3.0[30]
28 January 2003 KDE 3.1[31]
3 February 2004 KDE 3.2[32]
19 August 2004 KDE 3.3[33]
16 March 2005 KDE 3.4[34]
29 November 2005 KDE 3.5[35]
KDE SC 4 (Qt4-based software)
11 January 2008 KDE 4.0[36]
29 July 2008 KDE 4.1[37]
27 January 2009 KDE 4.2[38]
4 August 2009 KDE 4.3[39]
9 February 2010 KDE SC 4.4[40]
10 August 2010 KDE SC 4.5[41]
26 January 2011 KDE SC 4.6[42]
27 July 2011 KDE SC 4.7[43]
25 January 2012 KDE SC 4.8[44]
1 August 2012 KDE SC 4.9[45]
5 February 2013 KDE SC 4.10[46]
14 August 2013 KDE SC 4.11[47] KDE Plasma 4 feature freeze + LTS until August 2015
18 December 2013 KDE SC 4.12[48]
16 April 2014 KDE SC 4.13[49]
31 July 2014 KDE SC 4.14 released; Some Applications are based on KDE Platform 4, some on KDE Frameworks 5[50]
Post-fourth series (Qt5-based software)
Date Release Date Release Date Release
KDE Frameworks 5 KDE Plasma 5 KDE Applications
7 July 2014 KDE Frameworks 5.0[16] 15 July 2014 KDE Plasma 5.0[17]
7 August 2014 KDE Frameworks 5.1[51]
12 September 2014 KDE Frameworks 5.2[52]
7 October 2014 KDE Frameworks 5.3[53] 15 October 2014 KDE Plasma 5.1[54]
6 November 2014 KDE Frameworks 5.4[55]
11 December 2014 KDE Frameworks 5.5[56] 17 December 2014 KDE Applications 14.12[57]
8 January 2015 KDE Frameworks 5.6[58] 27 January 2015 KDE Plasma 5.2[59]
14 February 2015 KDE Frameworks 5.7[60]
13 March 2015 KDE Frameworks 5.8[61]
10 April 2015 KDE Frameworks 5.9[62] 28 April 2015 KDE Plasma 5.3[63] 15 April 2015 KDE Applications 15.04[64]
8 May 2015 KDE Frameworks 5.10[65]
12 June 2015 KDE Frameworks 5.11[66]
10 July 2015 KDE Frameworks 5.12[67]
12 August 2015 KDE Frameworks 5.13[68] 25 August 2015 KDE Plasma 5.4[69] 19 August 2015 KDE Applications 15.08[70]
12 September 2015 KDE Frameworks 5.14[71]
10 October 2015 KDE Frameworks 5.15[72]
13 November 2015 KDE Frameworks 5.16[73]
12 December 2015 KDE Frameworks 5.17[74] 8 December 2015 KDE Plasma 5.5[75] 16 December 2015 KDE Applications 15.12[76]
9 January 2016 KDE Frameworks 5.18[77]
13 February 2016 KDE Frameworks 5.19[78]
13 March 2016 KDE Frameworks 5.20[79] 22 March 2016 KDE Plasma 5.6[80]
9 April 2016 KDE Frameworks 5.21[81] 20 April 2016 KDE Applications 16.04[82]
15 May 2016 KDE Frameworks 5.22[83]
13 June 2016 KDE Frameworks 5.23[84]
9 July 2016 KDE Frameworks 5.24[85] 5 July 2016 KDE Plasma 5.7[86]
13 August 2016 KDE Frameworks 5.25[87] 18 August 2016 KDE Applications 16.08[88]
10 September 2016 KDE Frameworks 5.26[89]
8 October 2016 KDE Frameworks 5.27[90] 4 October 2016 KDE Plasma 5.8 LTS[91]
15 November 2016 KDE Frameworks 5.28[92]
12 December 2016 KDE Frameworks 5.29[93] 15 December 2016 KDE Applications 16.12[94]
14 January 2017 KDE Frameworks 5.30[95] 31 January 2017 KDE Plasma 5.9[96]
11 February 2017 KDE Frameworks 5.31[97]
11 March 2017 KDE Frameworks 5.32[98]
8 April 2017 KDE Frameworks 5.33[99] 20 April 2017 KDE Applications 17.04[100]
13 May 2017 KDE Frameworks 5.34[101]
10 Jun 2017 KDE Frameworks 5.35[102]
8 July 2017 KDE Frameworks 5.36[103]

The KDE team releases new versions on a regular basis.

Major Platform releases

Major releases are releases that begin a series (version number X.0). These releases are allowed to break both binary and source code compatibility with the predecessor, or to put it differently, all following releases (X.1, X.2, ...) will guarantee source & 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.

Lines of Code

Packages

The Software Compilation consists of the following packages:

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:

For more applications, see list of KDE applications.

Base technologies

Implementation

Most KDE software uses the Qt framework which runs on most Unix and Unix-like systems (including Mac OS X), and Microsoft Windows. As of 2011 CMake serves as the build tool. This allows KDE to support a wider range of platforms, including Windows.[107] GNU gettext is used for translation. Doxygen is used to generate api documentation.[108]

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.[110]

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.[111] 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,[112] now allowing proprietary applications to legally use the open source Qt version.

See also

References

  1. "KDE Ships KDE Applications and Platform 4.14.3". KDE. 11 November 2014. Retrieved 13 November 2015.
  2. "Replace Windows Shell with KDE Plasma Desktop".
  3. "KDE Localization statistics".
  4. "KDE Licensing Policy". Retrieved 2010-11-06.
  5. Repositioning the KDE Brand
  6. Ettrich, Matthias (14 October 1996). "New Project: Kool Desktop Environment (KDE)". Newsgroup: de.comp.os.linux.misc. Usenet: 53tkvv$b4j@newsserv.zdv.uni-tuebingen.de. Retrieved 2006-12-29.
  7. 1 2 KDE 2.0 Release Announcement
  8. Seigo, Aaron. "milestones". Retrieved 2008-11-10.
  9. http://techbase.kde.org/index.php?title=Projects/KDE_on_Mac_OS_X/KDE_3
  10. Q../Windows Edition history, 5 June 2006
  11. "KDE 4 Mac". KDE. 7 July 2007. Retrieved 2010-11-06.
  12. "The KDE on Windows Project". KDE. 7 July 2007. Retrieved 2010-11-06.
  13. "KDE on Windows at TechBase". KDE. 5 November 2009. Retrieved 2010-11-06.
  14. NEPOMUK-KDE
  15. Paul, Ryan. "LGPL License Option Added to Qt". Nokia.
  16. 1 2 3 "KDE Frameworks 5.0 Release Announcement". Retrieved 2014-07-07.
  17. 1 2 3 "KDE Plasma 5.0 Release Announcement". Retrieved 2014-07-15.
  18. Albert Astals Cid (2014-08-23). "KDE Community plans for Releases in the Future".
  19. Kügler, Sebastian (2013-04-24). "Plasma Pow-wow Produces Detailed Plans for Workspace Convergence". Dot.kde.org.
  20. http://vizzzion.org/blog/2013/01/the-road-to-kde-frameworks-5-and-plasma-2/
  21. "KDE stable release ftp server".
  22. "KDE Projects". Retrieved 2010-12-31.
  23. "KDE Licensing Policy". Retrieved 2010-11-06.
  24. Matthias Ettrich original posting
  25. "KDE 1.0 Release Announcement". Retrieved 2008-03-27.
  26. KDE News Archive for February 1999 referring to the release of version 1.1
  27. KDE press release for version 2.0
  28. KDE press release for version 2.1
  29. KDE press release for version 2.2
  30. KDE press release for version 3.0
  31. KDE press release for version 3.1
  32. KDE press release for version 3.2
  33. KDE press release for version 3.3
  34. KDE press release for version 3.4
  35. KDE press release for version 3.5
  36. "KDE 4.0 Release Schedule". Retrieved 2007-12-01.
  37. "KDE 4.1 Release Schedule". Retrieved 2008-08-29.
  38. "KDE 4.2 Release Schedule". Retrieved 2009-01-27.
  39. "KDE 4.3 Release Schedule". Retrieved 2009-08-04.
  40. "KDE 4.4 README". Retrieved 2009-08-04.
  41. "KDE SC 4.5 Release Announcement". Retrieved 2010-08-10.
  42. "KDE SC 4.6 Release Announcement". Retrieved 2011-01-27.
  43. "KDE SC 4.7 Release Announcement". Retrieved 2011-07-28.
  44. "KDE SC 4.8 Release Announcement". Retrieved 2012-01-25.
  45. "KDE SC 4.9 Release Announcement". Retrieved 2012-08-01.
  46. "KDE SC 4.10 Release Announcement". Retrieved 2013-02-07.
  47. "KDE SC 4.11 Release Announcement". Retrieved 2013-08-15.
  48. "KDE SC 4.12 Release Announcement". Retrieved 2013-12-18.
  49. "KDE SC 4.13 Release Announcement". Retrieved 2014-05-19.
  50. "KDE SC 4.14 Release Announcement". 2014-08-20. Retrieved 2014-08-20.
  51. "KDE Frameworks 5.1 Release Announcement". Retrieved 2014-07-08.
  52. "Release of KDE Frameworks 5.2.0". KDE. 2014-09-12. Retrieved 2014-09-15.
  53. "Release of KDE Frameworks 5.3.0". KDE. 2014-10-07. Retrieved 2014-11-16.
  54. "KDE Plasma 5.1 Release Announcement". Retrieved 2014-11-16.
  55. "Release of KDE Frameworks 5.4.0". KDE. 2014-11-06. Retrieved 2014-11-16.
  56. "Release of KDE Frameworks 5.5.0". KDE. 2014-12-11. Retrieved 2015-03-13.
  57. "KDE Ships KDE Applications 14.12.0". Retrieved 2015-04-25.
  58. "Release of KDE Frameworks 5.6.0". KDE. 2015-01-08. Retrieved 2015-03-13.
  59. "KDE Ships Plasma 5.2". Retrieved 2015-02-04.
  60. "Release of KDE Frameworks 5.7.0". KDE. 2015-02-14. Retrieved 2015-03-13.
  61. "Release of KDE Frameworks 5.8.0". KDE. 2015-03-13. Retrieved 2015-03-13.
  62. "Release of KDE Frameworks 5.9.0". KDE. 2015-04-11. Retrieved 2015-04-30.
  63. "KDE Ships Plasma 5.3". Retrieved 2015-04-29.
  64. "KDE Ships KDE Applications 15.04.0". Retrieved 2015-04-21.
  65. "Release of KDE Frameworks 5.10.0". KDE. 2015-05-08. Retrieved 2015-05-21.
  66. "Release of KDE Frameworks 5.11.0". KDE. 2015-06-12. Retrieved 2015-06-15.
  67. "Release of KDE Frameworks 5.12.0". KDE. 2015-07-10. Retrieved 2015-08-26.
  68. "Release of KDE Frameworks 5.13.0". KDE. 2015-08-12. Retrieved 2015-08-26.
  69. "KDE Ships Plasma 5.4.0". Retrieved 2015-08-26.
  70. "KDE Ships KDE Applications 15.08.0". Retrieved 2015-08-26.
  71. "Release of KDE Frameworks 5.14.0". KDE. 2015-09-12. Retrieved 2015-12-06.
  72. "Release of KDE Frameworks 5.15.0". KDE. 2015-10-10. Retrieved 2015-12-06.
  73. "Release of KDE Frameworks 5.16.0". KDE. 2015-11-13. Retrieved 2015-12-06.
  74. "Release of KDE Frameworks 5.17.0". KDE. 2015-12-12. Retrieved 2015-12-14.
  75. "KDE Ships Plasma 5.5.0". Retrieved 2015-12-08.
  76. "KDE Ships KDE Applications 15.12.0". Retrieved 2015-12-16.
  77. "Release of KDE Frameworks 5.18.0". KDE. 2016-01-09. Retrieved 2016-03-23.
  78. "Release of KDE Frameworks 5.19.0". KDE. 2016-02-13. Retrieved 2016-03-23.
  79. "Release of KDE Frameworks 5.20.0". KDE. 2016-03-13. Retrieved 2016-03-23.
  80. "KDE Ships Plasma 5.6.0". Retrieved 2016-03-23.
  81. "Release of KDE Frameworks 5.21.0". KDE. 2016-04-09. Retrieved 2016-04-09.
  82. "KDE Ships KDE Applications 16.04.0". 2016-04-20.
  83. "Release of KDE Frameworks 5.22.0". KDE. 2016-05-15. Retrieved 2016-06-03.
  84. "Release of KDE Frameworks 5.23.0". KDE. 2016-06-13. Retrieved 2016-07-10.
  85. "Release of KDE Frameworks 5.24.0". KDE. 2016-07-09. Retrieved 2016-07-10.
  86. "KDE Ships Plasma 5.7.0". 2016-07-05. Retrieved 2016-07-19.
  87. "Release of KDE Frameworks 5.25.0". KDE. 2016-08-13. Archived from the original on 2016-08-26. Retrieved 2016-07-10.
  88. "KDE Ships KDE Applications 16.08.0". 2016-08-18.
  89. "Release of KDE Frameworks 5.26.0". KDE. 2016-09-10. Retrieved 2016-10-08.
  90. "Release of KDE Frameworks 5.27.0". KDE. 2016-10-10. Retrieved 2016-10-08.
  91. "KDE Ships Plasma 5.8 LTS". 2016-10-04. Retrieved 2016-10-08.
  92. "Release of KDE Frameworks 5.28.0". KDE. 2016-11-15. Retrieved 2016-11-16.
  93. "Release of KDE Frameworks 5.29.0". KDE. 2016-12-12. Retrieved 2016-12-13.
  94. "KDE Ships KDE Applications 16.12.0". 2016-12-15.
  95. "Release of KDE Frameworks 5.30.0". KDE. 2017-01-14. Retrieved 2017-01-31.
  96. "KDE Ships Plasma 5.9". 2017-01-31. Retrieved 2017-01-31.
  97. "Release of KDE Frameworks 5.31.0". KDE. 2017-02-11. Retrieved 2017-03-05.
  98. "Release of KDE Frameworks 5.32.0". KDE. 2017-03-11. Retrieved 2017-04-17.
  99. "Release of KDE Frameworks 5.33.0". KDE. 2017-04-08. Retrieved 2017-04-17.
  100. "KDE Ships KDE Applications 17.04.0". 2017-04-20. Retrieved 2017-07-18.
  101. "Release of KDE Frameworks 5.34.0". KDE. 2017-04-13. Retrieved 2017-07-18.
  102. "Release of KDE Frameworks 5.35.0". KDE. 2017-06-10. Retrieved 2017-07-18.
  103. "Release of KDE Frameworks 5.36.0". KDE. 2017-07-08. Retrieved 2017-07-18.
  104. Update: Harmony ceased to exist as Qt is GPL now
  105. Code Statistics: KDE Costs 175 Million Dollars
  106. Dragon Player website
  107. Troy Unrau (2007-02-22). "The Road to KDE 4: CMake, a New Build System for KDE". KDE. KDE.NEWS. Retrieved 2010-11-13.
  108. "Software Engineering Framework". 29 October 2010. Retrieved 2010-11-28.
  109. "KDE Software Compilation". Retrieved 2010-11-20.
  110. "KDE Free Qt Foundation". KDE. Retrieved 2010-11-13.
  111. "Trolltech offers a choice in licensing with the addition of GPL licensing for the upcoming release of Qt". 2000-09-05. Retrieved 2010-11-28.
  112. Ryan Paul. "LGPL License Option Added to Qt". Nokia. Retrieved 2010-11-13.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.