[控场AI]
· 4 分钟阅读· 2,382 字

Fedora开发者:没人认真考虑Rust版核心工具替代品

Fedora开发者:没人认真考虑Rust版核心工具替代品

Fedora资深开发者批评Rust版sudo和coreutils克隆品不可行,主张审慎替换。

文章围绕一位Fedora资深开发者对Rust重写核心工具链(sudo-rs、uutils)的公开批评展开。他认为这些克隆品存在故意破坏、兼容性不连贯和长期未修复的问题,因此没人会认真考虑用它们替换成熟工具。文章对比了Ubuntu在工具未成熟时强制推送Rust版本的做法,以及Fedora因承担RHEL上游角色而保持的审慎态度。批评聚焦项目质量而非Rust语言本身,并提及uutils从GPL转向MIT引发的社区顾虑。作者最后追问替换的收益:在缺乏性能提升和新功能的情况下,强制替换只是无补偿的倒退。

一场关于Rust克隆工具的公开表态

一位在Fedora项目深耕数十年的资深开发者,近日对Rust重写的核心工具链(包括sudo-rs和uutils)发表了明确看法:没人会认真考虑用这些Rust克隆品替换现有的成熟工具。这一表态源自他对sudo-rs项目长期积累问题的直接回应,也折射出Linux发行版在技术选型上的深层分歧。

I wanted to call this out because I have many criticisms of Fedora.

这位开发者的原话相当直白:sudo-rs项目在多个层面上都令人困扰,项目本身可能永远无法修复,而Fedora之所以考虑切换,恰恰是因为它与FreeIPA和SSSD的sudo集成完全不相兼容。他进一步指出,无论是uutils还是sudo-rs,都因为“故意的破坏”和“不连贯的兼容性问题”而成为不可行的选项。

sudo-rs 是用 Rust 重写的 sudo 实现,属于 Prossimo 等内存安全倡议推动的项目;uutils 则是以 Rust 重写 GNU coreutils 的项目,目标是在命令行行为上兼容原版。两者的共同定位是“直接替换”(drop-in replacement),而非另起炉灶的新工具。正因如此,它们必须首先在参数解析、错误信息、权限语义、边界行为上与原版保持一致,任何偏差都会影响脚本、打包系统和运维流程。这也是文中“克隆本身都未完成”这一批评的技术前提。

Ubuntu的激进与Fedora的审慎

这一立场与Ubuntu的做法形成了鲜明对比。Ubuntu在Rust克隆工具尚未成熟时就强制推送了sudo和coreutils的Rust版本,当时这些工具还充斥着bug,并非真正的直接替代品,给用户造成了大量麻烦。

据该开发者分析,Ubuntu的做法相当于主动选择更差的软件——功能更少、没有新增特性,却要让所有人的工作变得更困难。从工程角度看,这甚至会让Ubuntu自己的维护工作更加复杂,因为支持这些不成熟的克隆品需要额外投入。

Fedora的审慎态度则有其现实背景:作为Red Hat Enterprise Linux的上游测试和构建基地,Fedora必须维持一定程度的向后兼容性。在这种定位下,贸然替换核心系统工具意味着主动引入不可控的风险。

It was nice to see this sort of reasonableness.

FreeIPA 是集成身份管理方案,SSSD 是负责在 Linux 客户端上对接多种身份与认证后端(包括 LDAP、Kerberos、FreeIPA)的系统守护进程。sudo 策略可以由这些系统集中下发和管理,而 sudo 自身的插件与配置接口需要与之配合。若替代实现在这类集成接口上不兼容,受影响的就不只是单机 sudo 用法,而是企业环境中集中授权的整条链路,这正是 Fedora 作为 RHEL 上游必须谨慎对待的部分。

技术选型不应被语言偏好裹挟

值得留意的是,这位开发者的批评完全围绕项目质量展开,而非针对Rust语言本身。他没有说“Rust不好所以不用”,而是指出具体的工程问题:bug、不连贯的兼容性、故意的破坏性变更。

其中特别提到的一点是许可证变更问题。uutils从GPL项目转向MIT许可证,这在社区中引发了强烈不满,该开发者本人也明确表示这对他没有吸引力。

这种就事论事的工程判断,在当下Rust重构浪潮中显得尤为难得。视频作者也坦言,自己对Fedora及其背后的Red Hat有诸多批评,但这次的表态确实“合理得令人欣慰”。

Or at least that you really want.

GPL 与 MIT 在系统工具上的差异不只在条款宽松程度。GPL 要求分发衍生作品时以相同许可开放源码,这常被视为对下游厂商形成“回馈”约束;MIT 则允许闭源再分发。核心工具从 GPL 转向 MIT,会改变厂商基于这些工具构建产品的义务边界,因此社区对 uutils 的许可证变更敏感,本质上是担心生态治理与贡献回流的激励机制被削弱,而不只是许可证文本之争。

替换的收益在哪里?

视频作者提出了一个尖锐的问题:如果Rust克隆工具能带来可测量的速度提升、众人期待的新功能,那么权衡取舍尚可理解。但现实是,这些项目定位为直接克隆,却连克隆本身都未完成,却在破坏现有生态。

没有新功能、没有显著性能优势、没有用户体验改善——在这样的前提下强制替换,本质上是用更差的软件替换好软件,且没有任何补偿性收益。这不是产品选择,而是纯粹的倒退。

This isn't an official statement, but it is a very long time Fedora developer.

对发行版生态的启示

需要说明的是,这并非Fedora的官方声明,而是一位高知名度长期开发者的个人观点。但其分量不容忽视——它代表了企业级Linux发行版对稳定性优先原则的坚守。

视频作者在结尾表达了谨慎的乐观:如果更多发行版能回归这种以工程合理性为核心的决策方式,而非被技术潮流裹挟,Linux生态或许能少走一些弯路。对于需要在生产环境中维持可靠性的系统而言,这种“合理性”本身就是一种宝贵的品质。

#Fedora#Rust#sudo-rs#uutils#Linux发行版#Ubuntu#核心工具
分享:

相关推荐