开源社区是如何运作之KDE
2010-08-31 13:33:25 阿炯

KDE是在Unix时代诞生的一个桌面环境,由当时仍在蒂宾根大学念书的德国大学生Matthias Ettrich在1996年开发。其使用Qt程序库(C++)开发,而Matthias Ettrich本人现在也在Qt软件公司就职。KDE与Gnome是当前最为主流的两大Linux桌面环境,大部分知名的Linux桌面发行版都有KDE和Gnome版本。目前主流的Linux发行版都有基于KDE桌面,而将主要精力放在Gnome上的Ubuntu、Fedora等发行版 也都有各自的KDE版本。

KDE的Logo

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. 测试、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 的贡献者。

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


KDE 将淘汰 IRC 和 XMPP 服务

KDE 的开发者 Ben Cooksley 于2023年5月下旬在 KDE 的邮件列表中透露,其将淘汰目前正在使用的 IRC 和 XMPP 等服务。XMPP 是一种基于 XML 的通信协议,也被称为 Jabber 协议,它是一种开放的标准协议,用于实时通信、语音、视频、文件传输等服务;IRC 则是 Internet Relay Chat 的缩写,跟 XMPP 一样也是一种通信协议,用户通过 IRC 客户端连接到 IRC 服务器,然后可以加入不同的聊天室(也称为 IRC 通道)。

究其原因,Ben Cooksley 表示,主要是 KDE 的 IRC(主要是 Pursuivant 和 Telegram Matterbridge、sKreamer) 和 XMPP 的服务使用人数太少,而且使用人数仍在持续下降。因此计划永久地淘汰这几项服务,并将部分服务切换到 Matrix。以 sKreamer 为例,它的主要作用是提供论坛帖子和 bugbot 服务的公告。由于 Matrix 目前已经能够提供网站预览,论坛也即将被 Discourse 取代,因此 sKreamer 提供的这两个功能都已不再需要,KDE 将直接退役这个服务。

很多年前,KDE 为 KDETalk.net 和 kde.org 域名提供了 XMPP 服务。但由于滥用,在很长一段时间里,KDE 都不得不禁止用户在 KDETalk.net 上注册(kde.org 则一直是手动注册的)。随着时间推移,如今用户数量已经非常少了,再加上 KDE 官方聊天频道现在基本上是 Matrix,所以同样计划将 XMPP 淘汰。与此同时,将这些服务全部淘汰后,还可以让 KDE 团队退掉一个较小的 DigitalOcean 服务器(虽然所有这些服务产生的负载都很小,服务器价格也不贵,但 KDE 团队仍然需要耗费一定的精力),未来他们将可以更好地集中精力在其他基础设施等方面。