http://www.oschina.net/news/11531/kde-in-opensource
KDE 是在 Unix 時代誕生的一個桌面環境,由當時仍在蒂賓根大學念書的德國大學生 Matthias Ettrich 在1996年開發。KDE 使用 Qt 程式庫(C++)開發,而 Matthias Ettrich 本人現在也在 Qt 軟體公司就職。
KDE 與 Gnome 是當前最為主流的兩大 Linux 桌面環境,大部分知名的 Linux 桌面發行版本都有 KDE 和 Gnome 版本。目 前,openSUSE、Mandriva、紅旗Linux 等發行版本都基於 KDE 桌面,而將主要精力放在 Gnome 上的 Ubuntu、Fedora 等發行版本 也都有各自的 KDE 版本。
KDE 專案從一開始就與社區參與脫不開關係,其最初便是誕生於 Matthias Ettrich 在 Usenet 上發的一篇帖子。現在,KDE 的參與者已經遍佈全球各地,以不同的方式參與到專案當中去。
下文將大致的介紹一下 KDE 社群的成員結構和運作方式。
KDE 社群的組織結構
與之前介紹的Ubuntu和Debian有所不同,KDE 社群並沒有明確的“官方參與者”制度。KDE 有一個叫做 KDE e.V. 的官方組織,包括 5名董事會成員,164位成員,以及10位贊助成員/團體(截止到2010年8月24日的數據)。然而目前為止,這個官方組織僅僅負責KDE專案在法律和 經營方面的事務,以及一些社區行為導向方面的工作。事實上,KDE e.V. 曾經嘗試過通過官方影響的方式引導 KDE 的開發進程,並成立了 TechnicaWorking Group(技術工作組,負責監督發行週期)和 Human Computer Interaction Working Group(人機互交工作組,關注最終軟體的可用性)這兩個工作組,但是因為發 現這樣的安排與已經形成的社區開發機制無法融合而取消。
所以,KDE 專案基本上呈現一種自下而上的鬆散結構。對於 KDE 興趣者而言,其加入 KDE 社群的第一步必然是先加入一個電子郵件群組,因為基本上所有的社區交流都在那裡進行。除了參與核心開發和相關應用開發之外,興趣者還有以下這些選擇:
技術類
1. 協助工具開發(殘障人士功能)
2. 美工(對於桌面環境而言,美工的重要性不在開發之下)
3. 測試、Bu g跟蹤
非技術類
1. 編寫使用者文件(這些主要由使用者和測試人員完成)
2. 翻譯使用者文件
3. 為 KDE 進行市場推廣
在 KDE 的官方網站上有一份完善的電子郵件群組清單,目前一共列出了207個群組,興趣者可以找尋自己最感興趣的加入,也可以加入多個群組。其中有四個群組是通用群組:
1. kde,定位于普通用戶交流
2. kde-announce,是每次有了版本更新、安全補丁等變化時發佈通告的群組
3. kde-devel,定位于應用開發者之間的交流
4. kde-core-devel,定位於KDE類庫開發者之間的交流
除了電子郵件群組之外,社區成員也習慣使用 IRC 頻道進行即時的線上群體聊天(這裡是一份較為正式的KDE相關IRC頻道的匯總)。此 外,KDE e.V. 和一些地方小組也會組織線下的論壇和沙龍。官方會議和論壇主要在歐洲進行,近年來在美國和南美等地也逐漸多了起來,不過目前在中國的還比較少。
除了上述這些之外,參與 KDE 相關 wiki 的完善與翻譯則是無須加入任何群組、任何人都可以完成的。KDE 官方網站由一系列 wiki 組成,主要分為使用者、技術庫、社群這三大部分。這些 wiki 的目的主要是為尚未加入 KDE 社群的協力廠商人群提供相關的介紹和指引,幫助他們瞭解KDE社區的情況,以及如何成為 KDE 的貢獻者。
參與 KDE 的開發
好了,假設現在一個懂得開發的 KDE 使用者加入到了 kde-core-devel 的群組當中,從此開始他便成為了一名 KDE 專案的開發者。雖然 KDE 社群中並沒有Debian社群中的DD或是Ubuntu社區中的UCD一樣的“官方認可的”身份設定,但是資歷老、貢獻多的開發者們仍然擁有自己的特權, 那就是一個 KDE SVN 帳號。
每個剛剛加入 KDE 社群的開發者都是一個新人。KDE 社群賦予了所有新人們三種許可權:
1. 在電子郵件群組中看帖子和發言的許可權
2. 在 bugs.kde.org 上查看、提交和評論 bug 的許可權(基於 Bugzilla)
3. 在 KDE SVN 上匿名下載原始程式碼的許可權
新人們寫的和修改的代碼只能以補丁的形式在電子郵件群組或Bugzilla中提交。作為一個新人,他必須要證明自己能夠用 C++ 程式設計,能夠掌握 Qt 框架,能夠看懂 KDE 的程式碼,以及能夠使用電子郵件群組和 Bugzilla 來參與討論和貢獻代碼。
總之,在成功提交了幾個補丁,新人的技術能力與人品得到了認可之後,就可以考慮提交 KDE SVN 帳號的申請表了。申請的方式和大多數開源社區差不多,需要寫清楚自己為什麼要申請這個帳號,再找個 SVN 帳號的擁有者做你的引薦人,然後就是等消息了。
這裡簡單介紹一下:SVN 是一個開源的軟體版本控制系統(Subversion 伺服器的簡稱,現在是 Apache 的一個項目)。這個服務可以較為輕 松的對軟體進行版本控制,尤其是在專案有很多元件、很多開發者提交代碼、測試者提交文檔文本、美工提交設計作品、翻譯者提供翻譯文本的情況下,這個系統就 顯得尤其重要。相對而言,提交Patch再統一整合的方式也不是不行,但是效率就十分低下了。
基本上,拿到一個 SVN 帳號基本上是社群開發者能享受到的最大特權了。以前,傑出的貢獻者還可以申請到一個 @kde.org 的郵箱地址作為獎勵;不過一度因為分發的數量過多而造成了困擾,因此現在基本上只有官方成員才有 @kde.org 尾碼的郵箱地址。
據瞭解,目前全球範圍內差不多有2000多人擁有 KDE SVN 的帳號,而每年的活躍帳號差不多是300多個。
KDE 的其他參與者
對於 KDE 專案的美工、文件、翻譯等參與者,雖然細節上與開發不同,但大致體系類似,主要社群活動都是基於電子郵件群組或 IRC 聊天頻道。最終的檔案和文件和程式碼一樣,由相關專案的負責人或組長上傳至 KDE SVN 伺服器上。具體的工作流程各有不同,比如美工喜歡在 IRC 上討論,文檔撰寫者有 KDE DocBook XML 工具鏈等工具,翻譯則被推薦使用 Lokalize 等工具進行工作。
中國 KDE 參與者的情況
由於國內的 Linux 用戶本來就少,接觸 openSUSE、ArchLinux、紅旗Linux 等主打 KDE 桌面的發行版本的用戶相對更少,因此參與 KDE 專案的貢獻者是很少的,而且大部分在翻譯和美工這兩部分,開發方面的參與者幾乎屈指可數。而來自國內的這些參與KDE專案的開發人員,也主要是來自 一些中國 Linux 發行版本的開發團隊,如中科紅旗的紅旗Linux(包括Linux人社區的Qomo,是紅旗Linux的社區版本),中國 Linux 公社 的Magic Linux等。現在紅旗桌面研發的總監黃健中(cjacker,他也是Magic Linux的發起者)、同屬桌面研發部門下的部門經理邢 健(rickxing)、以及潘衛平(Peter Pan)、曹思源(cycao)、李耀鵬(liyaopeng)和張強(zhangqiang)等幾個工程師,都從2007年左右便開始參與到KDE開發者社區當中,並且現在都是 KDE SVN 帳號的擁有者。
參與 KDE 專案的動力何在?
KDE 社群是一個幾乎沒有官方獎勵機制的社區:沒有官方成員的身份設定,沒有“修復 Bug 達人”、“KDE 傑出貢獻者”等官方稱號獎勵,現在連 @kde.org 郵箱的獎勵也沒有。不過,官方獎勵機制的匱乏並沒有令參與 KDE 專案的價值降低。
首先,KDE 是一個全球範圍內的專案,而 KDE 本身也有著相當廣泛的用戶。雖然可能不如Gnome或是那些比較火爆的發行版本,但 KDE 有十分忠誠的使用者族群(包括 openSUSE等發行版本以及 KOffice 等應用的使用者)。所以,一旦自己的程式碼/美工設計/文件被下一個版本的 KDE 接受,那麼自己的成果將有非常多的受眾。無論對於開發者還是非開發者,其成就感是巨大的。
其次,活躍的 KDE 貢獻者在 KDE 社群中是有較高的知名度的。社區中多是同道中人,這種知名度對於建立個人的品牌價值有著重大的意義。
另外,參與KDE專案提供了一個參與大型開發專案的機會,這對於缺乏專案經驗的學生/入門開發者而言是很好的歷練。KDE 專案的規模和代碼品質相對於一般企業的開發者能夠接觸到的專案而言往往是更加優秀的,學習它的代碼和開發方式能夠有很多收穫。
當然還有其他因素,比如結識業內或有相同興趣的朋友,利用 KDE 專案的經驗尋找工作機會,等等。雖然參與開源專案並沒有金錢上的直接回報,但優秀的開源專案帶給參與者的社會價值仍是不可忽視的。