社区政治、傲慢、严苛、自大

对于开源社区,和Linux来说,社区政治是其中不得不品的一环。可以说,一个用户在和其软件交互的的过程中,是不可能百分百绕开社区的。而今天谈论这个问题,是因为其社区环境,和社区leader秉承的哲学会影响一个项目的健康程度,和用户的好恶。
以一次突袭更新为例
首先谈一下Debian,这不仅因为我目前就是Debian用户,而且在我八年的Linux使用过程中,比较多的拥抱了Debian、Debian系的怀抱。(如Ubuntu等)(是的,我今年三月份才用的arch)

Debian的社区上游对于稳定性和鲁棒性有一种几乎刻板和病态的追求,这从其软件源准入门槛可以看出。而Debian的主分支(也就是stable,目前为’trixie’)也受其影响,各自作风也稳字当头。首先我必须说,我对于这种作风和行事风格是比较理解(我之前不理解,现在是逐渐理解的)写下这些杂谈的时间是2026-06-12,就在两天前的晚上我的Fedora在一次dnf up后出现了触控板抽搐的情况,一开始此状态只在x11(i3wm)下出现,后面Wayland里,甚至sddm里也开始出现此症状。我排查发现,内核直接认不出x250的触控板了,此事在我重装驱动后解决(但是耗时半小时出头,也可能不止,我忘了)但是就在那时我刚准备开始进行写作,而我对于这种满心欢喜准备产出内容却被这种破事打断之后非常愤怒,这直接导致我花了一晚上跑路到了Debian上,因为我不希望我干活(对我来说写作是一种愉快的劳动,哈哈,而和rust编译器搏斗是一种刑罚)的时候需要腾出时间来解决这种问题——我的灵感是随时会消失的。而就在刚刚….
|
|
这三个包正是我在Fedora上重装的驱动,而我后续经过查证,事实上,
内核层面:Fedora 44 Workstation用户(GNOME 50,Wayland)报告在更新后外接USB触控板被系统错误地随内置输入设备一起禁用。另一个用户在荣耀MagicBook Pro 16上报告触控板在内核升级到7.0.1后完全失效,dmesg显示ACPI表存在加载异常。这些都是内核级的行为变更。
驱动层面:框架社区用户在Fedora 44 Workstation上报告,更新后外接USB触控板在内置设备被禁用时也跟着失效,而蓝牙触控板却正常。这说明更新可能改变了X11/Wayland输入子系统的设备管理策略。
用户感知层面:Fedora用户普遍反映更新后触控板出现抖动、跳跃,甚至"完全失控"的问题,部分用户重启后能自行恢复。
而
- Fedora 用户(包括我)先给上游当了一回“小白鼠”,在内核 7.x 上暴露了触控板相关的问题
- 上游开发者紧急修复 → 补丁进入 libinput、xinput 等包
- 这些补丁今天被同步到了 Debian(作为常规稳定更新推送给所有用户)
这又符合Fedora的使用哲学。Fedora作为RH最出色的小妹妹,虽然长期管她姐姐红帽要钱,但是自己本质上是Redhat的试验田。Fedora的主分支(Stable)是一个半滚动的发行版,但是它的内核又会通过dnf源源不断的秒级给你滚最新(就我自己的体验,我用Fedora的两个月里从7.0.6追到了7.0. 11)所以虽然stable版的软件包滚得比较"相对保守"(这是相对Rawhide分支而言的),但是内核是一个白名单,而这种策略刚好也暴露了这个内核层级的问题。别误会,这才是Fedora存在的意义,作为RH的试验田,它必须暴露问题,才能让Red Hat构建稳定的系统。但是这和我在Debian上收到内核级的apt update有什么关系?那是因为,Debian stable(为了不和上文提到的Fedora stable搞混,下文叫他’trixie’)虽然默认冻了软件版本,但是一些内核级(是的,触控板驱动属于内核级)和安全相关的更新是会持续推的,trixie到它完全eof的时候估计会是2030-2032年(trixie今年五月份才转正主分支,而一个主分支通常会支持五年)但是这有一个更大的问题,那就是我的触控板为什么没有在apt给我推这波更新之前就出毛病呢?这是因为, Debian的内核安全策略(stable用6系lts内核)让Debian收到这波更新之前避免了该问题被显式暴露。这是trixie主分支的稳字当头的哲学,而Fedora作为帮RH“追新”的小妹妹自然会滚最新内核来“暴露”这些问题。其实这也不难理解为什么Linus本人公开站台用Fedora,先不谈此人竟然持有红帽股份(??)且它需要编译最新的内核去debug。但是这又引发我们的思考,因为我们是桌面用户端的,而不是内核开发者。我之前竟然错误的操持一种偶像效应(因为我认为,Linus用的distro就是不错的)而不是需求导向。内核一直滚最新对于用户来说也是一种风险,但是这也不是说Fedora不适合所有人,万一你就是玩内核的人呢,更何况,Fedora的软件包在“最新”和“稳定”之间找了很好的平衡点,因为有上游Rawhide帮你测了一轮,但是刚刚我说了,内核是白名单嘛^^。但是Debian谨慎的逻辑帮用户层的人兜了这个底,它宁愿用LTS内核,因为它是变动少的稳定的。同时这里对backport道个歉,这个源有一个比较大的作用是在分支上向后追新新的内核(比如7系,而不是6.18LTS)这是一个权衡,因为新内核更加会适配新硬件。可能我们把他的用途搞错了。
附注:Linux Kerneal可能是好、坏、丑的,但是这一次它是无辜的,触控板的一切问题来源于那个来路不明的二手ThinkPad电源适配器。请默哀。
谁影响谁?谁接受谁?

