操作系统安全是当前最重要的事情,Linux是一个主要话题。第一个要解决的问题是:我们如何知道上游提交的补丁已经过代码审查?WolframSang自2008年以来一直是Linux内核开发者,他经常在世界各地举行的Linux峰会上发表演讲,例如AttheLinuxSummitBerlin2016,他就如何改进内核开发实践发表了自己的想法。我们来看看他的观点。2013年,您警告爱丁堡的ELCE委员会,如果不做出改变,子系统的潜在问题和其他有争议的问题将会升级。他们做出改变了吗?你提到的事件发生了吗?是的,在某种程度上。当然,Linux内核是一个包含很多部分的工程,所以应该把对Linux各个子系统的更多关注放在更重要的位置。然而,有如此多的子系统“只是拼图的一部分”,以至于这些子系统的潜在问题常常没有得到解决。您已经指出代码审查人员的数量是一个大问题。为什么您认为Linux内核开发社区中没有足够的代码审阅者?原因之一是大多数开发人员实际上是在编写代码,但很少阅读代码。这没什么不对,但它表明并不是每个人都是代码审查者,所以我们真的应该鼓励每个人都进行代码审查。我看到的另一件事是,当我们要求人们加入我们的社区时,最重要的衡量标准是补丁贡献的数量。就个人而言,我认为这是正常的,并且在初始总贡献较小时是一种很好的做法。但是随着越来越多的人,尤其是公司加入,我们遇到了源代码审查的问题。但是不要误会我的意思,有相当数量的贡献是很棒的。但目前需要指出的是,参与社区还有更多的内涵,比如如何为下一步的发展负责。有些部分正在改进,但还不够。您认为更多的代码审查员培训或审查激励措施会有帮助吗?我主要想指出的是,今天仍然存在问题。是的,到目前为止我们做得很好,但这并不意味着我们都做得很好。我们也有类似的缩放问题。让人们知道事实是希望能引起一些群体的兴趣和参与。虽然,我认为我们不需要特殊训练。我认识的一些codereviewer确实很优秀或者很有天赋,但是他们太少或者空闲时间太少。首先,你要有这种内在动力。至于其他的,边学边做是非常好的。这又是我要指出的优点之一:审查补丁可以让你成为更好的代码开发人员。在您看来,有没有这样一个火爆的大项目,在拓展方面做得很好,值得我们借鉴?我真的不知道有这样的项目,如果有,请随意学习。我非常喜欢Linux内核,所以可能会有一些偏见。然而,在我看来,Linux内核项目在规模、贡献数量和多样性方面确实很特别。因此,虽然我经常从另一个项目中寻找灵感来改进工作流程,但我们的扩展问题现在确实很独特。而且我发现这是查看内核中其他子系统正在做什么的好方法。您曾经说过,安全问题是我们每个人都应该思考的问题,那么用户应该怎么做才能避免或改善安全问题的危害呢?我在今年(2016年)柏林Linux峰会上的演讲针对的是开发层面。安全风险可能来自未经过适当审查的补丁。我不希望用户自己解决这类问题,希望这些安全问题永远不要出现。当然这是不可能的,但它仍然是我处理问题的首选方式。我很好奇这个庞大的社区如何改善这些问题。您是否希望用户定期提交某些类型的错误报告?需要定期检查但由于某种原因被忽视的区域?我们不乏错误报告。我担心的是:由于缺少代码审阅者而导致补丁不完整导致更多错误报告。所以,你不仅要处理很多贡献,还需要处理更多的bug或者回滚版本。您是否希望我们的读者了解其他任何内容以了解您正在尝试做的事情?我经常牢记的Linux内核的独特之处在于,在引擎盖下它只是代码。
