魔法大锅炉
——
封闭源码的原因
 
Eric Raymond (1999年六月)
[AKA]rover HansB iasc等翻译



6. 封闭源码的原因


  在给开放源码经营模式分类之前, 我们应该先大致地考虑一下封闭的代价.当我们封闭源码时,我们究竟在保护什么?


  比方说你雇了某人来编写和组织一个(不妨说)为你的生意专用的结算软件,那么和开放源码比起来,封闭源码一点也不会有助于解决问题. 如果你想封闭源码, 唯一合理的理由就是你想把这个软件卖给别人, 或者不让你的竞争者使用它.


  比较明显的原因是你在保护销售价值, 但是对95%的供内部使用的软件来说这没意义.那么封闭还有别的什么好处吗?


  第二个原因(保持竞争优势)还有待检验. 假如说你把那个结算软件开放源码了,它流行起来, 并且从社会上得到了改进. 现在, 你的竞争者也开始使用它了,他没有花开发费用就得到了好处, 而且影响了你的生意. 这是不是一种反对开放源码的理由呢?


  可能是--也可能不是. 真正的问题在于你从分散开发负担中得到的好处是否多于由那些不劳而获的人带来的竞争损失. 许多人倾向于为这类交易作苍白的辩解,方法是: (a)避而不谈从额外的开发帮助中得到的功能上的改进. (b) 不认为开发费用是降低了, 而是假定你无论如何也是要承担这些开发费用的, 所以把它们作为开放源码(如果你这么选择的话)的代价是错误的.


  还有别的许多封闭源码的根本就是荒谬的理由. 举例说, 你可能误以为封闭源码可以使你的商用系统更加安全, 不容易被破解或闯入. 如果是这样, 我建议你立刻找一个密码专家来诊断一下你的系统. 真正的猜疑心很重的人都知道不能相信封闭源码程序的安全性, 因为这是他们是从惨痛的教训中学到的.安全性是可靠性的一个方面; 只有那些被彻底检查过的算法和代码实现才可能被相信是安全的.