开源社区是如何运作的——KDE篇

原创
开源
KDE是在Unix时代诞生的一个桌面环境,与Gnome同为当前最为主流的两大Linux桌面环境。KDE项目从一开始就与社区参与脱不开关系,其最初诞生于Usenet上的一篇帖子。现在,KDE的参与者已经遍布全球各地。本文将介绍KDE社区的成员结构和运作方式。

【51CTO独家特稿】本文是51CTO系统频道近期有关开源社区是如何运作的第三篇,介绍有关KDE社区的情况。由于项目性质不同,本文叙述的情况和之前的Ubuntu篇Debian vs Ubuntu篇有一定的不同。

KDE是在Unix时代诞生的一个桌面环境,由当时仍在蒂宾根大学念书的德国大学生Matthias Ettrich在1996年开发。KDE使用Qt程序库(C++)开发,而Matthias Ettrich本人现在也在Qt软件公司就职。

[[14815]] 
KDE项目发起者Matthias Ettrich

KDE与Gnome是当前最为主流的两大Linux桌面环境,大部分知名的Linux桌面发行版都有KDE和Gnome版本。目前,openSUSE、Mandriva、红旗Linux等发行版都基于KDE桌面,而将主要精力放在Gnome上的UbuntuFedora等发行版也都有各自的KDE版本。

KDE 
KDE的Logo

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社区的第一步必然是先加入一个电子邮件群组,因为基本上所有的社区交流都在那里进行。除了参与核心开发和相关应用开发之外,兴趣者还有以下这些选择:

技术类

  1. 辅助功能开发(残障人士功能)
  2. 美工(对于桌面环境而言,美工的重要性不在开发之下)
  3. 测试、Bug跟踪

非技术类

  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相关维基的完善与翻译则是无须加入任何群组、任何人都可以完成的。KDE官方网站由一系列维基组成,主要分为用户、技术库、社区这三大部分。这些维基的目的主要是为尚未加入KDE社区的第三方人群提供相关的介绍和指引,帮助他们了解KDE社区的情况,以及如何成为KDE的贡献者。

#p#

参与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后缀的邮箱地址。

根据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项目的经验寻找工作机会,等等。虽然参与开源项目并没有金钱上的直接回报,但优秀的开源项目带给参与者的社会价值仍是不可忽视的。

【编辑推荐】

  1. 开源社区是如何运作的:Debian vs Ubuntu
  2. 开源社区是如何运作的——Ubuntu篇
  3. 开源社区的壮大
责任编辑:yangsai 来源: 51CTO.com
相关推荐

2010-08-16 14:41:49

开源社区Ubuntu

2010-08-23 16:28:24

开源社区DebianUbuntu

2010-10-19 13:35:38

开源社区OpenOffice.

2021-12-17 22:52:44

物联网电信技术

2021-02-15 15:36:04

采矿加密货币区块链

2022-06-07 14:30:40

区块链比特币以太坊

2014-11-10 09:29:13

Google

2015-03-10 11:04:33

开源社区

2020-02-12 15:08:41

KVM内部运作

2022-05-24 17:00:41

区块链IT比特币

2024-04-08 14:29:45

AI工厂数据中心

2017-06-23 15:45:09

AndroidThread

2014-07-08 13:12:14

开源微软开放

2014-09-17 11:45:20

iOS编程App运作

2022-04-26 12:45:52

TikTok机器学习人工智能

2021-05-28 17:24:32

人工智能AI深度学习

2012-10-09 09:14:47

2017-10-30 15:26:54

数据中心超融合云计算

2012-08-13 09:39:57

虚拟化

2023-05-31 07:32:37

点赞
收藏

51CTO技术栈公众号