KDE

KDE是一個國際性的自由軟體社群，開發執行在 Linux、BSD、Solaris、Microsoft Windows 與 macOS 等平臺上的一系列跨平臺應用程式。它最著名的產品是 Plasma 桌面，是許多 Linux 發行版的預設桌面環境，例如 openSUSE、Mageia、Linux Mint（19 版開始不再支援）、Kubuntu、PCLinuxOS 與 Chakra GNU/Linux。

社群的目標是開發基本的桌面功能和日常必需的應用程式，以及提供開發者編寫獨立的應用程式的工具和文件。許多獨立應用程式和規模較小的專案是基於 KDE 的技術，這些軟體包括 Calligra Suite、digiKam、Rekonq、K3b 和許多其他應用程式。KDE 軟體是基於 Qt 框架所開發。

多個國家的政府部門使用 KDE 軟體，興建於瑞士的大型強子對撞機也使用 KDE 軟體。

概況

KDE 社群的工作可以用以下特徵來衡量：

KDE 是最大的自由軟體社群之一。
超過 1800 名貢獻者參與開發 KDE 軟體。 每月大約 20 位新開發者貢獻他們的第一行程式碼。 On October 11, 2009, Cornelius Schumacher, a main developer within KDE,
KDE 軟體包含 600 多萬行程式碼（不包括 Qt）。
KDE 軟體被翻譯成超過 108 種語言。
KDE 軟體可在超過 34 個國家和地區的 114 多個官方 FTP 映象中使用。
在 Github 上可以找到所有儲存庫的唯讀映像。

歷史

2.1 起源

KDE 是由德國人 Matthias Ettrich 於 1996 年就讀於蒂賓根大學開始的一個計劃。當時，他憂心於 Unix 桌面沒有一個應用程式外觀、感受或工作方式和其他程式一樣。他建議不僅是建立一套應用程式，而是一個桌面環境，使用者可以得到統一的外觀、感受和工作方式。他還希望這個桌面易於使用及更人性化；他當時對桌面應用的抱怨之一是對終端使用者來說太複雜了。他在 Usenet 發表的文章引發了很大的迴響，意味著 KDE 專案就此誕生了。

KDE 這個名字是來自於現有的 Common Desktop Environment（CDE）的文字遊戲，其用於 Unix 系統。CDE 是一個由惠普、IBM 和 Sun 透過 X/Open 公司共同開發的基於 X11 使用者環境，介面和生產工具都基於 Motif 圖形部件工具包。它被期望是一個直觀易於使用的桌面電腦環境。K 原本代表 "Kool"，但很快就決定 K 沒有什麼特別意義 —— 因此 KDE 這個縮寫擴充套件為 “K Desktop Environment”。而這個意涵最終亦被廢止，由於重塑品牌而提出 “KDE = 社群” 的概念。

2.2 產品發布

Mathias Ettrich 選擇使用 Qt 程式庫開發 KDE 桌面系統，很快地他和其他志願開發人員於 1997 年初釋出了一些應用程式。

在 1998 年 7 月 12 日，KDE 1.0 釋出。之後 KDE 2 發布，提出了重大技術改進。KDE 3 是遠遠大於以前的系列，包括 6 個主要版本。KDE 2 和 KDE 3 之間的 API 變化則較少，即 KDE 3 可以被看作主要是延續 KDE 2。KDE 4 包含了許多新技術的變化。

2.3 品牌重新定位

2009 年 11 月 24 日，KDE 行銷團隊宣佈正式更名 KDE 專案的組成部分。其動機是認為從建構桌面環境，轉向一個｢創造軟體｣社群的完整專案。更名重點在於不再強調桌面環境而「只是一個產品」，並強調社群與其他技術一起提供 KDE 軟體。重新定位後，KDE 不再是過去的 K Desktop Environment 縮寫，現在充當不同軟體元件的品牌。

2.4 授權風波

