如何惹惱你的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在完整棧中改變各層的能力,而不是僅僅複製傳統發行版的現狀。儘管觀點有爭議,作者希望讀者仍能保持友誼。