编译|苏宓
出品|CSDN(ID:CSDNnews)
以下为MariusBakke的分享正文:
有几个同事和家人曾问过我,“为什么你要花那么多的空闲时间去开发Guix?”
当时,我随口敷衍了一下,仍然没有一个挺好的答案。当时间来到十年后的明天,我才总算明白,自己为何要如此坚持Guix这条路。在此,也想与更多的人分享参与Guix开发背后的秘密,于是便有了这篇文章。
首先,参与的过程很有趣。作为一名开发者,才能开发一款自己的操作系统,包含设计、开发方法、内部工作原理到用户界面,我都可以根据自己的看法去实现它,这十分有趣。
其次,这项开发工作也十分有意义。其实近日,我没有像想像中那样全身心地扑在补丁、跟踪器开发上,而且我持续地帮助了一些新的贡献者从初学者逐渐成长为专业人士,整个过程十分有成就感。据悉,进行大规模的技术迁移(如切换到一个新的C语言编译器或则Python版本的升级)也是一种多巴胺的剌激(这种觉得像是上瘾了,而不是单纯的一种爱好,但还是很有意义的)。
随即,这项工作觉得很重要。Guix在操作系统“市场”中抢占了一个服务不足的利基市场(又称之为冷门市场,是指由已有市场占有率绝对优势的企业所忽视之个别细分市场,而且在此市场仍未建立供应服务)。简单来看,Guix为每位软件包和每一代操作系统生成提供了完全可重复性、透明度和来源的软件包。它还集成了一种简约的脚本语言,开发者们可以把任何软件包串成一个确定性的脚本。把它想像成一个shell脚本,其中每位命令都是由软件包管理器按需延后实例化的。你甚至不须要使用Scheme,你可以用自己喜欢的语言编撰,并通过guixshell运行,得到同样的确定性保证。假如你注意到Guix的修订版(由guixdescribe给出),你可以使用guixtime-machine将来一点一点地再现完全相同的环境(起码在理论上可以这么:)。
Guix是纯粹的。令人耳目一新的是,我可以采用任何软件包并重新使用其源代码来实现自己的目的linux启动盘制作工具,而毋须害怕商业限制或再分发。令人惊讶的是,所有的软件包都是引导性的,而不是一些随机的二补码代码。Guix也特别容易受到黑客功击,例如通过创建一个通道()或在操作系统配置中直接"内联",可以很容易地添加额外的软件包或服务,而无需递交它们。
但最最重要的是,Guix救过我的命。当我第一次开始为Guix做贡献时,我没有任何生活的方向,没有任何目标和归属感。在此之前,我早已使用GNU/Linux许久了,是Debian、Gentoo和NixOS的"中级用户",但没有对任何一个系统有过太多的贡献,要么是由于打包工作太多,要么是我不喜欢这个社区,要么是我认为打包标准"太低"。在Guix,我总算有了家的觉得,它满足了所有的需求,使用这些语言是一种工作的乐趣(虽然一开始觉得很奇怪),但是它也急切须要开发人员。
我晓得有些人会对我有些沮丧,由于我优先考虑的是一个爱好,而不是先完成一件"正常"的事情,例如追逐一个令人激动的职业或强化我的社交网路。但若果没有Guix,我始终会是一个有问题的糊涂酒鬼,在他人的椅子上睡着。如今我在Guix工作的时间比我做任何工作的时间都长,我总算觉得到了生活的稳定,也有了探求其他创造性出路的心愿操作系统linux是什么意思,如写博客、烹饪、种植食物以及攀岩和滑冰等健康活动。
若果没有Guixlinux操作系统安装,以及我的同事和家人的支持(时常是不甘愿的)操作系统linux是什么意思,这种都是不可能的。所以,感谢大家。这不是一无所获。恰恰相反。