儘管 KDE 作為自由的開放源軟體，但由於它使用了開放源始碼但當時並非自由軟體授權的 Qt 程式庫，有許多人在擔心日後可能會出現的版權問題。

很慶幸地是，1998 年 11 月之後，Qt 程式庫所屬的 Trolltech 公司釋出了第一份自由軟體許可 Q Public License（QPL）的 lang|en|Qt 程式庫授權。同年不久，KDE Free Qt 基金會保證假若 Trolltech 在任意連續 12 個月期間沒有釋出新的自由版本，那麼 Qt 程式將更改為基於 BSD 許可證授權散佈。

很多人依然爭議著認為 QPL 授權與 GPL 上的條款會不相容。Red Hat 公司因此始終無法把 KDE 作為預設桌面，而 Mandriva Linux 即趁此時機憑藉 KDE 襲捲了歐洲的市場；2000 年 9 月，一個基於 GPL 協議的 UNIX 版 Qt 程式庫成功釋出，大部份使用者方才對 KDE 生出信心。

Qt 4.5 在 2009 年 3 月 3 日發布，遵循了 LGPL 2.1 協議，放寬了 KDE 函式庫的授權，使得平臺下商業私有版權程式的開發較原來自由。

社群結構與特徵

3.1 吉祥物與標誌

KDE 社群的吉祥物是一個名為 Konqi 的小綠龍，在 KDE 軟體的版本對話方塊、各種有關印刷物、會議演示文件和眾多 KDE 的相關網站上均可見到他的身影。Konqi 有一位名為 Katie 的女朋友，代表了 KDE 女性成員。他們在 KDE 4.0 釋出活動和 KDE 2010 活動中扮演他們的角色。此外 Konqi 還有一些不同顏色，不同職業，不同隨身物品和不同形狀犄角的派生角色，各自對應在 KDE 社群不同方面活動的成員們。Kandalf 這位巫師在 1.x 和 2.x 版本中曾是 KDE 社群的前吉祥物，但由於版權問題（他與甘道夫相似）而被拋棄。現在的 Konqi 的外觀由於 Plasma 5 的推出而正式重新設計，Tyson Tan 的參賽作品（見右圖）在 KDE 論壇上贏得重新設計比賽。

KDE 有一個 community identity guidelines（CIG）來定義和建議，幫助社群建立獨特的、有特色及吸引人的設計。KDE 官方標誌是一個藍色方形中有白色的 K 與齒輪。KDE 軟體標籤是給軟體的開發者用的。證明他們是 KDE 社群的一分子，或者他們使用 KDE 平臺。有包含包含三種 KDE 軟體標籤。被標為 Powered by KDE 軟體標籤代表此軟體是 KDE 社群的主力軟體並且源自 KDE 發展平臺。使用 KDE 平臺的應用程式則被選擇標示為 Built on the KDE Platform。應用程式標為 Part of the KDE family 則代表此應用程式作者為 KDE 社群中的一份子。

3.2 應用命名

許多的 KDE 應用程式名稱中有一個 K 字，多數是在第一個字母和大寫表示。然而，有明顯的例外如 kynaptic 和 Amarok（以前稱 amaroK）。K 在許多 KDE 應用程式來自於 C 或 Q 拼寫單詞不同，例如 Konsole 和 Kuickshow。另外，一些是在一個常用詞字首上 K，例如 KOffice。但是在 KDE 4 應用程式和技術目前的趨勢是名字中不包含 K，如 Plasma、Phonon 和 Dolphin。

3.3 組織與社群

KDE 的財務和法律事宜由德國非營利組織 KDE e.V. 負責處理，該組織位於德國柏林。該組織還協助社群成員舉辦會議和會議。KDE e.V. 幫助運營 KDE 社群所需的伺服器，它擁有商標 “KDE” 和相應的徽標。它還支付會議的旅行費用和補貼活動。組建的工作組旨在將 KDE 中的某些角色形式化，並改進 KDE 內部各部分的協調與通訊工作。 KDE e.V. 不影響軟體開發。 KDE e.V. 的徽標由提供。標誌頂部的三個標誌代表 KDE e.V. 的三項主要任務：支援社群、代表社群、管理社群。

