操作系统 安全目前是首要考虑的问题,而 Linux 是该讨论的重要组成部分。需要解决的问题之一是:我们如何确保向上游提交的补丁得到适当的审查?
Wolfram Sang 自 2008 年以来一直是一名 Linux 内核开发人员,并经常在世界各地的 Linux 会议上发表演讲,例如2016 年柏林 LinuxCon, 讨论改进内核开发实践的方法。
让我们听听他的观点。
2013 年,您在爱丁堡举行的 ELCE 会议上警告听众,如果情况没有改变,可能会出现子系统延迟和其他问题。情况有改变吗?您警告的一些事情最终发生了吗?
是的,在某种程度上。当然,Linux 内核是一个非常异构的项目,因此更受关注的子系统的情况略好一些。然而,有足够的子系统只是“拼图的一部分”,对于它们来说,延迟通常没有改善。
您指出审查员的数量是一个问题。您认为内核开发社区为什么没有足够的审查员?
其中一件事是有些人更喜欢实际编写代码,而不是阅读代码。这没关系。这只是表明并非每个人都是审查员,因此我们真的应该鼓励每个喜欢这样做的人。
我看到的另一件事是,当我们邀请人们加入我们的社区时,首先主要是关于贡献补丁。我认为这是很自然的,并且在最初贡献较少时效果很好。但是随着越来越多的人加入,尤其是公司,我们遇到了这个审查资源问题。不要误解我的意思,有这么多贡献真是太棒了!我认为我们现在需要指出,参与社区也意味着更多,例如承担一些责任作为下一步。这种情况在某些地方正在发生,但还不足以扩展。
您认为更多的审查员培训或激励审查会有帮助吗?
对我来说,一个关键点是公开承认存在问题。是的,到目前为止我们做得很好,但这并不意味着一切都很好。我们也有像这种可扩展性问题这样的问题。让人们知道,也许有些方面会感兴趣并加入。但我认为我们不需要特别的培训。我认识的大多数审查员都非常优秀或有才华,他们只是太少或时间太少。
您应该拥有的是这种内在动力。对于其余部分,在这一领域,边做边学效果很好。这是我喜欢指出的优势之一:审查补丁可以让你成为更好的程序员。
您认为,是否有大型、流行的项目在扩展方面做得非常出色,我们可以从中借鉴一些想法?
我不认识一个, 但如果有的话,我很乐意听到。
我非常关注 Linux 内核,所以这可能是明显的偏见。但是,在我看来,内核在规模、贡献数量和多样性方面确实很特殊。因此,虽然我认为借鉴其他项目以获得工作流程改进的灵感总是健康的,但我们目前的可扩展性问题非常独特。我发现研究内核中的其他子系统在做什么最有用。
您提到安全问题可能会出现。用户应该做些什么来避免或减轻安全问题的严重性?
今年我在柏林 LinuxCon 上的演讲 是针对开发层面的。安全隐患 可能来自未经适当审查就进入的补丁。我不希望用户处理这些问题,我宁愿这些问题永远不会发生。这永远不会完美,但这仍然是我解决问题的首选方式。
我想知道更广泛的社区如何提供帮助。您是否希望人们更频繁地提交某些类型的错误报告?是否有某些领域需要定期关注,但由于某种原因没有得到关注?
我们不缺少 错误报告。我更担心的是,审查员的短缺将导致更多由于不完整的补丁进入而导致的错误报告。因此,那时我们不仅要处理大量的贡献,还要处理更多的错误和回归。
您还有什么希望我们的读者了解您的工作吗?
考虑到 Linux 内核周围的所有特殊性,我经常提醒自己,归根结底,它只是代码。
2 条评论