如何惹恼你的Nix朋友
本文作者以挑衅性的口吻分享了一系列关于Nix和NixOS社区的有争议观点,包括Nix虽然优秀但存在文档差、学习曲线陡等问题,并非适合所有人;社区中存在的反美情绪;AI工具在Nix生态中的价值;对BDFL模式的肯定;建议放弃macOS和Windows支持;对Flakes的保留态度;以及提倡使用单用户安装。作者认为Nix潜力巨大,但应聚焦于Linux平台和核心功能。
Nix和NixOS近年来获得了大量关注,但社区内部也存在不少争议。本文作者Farid Zakaria以幽默的方式抛出了一系列可能激怒Nix社区的观点,试图引发更深入的讨论。
首先,作者承认Nix是一个“天才且深陷缺陷”的项目。它的文档糟糕(尽管在改进),语言对于许多开发者来说难以阅读,而且治理变革也带来了成长中的阵痛。但作者强调,指出这些缺点并不意味着否定Nix的价值,相反,他认为Nix仍然是近十年来业界最好的想法之一。
其次,作者认为Nix并不适合所有人。尽管社区中许多人相信只要改善文档和入门体验,NixOS就能普及到每个人,但作者指出,Nix本质上是一个“动力工具”,有其学习曲线,甚至可能带来风险。他本人也在使用非NixOS的Linux机器,并认为它已经足够好。他认为对大规模采用的痴迷扭曲了优先事项,稀释了Nix的可能性。
第三,作者提到社区中存在反美情绪。Nix起源于欧洲,社区也以欧洲人居多。美国人和欧洲人在文化价值观上存在差异,美国的企业文化和军事背景在社区中往往被视为可疑。作者认为这种氛围导致了一种“纯洁性测试”,使得美国用户或公司的立场从一开始就受到质疑。
在AI方面,作者明确表示支持。他认为AI工具对Nix生态极为有用,他自己通过LLM解决了许多困扰已久的系统问题,甚至编写了一些一次性工具并安全地纳入配置。然而,社区中有一批人将AI输出视为技术上不可靠甚至道德上有问题。作者引用Linus Torvalds的观点,强调AI只是工具。
关于治理模式,作者认为BDFL(终身仁慈独裁者)模式被低估了。尽管民主进程很好,但软件项目最初源自某人的愿景。Eelco在2003年创立Nix,直到2015年才成立基金会。作者认为一个明确的愿景(即使你不同意)是令人耳目一新的,而设计委员会往往导致僵局。
作者强烈建议放弃对macOS和Windows的支持。他认为将精力花在让Nix在macOS上运行是对Linux上卓越体验的浪费。他建议早期职业开发者使用Linux机器,因为这是加速职业发展的最有效方法。对于Nix来说,Darwin支持是一个无底洞,封闭的工具链和不断变化的SDK与Nix的理念背道而驰。
对于Flakes,作者持保留态度。尽管他默认使用,但他认为Flakes并没有带来比npins或niv更多的好处。他感觉评估速度变慢,而且需要各种技巧让flake互相跟随,这违背了隔离的初衷。
最后,作者提倡单用户安装。他认为多用户安装对于共享构建农场是正确的,但对于大多数个人电脑来说过于复杂。单用户安装更简单,易于操作和调试。
作者总结道,Nix具有巨大的潜力,但当前因为要兼容多种平台和吸引新手而限制了自己的可能性。他呼吁社区“想得更大”,充分利用Nix在完整栈中改变各层的能力,而不是仅仅复制传统发行版的现状。尽管观点有争议,作者希望读者仍能保持友谊。