KDE 社群的開發者會議、伺服器和相關活動經常由個人、大學和企業贊助。KDE e.V. 的支援成員是透過財務或物質捐助支援 KDE 的特別成員。支援會員有權在其網站或印刷材料上展示 “KDE 會員” 徽標。 KDE 的贊助人是支援會員的最高級別，其也有權在其網站或印刷品上展示獨家的 “KDE 贊助人” 標誌。2006 年 10 月 15 日，社群宣佈馬克・沙特爾沃思成為 KDE 的第一個贊助人。 2007 年 7 月 7 日，又宣佈英特爾公司和 Novell 公司也成為 KDE 的贊助商。 2010 年 1 月，Google 成為支援會員。 2010 年 6 月 9 日，KDE e.V. 推出了 “加入遊戲” 活動。這項運動促進了成為個人支援成員的想法。它提供給那些想要支援 KDE 但沒有足夠的時間來這樣做的人。（FSFE）的創始人首先 “加入遊戲”。

在很多國家和地區，KDE 同樣擁有地方分支機構。這些組織可以是非正式組織（印度），也可以是具有像 KDE e.V. 一樣具有法定形式（法國）。當地社群常常主辦和維護區域性網站，組織當地活動，如貿易展覽、參與者會議和社群會議。

貢獻

和許多自由 / 開放原始碼軟體專案一樣，KDE 的開發主要是來自志願者的貢獻。儘管有各種公司，如 Novell、諾基亞和 Mandriva，僱用員工開發 KDE。由於大量的個人貢獻以各種方式（如程式碼、翻譯、美工）給 KDE，組織這樣一個專案是十分複雜的。

4.1 開發團隊

KDE 平臺的整體方向由 KDE 核心團隊（KDE Core Team）完成。這些開發人員在 KDE 內長時間做出重大貢獻。該團隊使用 kde-core-devel 郵件列表進行通訊，該郵件列表公開存檔且可讀，但加入需要批准。 KDE 沒有一個可以否決重要決定的中央領導人。相反，KDE 的核心團隊由幾十名參與者作出決定。這些決定不是透過正式投票，而是透過討論。開發人員還與專題團隊一起組織。例如，KDE Edu 團隊開發免費教育軟體。雖然這些團隊主要獨立工作，並不都遵循共同的釋出時間表。每個團隊都在 IRC 和郵件列表上都有自己的訊息傳遞渠道。他們有導師計劃以幫助初學者開始。KDE 社群目前使用 Git 版本控制系統。

2009 年 7 月 20 日，KDE 宣佈已經向其 Subversion 版本庫提交了第 100 萬次提交。 2009 年 10 月 11 日，KDE 的主要開發人員 Cornelius Schumacher 提及了（運用了 SLOCCount 與 COCOMO 模型）開發 KDE 軟體包的工作量：4,273,291 個 LoC（程式碼行數），約為 1,7536,4716 美元。此估算不包括 Qt、Calligra Suite、Amarok、Digikam 和其他不屬於 KDE 核心的應用程式。

軟體

}}

KDE 軟體是基於 Qt 框架開發的，具備了可於多數的 Unix 及其他類 Unix 系統下執行的能力，此外還包括有蘋果平臺上的 OS X 系統和微軟的 Windows 系統。目前使用的建構工具是 CMake，並可以用在多個平臺上。gettext 用於作翻譯。Doxygen 用來產生 API 檔案。

5.1 發行版總覽

一開始，Matthias Ettrich 就選擇為 KDE 計劃使用 Trolltech 的 Qt 框架。其他開發者迅速開始了 KDE/Qt 應用的開發。到 1997 年初，一些應用已經被髮布。1998 年 7 月 12 日，稱為 KDE 1.0 的桌面環境被髮布，它是 KDE 環境的第一個版本。