所以在一堆无效的排查之后,我“被迫”转到Debian 13 stable。在一些人的刻板印象里,可能会觉得“用Debian的人就是一帮头发快掉光的老逼”,而用archLinux的是一群每天在社区里显摆BTW I USE ARCH的人,但这都是MEME层面的。我的发量是非常浓密的,我可能一年多快两年没去理发了(那只是因为我想留长发^^),而我之前也用过arch,我不知道你有没有见过拜耳制药产的雌二醇,上面那个logo你给她90°翻转一下刚好是Debian的logo(好吧!好吧!我想我只是开了一个玩笑!)但是我想说的是,这些MEME的产生不是没有原因的,这显然受到Debian社区的一些做派和行事风格的影响。首先“头发快掉光的老逼”对应一种古板的,严谨的,妥协的,守旧的刻板印象。(请注意,刻板印象很大一部分是不全面或者是错的,比如你敢说Debian sid是过时的吗?不过呢,整个刻板印象可能也是对的,很少有人知道Debian有testing和sid分支这回事,不过这也是读读wiki或者文档的事,但是人们显然更关心它们的TikTok动态是否有推送更新🤣)如:
Grandpa, who can’t use modern software and needs to use outdated one 爷爷,他不会用现代软件,只能用过时的软件
• >haikusbot 俳句机器人
*Grandpa, who can’t use 爷爷用不惯
*Modern software and needs to 现代软件太新潮
*Use outdated one
只好用旧的
但是关于为什么Debian stable的软件包往往是过时的,这点在Debian13 Stable ‘Trixie’:相爱相杀里已经详细说明。这里简单说,那就是一个软件包流入stable源的期间因为其严格的审核和QA机制,时间一般会拖到6-12个月(更何况,一个软件包想准入进源里面也是非常非常之麻烦,远不止一个提案这么简单)但是我们需要透过现象看本质,这说明Debian上游的作风在stable分支对于鲁棒性的近乎变态的追求度会牺牲一些(或者不止一些,也许吧)用户侧的友好度。Debian社区至今都采用邮件列表为主要的沟通手段,这可能也是人们觉得Debian用户古板守旧的原因。
但是深挖一下Debian社区的政治呈现,(不要把社区政治当成一个不可讨论的问题)我们可以发现更多的问题。首先Debian是一个“普罗大众”的系统,它是纯志愿驱动的而没有背靠任何的公司或者企业。所以社区的风气和走向很大一部分影响上游怎么指导下游。对于Debian社区而言,其对于用户贡献的包容与回馈是非常到位的。一个发行版要发行不止需要在代码测试和构建这一类工作投入精力,宣发,网站运营,ftp管理,美工和翻译同样也是非常重要且不可或缺的一部分。所以你如果查过Debian每个版本的发行说明就可以看到一张长长的致谢名单来感谢这些人对Debian 的付出。但是其话又说回来了,Debian社区中用户的声望很大一部分是靠着技术能力去累计的。要进去Debian developer(俗称DD)用户组你需要担保人(也就是你就上级),普通的Debian Maintainer (DM) 要在Debian源里面接手一个包的维护也需要一位DD为你“担保”。而如果其中出了问题,社区就会对此进行层层的信任层级的追责。这套非常严格的以技术信任为标准的准入机制也铸就了其老生常谈的、坚如磐石的稳定性。但是这时候可能有些人就觉得有点不对了,是不是觉得“有股味”,没错,我在此妄下定论,Debian的社区政治严谨上可以是成为技术精英主义的,所以这或多或少影响了其在用户侧的表现(令人觉得这系统怎么这样工作),Debian 本质上是一个由个体开发者组成的松散联盟,集体决策极其困难。 而且争议也不是没有过,例如,2022 年就发生过一位为项目服务超过 20 年的老牌 DD,因被降级为 DM 而选择离开,并加入 Arch Linux 的事件。这从侧面也反映出,其严格的内部管理也可能引发冲突,尤其是在资深成员认为自己的贡献和地位未得到充分认可时。
不过这里我对Debian进行辩护一下。这并不代表Debian社区不重视用户侧体验这一点,根据民主的决策逻辑,用户基数会影响决策(如果觉得难理解,不妨把用户不严谨的等价理解为现实政治中的选民),所以这是自然而然的事。根据我找的资料,在2013年Debian 7 Wheezy时期就有人诟病说Debian是"not friendly to user"的,当然,这里牵扯到一个历史遗留问题,那就是早期Debian的安装器设计的恶心,丑陋,令人呕吐不止。(这并不夸张,Linus点名批评过的哦)不过这个问题已经在trixie上被很好的解决,现在Debian的图形安装器(别在引导livecd的时候选择传统安装器,而是带着"graphics"标示的那个)已经很好的扮演了一个“下一步先生”。Debian社区起码是比较民主的(某个“螃蟹语言”的社区天天胡乱ban人呢),而且那群“老逼”对视这种“技术债”如眼中钉,都被Linus本人点名批评了,这也算是一种知耻而后勇吧。
既然提到arch,那就顺便做个对照实验。首先如果你最近观察过archlinux社区的情况,可以发现其社区莫名其妙涌入了一些新生代用户,这些人表现为喜欢玩rice然后玩各种hyprland光污染特效。这些人可以说是社区的新生代,它们有些人(但是占比不多)可能是有一些技术底子的,但是这些人可能总体来说还处于玩Linux的阶段而不是用,所以说这部分人士和arch社区的基底是有一定的代沟现象存在的。(此外,社区里不知为何还弥漫着一股用arch然后就非常优越的风气,不过中肯的说理性的人也就开几句玩笑就作罢了,而不是天天挂在嘴边认为这是什么谈资)至于arch社区本身的底色,是一种技术开放的且比较不羁的形态。首先arch linux在用户端是一个比较传奇伟岸的形态,其信息详尽程度是空前绝后的,不少提到的技术和方法甚至不是arch linux独有的而是一种相对而言的通法。所以社区的人默认wiki东西这么多你全部读完了(这怎么可能呢?最多都是按需取阅吧)如果你提出一些wiki里已经解答或者提到的问题,大概率社区会有人出来骂你。(当然,打个岔,还记得前面提到的“新生代”们吗?他们有些意外的措辞比较友善,可能顺手就给你指路了,对此我只能解释为小孩子比较善良)而其软件源准入呢,处于一种两极分化的情况。官方源(也就是你可以用pacman直接取用的)的准入门槛相对而言甚至比较独裁,目前Arch 仅有 64 名 Package Maintainer,而且只有这一小部分人可以去负责这些事务。但是AUR又是另一番景象,你想传就传,我都能传,你也能传。但是AUR目前就是这样的一种无政府主义的状态,我完全可以斩钉截铁的说就目前AUR上肯定躺着某些病毒和植入后门的东西,但是arch官方信任用户会“仔细的审核”PKGBUILD,甚至,pacman的依赖处理逻辑也只是传统的拓扑求解(基本上属于说话照做的类型),也是因为arch认为用户会处理好这些事务。但是,开发者的水平是层次不齐的(啊?我吗?)并且,aur本来就因为时效性问题和arch其秒级激进的滚动更新(我曾经在早上六点进行完全的系统更新,过了两个小时左右又来了几个包说推了更新)这两个灾难性因素,导致arch本质上非常容易出现致命级的依赖地狱。arch的用户基数可不少,能处理好这些关系的又有多少呢?pacman也不会帮你兜底(隔壁同样滚得挺快的opensuse tumbleweed会自动帮你创建快照,但是arch反正就是信任你,觉得这些问题你全部都可以处理,但是话又说回来真出了问题那就是你自己弄得不完善)所以说这又是一个多方面的社区政治影响发行哲学的例子。
回到那个问题,谁接受谁?首先你必须理解各个发行版其背后的逻辑。Debian和arch只是两个比较有代表性的例子。而,你弄懂了之后能不能接受它呢?如果你能接受,那就用吧,哪怕是捏着鼻子用。不能接受?那就格盘跑路。
最后,说一下我的结论。archlinux非常适合有上进心的初学者,因为我目前认为,暴露问题和解决问题就是一种最有效的学习途径。但是目前我本人依旧选择,Debian stable,因为我理解了其背后为了创造高超鲁棒性的逻辑之后我竟然萌生出了一些欣赏之情,虽然最后Debian一些主动安全的举措(比如默认不把你丢进wheel组)会在用户的使用侧产生一些令人啼笑皆非的效果,但是我还是选择继续使用,因为我目前并不想把太多的精力放在维修上。总的来说,我个人认为,你必须了解,感受,最后才是评判。如果你贸然的对某些哲学或者政治产出下的 结果进行盲目的抨击(如那些刻板印象中出现的情况),那我只能说,你未曾见证过Debian所见证的。