教堂和市集的区别是显而易见的。任何进入教堂的人都会注意自己的形象,而去逛市集却不必在意外表。

    在软件行业也是如此,商业软件就是大教堂,而开源软件就是市集。教堂不能随便进,基督教有基督教的教堂,伊斯兰教有伊斯兰教的清真寺,佛教有庙宇v......不一而足。信哪个教进哪个教的教堂,这个是千万不能乱进的。比如你家要装修,你有两个选择:一是找专业的装修公司,他们会负责从设计到施工的全部工序,装修材料你也不用操心,而且有一定的质量保障,当然你要多破费一些金钱;二是找包工头,他不会为你设计,你得自己告诉他这里要用什么材料,那里要用什么材料,你还要为这些材料操心,但你也有收获,那就是经验以及充分的自由度和较少的金钱花费。那么你要选择哪个呢?

    我也曾经问自己,到底是投入商业软件的怀抱还是开源软件?最后我发现,我不能把它们割裂开来。我既需要商业软件,也需要开源软件,就象我们同时需要教堂和市集一样。我需要在关键业务上使用商业软件,因为我需要一定的安全保障来保证在业务系统出现问题的时候能有人及时地解决我的问题;我需要有人为我的应用负责,一旦由于软件自身的问题导致业务数据丢失而影响到我的业务,得有人为我的损失埋单;我需要有规律的定期升级我的系统来适应业务的发展,并且这种升级能保证一定的连续性和相关的兼容性,而我愿意为这种升级埋单。

    我也需要开源软件。当你发现没有哪个商业软件能满足你的个性癖好的时候——要么功能太过复杂,有些功能我一辈子也不会用到,而我要为这些功能埋单;要么就是功能太过简单,无法满足你的要求,而等着厂商去完善和升级又不知道要到哪天;这时我选择开源软件。她对你完全公开,没有秘密,你可以自由去定制你的应用;她有良好的伸缩性,可以很简单也可以很复杂;你不必坐等着她升级,如果你认为她好用,你完全可以自己去修改她,并把你的修改分享给其他人。

    所以,祈祷的时候我们要去教堂,而买菜的时候要去市集。它们是我们生活中的组成元素,任何一方都无法代替另一方的功能,它们缺一不可!所以,商业与开源之争最后的归宿就是融合!