最近做一个项目,本想用开源软件做的,虽然我一直积极游说,但是几经周折后,最终还是放弃了。这次失败的尝试倒是使我深刻体会到许多企业不使用开源软件的某些原因了。这里我说的企业是指与IT、通讯、传媒关系不大的行业,广义上也可以包括许多政府机构。
不差钱
这个原因在私营企业可能不是主要的,但是在国有企业和政府机构却常常成为一个重要因素。虽然开源软件基本不需要花钱购买,但是由于认识上的差距,总觉得免费的东西是不好的,花钱买来的东西才是最好的,而且越贵越好,因此有时宁可花钱买一个心理上的安慰(有人说有个别机构甚至特意花钱买开源软件)。此外,反正花的不是自己的钱,完全不心疼。而且钱花得多,可以让领导认为这个项目非常重要,技术非常先进(其实未必),从而获得领导的赏识。
有人说,用开源软件就不好吃回扣了。其实虽然回扣这种事情时有发生,但是至少在我的经验看来,还不是普遍现象。另外一个原因就是体制的问题了,天价内存条这类事情的出现,撇开标价错误不谈,其实未必其中有人真的吃了回扣,而是现在的政府采购制度使然,许多国有企业也有自己类似的供应商制度。以我了解的某国有企业的供应商制度而言,购买任何东西,必须向在供应商名单内的企业购买,如果买的东西无法在名单内企业买的话,那么不仅仅要进行非常复杂的审批手续,而且还要通过名单中的供应商才能购买,并且要支付给该供应商一大笔费用(20%左右)。可想而知,供应商名单形成了一个半封闭的市场,在这个市场中的供应商都是各自商品的垄断者(基本上供应同类商品的供应商不太会超过3家),供应商们当然要哄抬物价,用比外部市场贵很多的价格卖,反正你只能买我的东西。而在这种体系下,缺乏技术实力的企业就不太会用开源的产品了。
没有技术实力
许多与IT、传媒、通信无关的企业,其在软件开方面缺乏技术人才,而开源软件常常需要做许多二次开发或维护,这些企业根本没有这个能力,或者即使有能力,但是因为这方面在企业中不是主要业务,常常不受重视,有软件开发技术的人才经常还要去做其他的许多工作,根本没有精力专门去开发。因此这类企业的模式常常是,对所用软件领域有一定了解的人确定好开发商,然后沟通需求,定下价格,订好合同,买进安装使用,企业的技术维护人员只是做一些简单的维护工作,较大的问题都要通过开发商来解决。
另一方面,如果使用开源软件,许多二次开发工作就需要找人帮助解决,而鉴于前面提到的经费使用问题,不仅手续异常繁琐,还要被供应商雁过拔毛,很难让企业的项目员工有足够的动力去做。
不安全
开源软件不安全是一个经常存在的认识误区。这主要是出于对开源软件的不了解造成的,这个问题其实反而是最容易解决的问题。只要有对开源了解比较清楚的人,把这个错误认识讲清楚,还是很容易被企业的领导认可的。
但是还有一个层面就是,许多开源软件可能没有商业公司来运营,如果进行二次开发的话往往只能找一些个人来做开发。而许多国有企业和政府机构对此会产生安全疑虑,生怕这种个人的开发者会不会窃取企业机密或政府机密,会让企业或政府机构感到对个人开发者缺乏约束力。
不用承担责任
不使用开源软件的另一个原因是,使用开源软件,如果出了问题责任就是自己的,但是如果从其他公司采购的,那么所有的责任就可以转嫁到那个公司上去了,恐怕这也是前面说道有企业宁可花钱买开源软件的一个原因了。总之,能不承担责任,就尽量不要去主动承担责任,这也是这类企业领导的信条。
—————————————————————————–
当然,真正不使用开源软件的原因,常常是上面几条的综合考虑的结果。,技术人员没有技术实力,没有时间精力去开发维护,领导不想承担不必要的责任,采购流程的制约,再加上不差钱,于是形成了与开源软件无缘的局面。