技术开发 频道

部署开源软件小心绊脚石

  【IT168 评论】王经理是在一家大公司的CIO。他所在的部门最早使用开源软件并不是想省钱,或者说省钱并不是最重要的。与成本的节省相比,他更看重开源软件能让他把IT系统快速部署到位。根据他所在的公司采购惯例,采购一套商业软件一般需要6个月到一年,这么长的时间他实在等不及。而采用开源软件,技术力量到位的话通常几个月就能搞定。由于不用与软件供应商商谈合同,整个项目进展变得可控得多。王经理看好开源软件,下一步计划把公司的业务系统从目前的Unix迁移到Linux,不过这次主要原因则是节省成本,因为成本可能会降低一半或者更多。

  实际上,根据Gartner所做的市场调查,尽管80%的企业部署开源软件的首要原因仍然是节省成本,但是像王经理这样看重开源软件其他方面的优势企业越来越多。调查报告说,过去10年开源软件已经走出技术爱好者的社区,成为一个数十亿美元的大市场。然而,报告提醒说,过于看重开源软件在节省成本上的作用,可能会导致忽视开源软件其他优点,同时也可能忽视部署开源软件面临的挑战,包括文化的改变、治理机制的建立等,最后导致成本的居高不下。

  开源也可能有许可费

  导致开源软件部署成本比预期高的一个主要原因是,企业没有用开源软件的社区版,而是购买开源软件的授权许可。一些开源软件供应商(如Rat hat)采用“双许可”的商业模式,也就是如果客户购买许可,可以得到该厂商的技术团队的支持和其他一些高级的功能,例如管理工具。

  Gartner的分析师Mark Driver说,今天绝大多数开源软件供应商采用的都是“双许可”的经营模式。因此,用户应该知道这里可能存在的问题。尽管开源软件的许可费用可能比纯商 业软件的许可费便宜,但是,它们中所包含的条款和限制,可能会把你锁定到某个厂商的产品上。“从某种程度上说这是倒退,除了节省成本以外,用户选择开源软 件原本就是为了避免这些问题。”

  一般来说,大型企业如果有很强的技术力量,应该可以采用免费的社区版,但是,由于厂商的宣传,或者图省事就与厂商签订了一份服务级别协议,最后很多 企业最后实际上还是购买了开源软件的许可证。

  当然,并不能完全否认购买许可证的这种开源软件使用方式就不好,必须视具体情况而定。购买许可证的确可以给用户带来很多方便,比如,有了问题可以直 接找供应商提供帮助。另外,尽管要支付软件许可,但仍然可能带来成本上的节约,至少与部署商业相比。

  谁提供技术支持

  开源软件最大的特点是可以从开源社区免费获得技术上的支持,特别是对于一些非常成熟、使用非常广泛的软件,如Linux、Apache等。不过,选择仅仅依赖开源社区来进行技术支持,而没有与服务商签订一份服务合同是有风险的。

  “人们通过开源社区可以找到大部分故障的解决办法,有时到达90%,但是对于一些关键的应用可能恰恰就是剩下的10%可能是致命 的。”Gartner的Driver说。

  了解这种灾难性的故障可能给业务带来后果非常重要,同时也要针对这种故障做好业务连续性保障方案。为了降低企业可能面临的风险,你在选择软件时就必须考虑它的成熟度以保证你能从该软件的社区得到足够的技术支持,或者你选择给第三方的服务商支付一定费用,让它们为你提供技术支持。

  “如果你没有签订服务级别协议、合同或者担保,你就只能自己承担所有的技术支持。”Driver说,“如果你有足够的技术力量,这当然不是问题,反而让你有足够的自主权。而一旦你没有足够的技术力量,你无疑把企业置于非常危险的境地。”

  治理机制需跟上

  业内专家建议,正在认证考虑准备部署开源软件的组织需要制定相关的制度,来监控和管理开源软件的使用。Gartner的Driver估计,采用了开 源的企业中仅有20%的企业制定了相关的制度,建立了相应的治理机制。根据美国《计算机世界》的调查,大多数企业并没有对投资回报率(ROI)进行准确的测算。这种冒险也可能导致无法预测的成本,例如,虽然你认为通过部署开源软件得到了很多好处,但是,由于没有进行测算,也没有成本的认真比较,这一切很可 能都是只是你的感觉,是你想象的,实际并不是如此。

  “人们可能得到的是一个不太好的ROI,但却固执地认为是一个满意的ROI。因为此时的投入从投资性的支出变成了运营性支出,而运营型的支出不太明显,容易忽视。”他说完全可能出现如下情形,因为使用开源软件而多每周多花8-10个小时用于对软件升级、测试和打补丁,在购买软件许可证上节省下来的钱 可能根本就不够支付因此而多投入的员工工资。

  而有些时候,公司是实实在在地节约的成本,但无法拿出证明来。“尽可能发挥开源软件的优势而降低开源软件的不利影响的关键就是治理。”Driver 表示,“没有治理,你就像是在黑暗中射箭。”

  前面提到的王经理就对新旧系统的成本、性能进行了一次直接的对比,才真正认识到开源软件带来的成本优势。他提醒说,进行明确测试的办法、进行认真的测试也是需要投入资源的。

  法律问题也是部署开源软件尤其值得关心的,即使你只准备在企业内部使用开源软件,也有必要告知公司的法务部门,至少让他们知道这种软件存在的各种授 权许可方式。“有些开源软件的授权许可条款变化很快、变化也很大。”Driver说,“我们总不希望因为自己的开源解决方案因触犯了别人的知识产权而有一 天会收到律师函。”

  要求足够的技术力量

  如上所述,节省成本仍然是选择开源软件的最主要原因。但是,调查还发现,一旦企业真正部署开源软件后,给他们影响最深的往往就不再是节省成本了。其中,不少企业反映,最让他们感兴趣的是开源软件的灵活性。

  “在金融危机尚未彻底结束之际,企业尤其关注如果让有限的资金发挥出最大的作用,而开源软件的确成本低,同时由于能提供源代码,只要企业有一定的技术力量完全可以根据自己的需要定制,增减功能都非常灵活。”Driver说。

  不过开源软件这种灵活的定制能力是基于公司有足够的技术力量这个前提的。换句话说,就是公司必须有一些对开源软件和技术非常了解技术人员。尽管也的确有很多开发者愿意参加开源项目中,但这个领域的专家工资很高却是不争的事实。

  有些采用一些特殊的办法来规避开源人才的高成本,比如可以请一些在校大学生参与到开源项目,同时请也开源领域的技术专家进行指导。通常,学生们是非 常乐意参加开源项目,因为这可以大大提升自己的技能。

  除此之外,需要从企业文化上进行调整,也是开源项目遇到的挑战之一。与前面的问题相比,这个问题可能更难。因为文化上的改变是一个渐进的过程,不能 要求在一夜之间发生。“在我们迁移到新的平台,采用新的标准时,我们必须考虑使用者的接受程度。”Driver说,“因为转到开源平台意味着传统的哪些解 决问题的思路发生了变化。因此,相对而言,在那些比较看重胆识和创新的组织,接受开源软件更容易些。”

0
相关文章