Linux内核维护者这些事!你了解吗?
扫描二维码
随时随地手机看文章
Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。就目前而言windows仍然是最主流的系统,但最近的linux的势头也相当猛,很多人开始放弃windows转向使用Linux,Linux相对于window而言,运行也更快。Linux的内核也是有人在维护的,但是但你了解Linux的内核维护者的这些事吗?你对内核维护者又了解多少呢?
Linux的5.5内核的发布时间是2020年1月,到现在已经有近87,000个patch,来自于近4600名开发者,都被合并到mainline仓库中了。review所有这些patch的工作,对于愿意花时间的内核开发者来说也都是一项艰巨的任务,所以是否要接受合并patch,这个决定权就被委托给了各个子系统的维护者(maintainer)来代理决定,也就是说他们是相对独立的。他们每个人都对内核中这一部分的改动具有部分或者完整的决定权。这些维护者们就被记录在一个叫MAINTAINERS的文件中(当然是这个名字)。
在与 Dirk 的谈话中,Linus 认为 Linux 内核开发对大多数人来说是无聊的。“ 我说过内核很无聊,但我的意思是从某种意义上说,许多新技术应该比内核开发更有趣。但是对我和其他内核开发者来说,没有什么能够比与底层硬件交互的内核开发更有趣的了,因为这能真正控制所有将在计算机中发生的事情。所以内核对我来说并不是很无聊,但是我想大多数人应该会认为它们很无聊。”也就是说,他们做linux维护时非常无聊。
Linux内核维护时非常无聊的事情。但又必须有人来做。但是,MAINTAINERS文件也需要维护,它能很好地反映现实情况吗?MAINTAINERS文件的存在目的,并不仅仅是为了让大家给维护者点赞。开发者们需要用它来确定该把patch发到哪里。get_maintainer.pl脚本通过查看这个patch修改了的文件,就可以生成一系列邮件地址来发送patch,从而让这一过程变得更加自动化。如果这个文件中有错误信息的话,就可能会让patch发送到错误的地方去,所以我们需要这个文件能保持更新。最近,编者收到JakubKicinski的建议,他认为可以比较一下MAINTAINERS中的各个条目和现实世界中的工作的吻合程度,应该能得到一些线索。于是折腾了一会儿Python之后,我们就得到了一个新的分析脚本。
Linux之父Linus 在采访时透露“我们确实有不少编写代码的人,但缺少维护者。” 在 Linus 看来,Linux 内核项目未来交接的难点在于寻找一个自己的继任者。“ 事实证明,我们现在很难找到合格的新维护者。所以成为内核维护者的要求时非常严苛的,因为成为内核维护者,你必须一直存在,这意味着你每天都要在电脑前阅读来自全球各地的电子邮件,对邮件做出反应,就像我这 30 年来做的一样,从不间断。我们现在很难找到真正看待他人代码,并在上游严格把关每一个提交,判断它们能否合并到我们的主干代码上的人。这是我们面临的最主要的问题。” Linus 说。
当你成为linux维护者的时候,你需要遵循贡献者契约行为准则 ,准则是一个通用文档,旨在为几乎所有开源社区提供一套规则。 每个开源社区都是独一无二的,Linux内核也不例外。因此,本文描述了Linux内核社区中 如何解释它。我们也不希望这种解释随着时间的推移是静态的,并将根据需要进行调整。
Windows有微软的员工去维护,我个人认为,linux在将来必将超过window,成为最通用的系统,因为他的便捷性,开源性,成为内核维护者很难,要求很高,但是不代表不可能。正是因为这个难度,才能使linux成为真正好的系统。此前也有很多大牛,从windows转向了linux系统,所以它的前景一片光明。
Linux还有很多可以讲的东西,这里就不再赘述。有兴趣的可以持续关注21ic电子网,持续关注小编。