当公开胜于灾难

美国有线电视新闻网 (CNN) 刚刚报道称,美国宇航局 (NASA) 拒绝公开航空安全数据。主题段概括了报告的事实

美国宇航局 (NASA) 急于避免让航空旅客感到不安,因此隐瞒了一项前所未有的全国飞行员调查结果,该调查发现,近距离碰撞和跑道干扰等安全问题发生的频率远高于政府先前认识到的水平。

这与开源软件有什么关系?

在我的软件开发生涯早期,我了解到软件行业一个令人震惊的真相:大多数软件都很糟糕。到现在,这个启示已经不足为奇了——我们变得如此接受糟糕的软件,以至于当软件不糟糕时我们会感到惊讶。据我的估计,所有这些糟糕软件的成本每年高达 3860 亿美元,而且如果我的董事会成员 Matt Asay 的数字可信,那么每年可能浪费 1 万亿美元。

对于这么多人长期容忍如此多糟糕软件的一个可能解释是,公司倾向于将他们的失败保密。当喷气式飞机坠毁并造成人员死亡时,要隐瞒这个事实非常困难:新闻会被报道,信息会被公开,调查会进行,最终会提交报告。但是当应用程序崩溃时,谁来提交报告?谁有权阅读这些报告?不是普通大众。而这种缺乏透明度导致了自满情绪,从而导致各种持续存在的问题。

如果航空公司不安全,我想知道。我宁愿不要因为他们不告诉我们而感到虚假的安全感。
&#8212众议员布拉德·米勒 (D-NC) 在 CNN 报道中引用

我们虚假的软件安全感让我们付出了什么代价?我们如何才能知道我们正在使用的软件是否在使用我们?我认为开源如此重要的原因之一是,透明度是解决糟糕软件的伟大补救措施之一。它在主题上投射了足够的光,以至于人们可以尖叫着逃离真正糟糕的软件。而且人们可以介入并修复只是稍微糟糕的软件。这或许可以解释为什么 Coverity 发现,与专有软件的平均缺陷密度相比,32 个广泛使用的开源项目的缺陷率仅为 1/50 到 1/150。

美国宇航局 (NASA) 花费 850 万美元采访 24,000 名商业和通用航空飞行员的全部原因是为了将航空死亡率降低 80%。根据 CNN 的报道,这个目标尚未实现,而且通过不将数据提交给公众审查,我怀疑这个目标能否实现。正如布拉德·米勒在给美国宇航局局长迈克尔·格里芬的信中写道:“这些数据似乎对航空安全具有巨大的价值,但如果只是放在美国宇航局的架子上就没用了。”

开源模式已被证明是解决困扰传统软件市场的各种问题的绝佳补救措施。将自己的代码提交到这样的审查需要很大的勇气,但考虑到其他替代方案,这是值得的。