世界是在自由和开源软件(简称FOSS)的基础上运行的,在某种程度上,它可以预见地渗透到世界上任何地方的任何基于软件的产品中。
为什么不喜欢自由/开源软件呢?随时可以运行的源代码,随时可以下载,无需支付许可证费用—只需获取并运行即可。许可证中可能有一些需要遵守的细则,但没有太繁琐或负担。
我认为你在这篇有趣的文章中忽略了一个重要的点。不,我不可能暗示你对这个主题不够了解。但是对于像OpenSSL这样被广泛广泛使用的基础设施,其他公司雇佣了许多人来查看代码。这远远超过了你所说的“一年20小时”。当然,他们可能会寻求增强,很少有人会做艰苦的工作,每次提交都用放大镜观察,试图找出错误的交互,因为是错误的交互导致了这个重要的bug。
OpenSSL确实承担了依赖如此多遗留代码的额外负担。OpenBSD团队在开始LibReSSL项目时所做的注释非常清楚地说明了大量的#ifdefs,这些#ifdefs针对的是早已消亡的架构,这是一种非常意大利面式的编码方式……使审计代码成为一项非常困难的任务。
然而,我确实把《Heartbleed》的反响视为自由/开源软件开发模式非常有效的证明。当然,在每一种项目中都会出现严重的错误。但是自由/开源软件社区(从不同的“角度”)回答的方式是最负责任的、快速的,并导致了对不同项目的重要质疑和重做,从而全面提高了代码质量。
“但是对于像OpenSSL这样被广泛广泛使用的基础设施,其他公司雇佣的很多人都在研究代码。”
有吗?
我个人对此表示怀疑,因为与我交谈过的所有看过OpenSSL源代码的人的普遍反应都是想找点别的事情做,赶紧发布。
但假设你是对的:他们只是看着代码,可能摇头怀疑,或者他们有(重要的!)时间,意愿和技能来改进它吗?
如果他们这样做了,他们是否获得了OpenSSL版本控制系统的承诺特权,或者当他们的补丁提交到OpenSSL项目时,是否会被接受,或者它们会在漏洞追踪器中消失,以及多年来发送到OpenSSL项目的几乎所有其他内容?
我同意你所说的“自由/开源软件开发模式非常好”,但是自由/开源软件的“维护”模式根本行不通。
显示所有2评论