開源社區是如何運作的——KDE篇
原創【51CTO獨家特稿】本文是51CTO系統頻道近期有關開源社區是如何運作的第三篇,介紹有關KDE社區的情況。由于項目性質不同,本文敘述的情況和之前的Ubuntu篇和Debian vs Ubuntu篇有一定的不同。
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社區的成員結構和運作方式。
#p#
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社區的第一步必然是先加入一個電子郵件群組,因為基本上所有的社區交流都在那里進行。除了參與核心開發和相關應用開發之外,興趣者還有以下這些選擇:
技術類
- 輔助功能開發(殘障人士功能)
- 美工(對于桌面環境而言,美工的重要性不在開發之下)
- 測試、Bug跟蹤
非技術類
- 編寫用戶文檔(這些主要由用戶和測試人員完成)
- 翻譯用戶文檔
- 為KDE進行市場推廣
在KDE的官方網站上有一份完善的電子郵件群組列表,目前一共列出了207個群組,興趣者可以找尋自己最感興趣的加入,也可以加入多個群組。其中有四個群組是通用群組:
- kde,定位于普通用戶交流
- kde-announce,是每次有了版本更新、安全補丁等變化時發布通告的群組
- kde-devel,定位于應用開發者之間的交流
- kde-core-devel,定位于KDE類庫開發者之間的交流
除了電子郵件群組之外,社區成員也習慣使用IRC頻道進行實時的在線群體聊天(這里是一份較為正式的KDE相關IRC頻道的匯總)。此外,KDE e.V.和一些地方小組也會組織線下的論壇和沙龍。官方會議和論壇主要在歐洲進行,近年來在美國和南美等地也逐漸多了起來,不過目前在中國的還比較少。
除了上述這些之外,參與KDE相關維基的完善與翻譯則是無須加入任何群組、任何人都可以完成的。KDE官方網站由一系列維基組成,主要分為用戶、技術庫、社區這三大部分。這些維基的目的主要是為尚未加入KDE社區的第三方人群提供相關的介紹和指引,幫助他們了解KDE社區的情況,以及如何成為KDE的貢獻者。
#p#
參與KDE的開發
好了,假設現在一個懂得開發的KDE用戶加入到了kde-core-devel的群組當中,從此開始他便成為了一名KDE項目的開發者。雖然KDE社區中并沒有Debian社區中的DD或是Ubuntu社區中的UCD一樣的“官方認可的”身份設定,但是資歷老、貢獻多的開發者們仍然擁有自己的特權,那就是一個KDE SVN帳號。
每個剛剛加入KDE社區的開發者都是一個新人。KDE社區賦予了所有新人們三種權限:
- 在電子郵件群組中看帖子和發言的權限
- 在bugs.kde.org上查看、提交和評論bug的權限(基于Bugzilla)
- 在KDE SVN上匿名下載源代碼的權限
新人們寫的和修改的代碼只能以補丁的形式在電子郵件群組或Bugzilla中提交。作為一個新人,他必須要證明自己能夠用C++編程,能夠掌握Qt框架,能夠看懂KDE的代碼,以及能夠使用電子郵件群組和Bugzilla來參與討論和貢獻代碼。
總之,在成功提交了幾個補丁,新人的技術能力與人品得到了認可之后,就可以考慮提交KDE SVN帳號的申請表了。申請的方式和大多數開源社區差不多,需要寫清楚自己為什么要申請這個帳號,再找個SVN賬號的擁有者做你的引薦人,然后就是等消息了。
這里簡單介紹一下:SVN是一個開源的軟件版本控制系統(Subversion服務器的簡稱,現在是Apache的一個項目)。這個服務可以較為輕松的對軟件進行版本控制,尤其是在項目有很多組件、很多開發者提交代碼、測試者提交文檔文本、美工提交設計作品、翻譯者提供翻譯文本的情況下,這個系統就顯得尤其重要。相對而言,提交Patch再統一整合的方式也不是不行,但是效率就十分低下了。
基本上,拿到一個SVN帳號基本上是社區開發者能享受到的最大特權了。以前,杰出的貢獻者還可以申請到一個@kde.org的郵箱地址作為獎勵;不過一度因為分發的數量過多而造成了困擾,因此現在基本上只有官方成員才有@kde.org后綴的郵箱地址。
根據51CTO編輯的了解,目前全球范圍內差不多有2000多人擁有KDE SVN的帳號,而每年的活躍帳號差不多是300多個。
KDE的其他參與者
對于KDE項目的美工、文檔、翻譯等參與者,雖然細節上與開發不同,但大致體系類似,主要社區活動都是基于電子郵件群組或IRC聊天頻道。最終的文件和文檔和代碼一樣,由相關項目的負責人或組長上傳至KDE SVN服務器上。具體的工作流程各有不同,比如美工喜歡在IRC上討論,文檔撰寫者有KDE DocBook XML工具鏈等工具,翻譯則被推薦使用Lokalize等工具進行工作。
#p#
國內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項目的經驗尋找工作機會,等等。雖然參與開源項目并沒有金錢上的直接回報,但優秀的開源項目帶給參與者的社會價值仍是不可忽視的。
【編輯推薦】