月度归档:2026年05月

我对自由软件、社区、以及用户负面反馈的思考

起因

我写这篇文章的起因,在于某红书上和某「社区」在评论区的讨论。原点在于,有人留言提到 KDE 丑,而我恰恰是因为 KDE 丑而放弃使用 KDE。我尝试归纳了一下 KDE 「丑」原因,认为主要有两点:

  • Breeze 的样式设计,包括颜色选择、控件设计等。
  • KDE 内置软件的布局设计,包括标题栏、侧边栏等。

让我觉得不对劲的,是这句话:

我被指责「不愿出方案也不愿动手」,我对「Breeze 丑」的评价变成了单纯发泄情绪(虽然我自认不曾参杂任何情绪)。不过本文并非檄文,无意评判对错是非;这只是我重新拾起对自由软件及其社区思考的起点。

Free as in Free Speech, not Free Beer

虽然自由软件和商业软件秉持不同的方法论,但他们的目的(或部分目的)是一致的:推动人类社会的进步。商业软件在创造商业价值、收获利益的同时,客观上推动了社会的发展。在市场经济的评价体系里,商业价值可以说是一种(片面的)显式指标,可以用来衡量它对人类社会的贡献。如果一个商业软件赚了越来越多的钱,通常可以片面地认为它对人类社会的贡献正在越来越大。

自由软件则通过更少的回报,更低廉的传播成本,提供了更自由的发展可能性。自由软件大多是无偿的,自由软件的贡献者们也大多都是无偿奉献的,但「无偿」和自由软件并不存在强绑定的关系:自由软件的价值观和方法论在于自由,而非无偿。自由软件可以通过各种方式盈利,这是老生常谈的话题,这里就不展开了。但必须承认的是,自由软件对开发者本身的回报非常有限,通常能算的就只有「影响力」回报。影响力同样可以说是一种(没那么片面的)抽象指标,可以用来衡量自由软件对人类社会的贡献。

自由软件作为一场运动,「无偿」是副产品、是副作用、是锦上添花,自由软件真正追求的是「影响力」。无偿可以有助于影响力,因为对于最终用户来说,免费是实打实少花的成本;但无偿不是免死金牌,不能「因为它是免费的/因为我是无偿奉献的」而降低对软件质量的要求,这与影响力的提高背道而驰。

必须要说明的是,并非所有的自由软件作者都以追求影响力为目标。很多人以学习、娱乐为目的创作了自由软件,它能够创造价值更好,创造不了价值也无所谓;作者已经从中获得了成长或者快乐。这种情况不在我们的讨论范畴中。

自由软件社区:追求影响力的方式

为了能让更多的人了解自由软件,交流学习心得,社区是常见的方式。我发现我很难对「社区」作出一个很明确的定义,它的形式实在是太多了:BBS,IRC,博客,Bug Tracker,邮件列表……归根结底,我认为社区是人与人连接的地方。

有人就有政治,甚至社区本身,就是一种用来扩大影响力手段,「扩大自由软件影响力」是社区的主要政治维度。处理社区问题,免不了要和各种各样的人打交道,他们也许秉持着不同的价值观和方法论,有着对问题的不同看法,但大多都应该是在「扩大自由软件影响力」这一维度上,只是有人偏左,有人偏右。

不过,有两点现象我想特别拿出来讨论:第一个是我们曾经见到过的,有的开源社区引入了其他政治维度。他们有的利用「副维度」来影响「主维度」,通过副维度排除社区异己;有的利用「主维度」影响「副维度」,利用社区自身的影响力对副维度提供支持。如果单从自由软件社区、从自由软件运动这一角度,我认为这偏离了自由软件运动所追求的价值。

第二个是关于社区规则。不加约束的自由最终会毁掉自由,所以几乎所有社区都会制定社区规则。这是每个社区都必须面临的「自由」悖论:什么样的言论是允许的?社区管理者通常会选择一些绝大多数人认可的、世界通行的基准价值观作为约束条例,这是自由的成本。社区规则应该是基础的、普世的,而非限制社区在主维度上的政治倾向。

「如果你觉得它不好,那你就去建设它」……吗?

某个自由软件的用户,很可能是另一个自由软件的开发者;即便不是自由软件的开发者,也可能是某商业软件的开发者;即便不是开发者,也都是在各行各业推动社会发展的贡献者。在如何分配时间这件事上,每个人都有自己的选择。

更何况,贡献代码绝非是仅有的贡献方式。评价,包括负面评价,都是能进一步提高影响力的来源。社区应该起到的作用,是尽可能降低贡献门槛,能够更好、更快地将用户反馈贡献给开发者。如果反向提高门槛,要求用户必须系统性地提供解决方案,或是要求用户必须花费时间参与设计讨论等,不仅无助于解决问题,更会降低用户的贡献意愿。自由软件开发者对用户没有任何义务,用户同样对自由软件开发者没有任何义务;这是真正的双向奔赴。

后记

文章开头的某红书的评论区的结果是我被社区拉黑了,当然这是我自找的,因为我后来向他展示了真正的「情绪宣泄」(力度较低)。我放弃理性讨论的原因是,我认为这不是一个好的社区的味道,更像是一个单方向的宣传组织,而不是真正能够讨论问题的地方。