這個工具包的原始 GPL 授權版本僅適用於使用 X11 顯示伺服器的平臺，但隨著 Qt 4 的釋出，LGPL 授權的版本可用於更多的平臺。這使得基於 Qt 4 或更新版本的 KDE 軟體理論上可以被分發到微軟 Windows 和 蘋果 OS X 平臺。

切換到 Qt 5 之後，原來被稱為 KDE 或 KDE SC 的核心元件現由三部分組成：

KDE Plasma （提供不同的工作平臺）
KDE Frameworks （基於 Qt 的庫，之前被稱為 “kdelibs” 或 “KDE Platform”（KDE 平臺））
KDE Applications （建構在 KDE 平臺上的相關應用）

5.2 KDE Plasma

KDE Plasma 提供了一個統一的桌面環境，用於執行和管理普通計算機、上網本、平板電腦及智慧手機等不同形式的應用程式。

Plasma 首先作為第四代 KDE 圖形環境（KDE4 SC）的一部分引入。其後繼者 KDE Plasma 5 於 2014 年 7 月 15 日釋出，目前具有以下工作空間：

在普通計算機上工作的 Plasma Desktop
在上網本上工作的 Plasma Netbook
在電視和機頂盒上工作的 Plasma Media Center
在平板電腦上工作的 Plasma Active
用於智慧手機和普通觸控式裝置的

5.3 KDE Frameworks

在 KDE 4 SC 系列中，KDE 平臺（即 KDE Platform）由執行 KDE 應用程式所需的庫和服務組成。當轉換到 Qt 5 時，KDE 平臺被轉換成現在被稱為 KDE 框架（即 KDE Frameworks）的模組化集合。所需的庫包括 Solid、Nepomuk、Phonon 等，並且必須根據 LGPL 、BSD 許可證、MIT 許可證或 X11 許可證進行許可。

雖然 KDE 框架主要是用 C++ 編寫的，但是它包含了同其他程式語言的接合模組。它們使用以下通用技術：

Smoke：用於同 Ruby、C♯ 和 PHP 接合
SIP：用於同 Python 接合
Kross： C++ 應用程式的嵌入式指令碼，支援 Ruby、Python、JavaScript、QtScript、Falcon 和 Java

穩定和成熟的接合模組可用於以下程式語言：

Python
Ruby（Korundum，基於 QtRuby）
C♯（然而目前對 C# 和其他.Net 語言進行接合的框架已被棄用，且其替代品僅能在 Windows 上編譯）
Perl

5.4 KDE Applications

（即 KDE Applications，它們包括 Okular、KTorrent、Kile 和 ）建立在 KDE 框架之上。 KDE 應用程式努力實現在各個作業系統之間的可移植性，並且獨立於某種特定的工作空間或桌面環境。某些品牌識別的應用程式套件常常由多個應用程式構建，例如 KDE Network、KDE Graphics 和 。 某些應用程式是常規軟體編譯版本的一部分；其他應用程式則是 Extragear 的一部分，並按照自己的時間表釋出。

5.5 KDE neon

KDE neon 是一個以 Ubuntu LTS 作為核心的軟體倉庫。 它旨在為使用者提供快速更新的 Qt 和 KDE 軟體，同時以正常的速度更新 Ubuntu 庫中的其餘 OS 元件。KDE 認為它並非是 “KDE 發行版”，而是 KDE/Qt 軟體包的最新版本。

它提供使用者和開發者兩種版本。

5.6 WikiToLearn

（簡稱 WTL）是 KDE 最新和最獨特的努力之一。 它是一個基於 MediaWiki（如維基百科）的百科，提供了一個平臺來建立和共享開源教科書。這個計劃的目標是創造一個人人都能使用並參與其中的龐大的教科書庫。這個想法肇始於一群米蘭大學物理專業的學生，他們一開始僅僅想要分享筆記。之後，他們決定分享給每個人而不僅僅是他們的朋友圈內。它現在是一個完整的 KDE 專案，許多大學都支援它。