开源项目应该如何来实施?
开源解决方案在免去了昂贵的软件采购成本的同时,也缺少了提供商的技术保障,这时的用户该依靠谁来确保开源软件顺畅运行呢?
从多个方面来看,商用软件都价格不菲。而今,似乎嫌高昂的许可费还不够吓人,开发商只对它答应卖给你的产品提供服务支持,而且支持费用很难有讨价还价的余地。除非你能获得源代码,否则你永远无法自己修正软件错误――但软件开发商通常不会提供这些源代码。
那么,我们该如何摆脱依赖于开发商的窘境呢?一种流行的选择就是使用开源方案。这种非专有软件具有诸多重大优点。比如,它是免费的,或者至少不需要什么许可费。此外,谁都能获得其源代码。结果出现了一批新的支持服务提供商,数量还在稳步增长。
虽然企业仍处在采用开源的早期阶段,但这类软件越来越为人们所接受。据Forrester研究公司在____年对北美100多位IT决策者进行的调查表明,____年采用开源的公司多达56%,____年只有46%。调查进一步发现,另外近20%的公司打算在当年使用开源软件,而前一年只有14%。另外据Gartner公司的一份独立研究报告表明,全球____家组织当中有95%将在____年前实施开源软件购置及管理策略。
诚然,有些公司开放软件的源代码,只不过借机营造声势,但不可否认,有关开放源代码的经营模式在日趋成熟,早期的几位开拓者已经发展壮大,为软件行业的发展真正带来了革命。虽然如今对开放源代码保持合理的怀疑是合乎常情的、甚至是明智的,但在几年后,开放源代码经营模式也许会真正成为标准而不是例外。
尽管开源软件非常流行,但不是每项开源计划都是从管理层开始施行的。在许多组织,软件开发队伍是在独立于CIO及其他IT领导人的情况下采用开源计划的,而且往往后者并不知情。有鉴于此,CIO们不要逆开源潮流而行。恰恰相反,他们应当肩负开源计划的责任,并且确保本公司已经落实了合理的支持结构。
没有免费的午餐
为什么软件提供商会开发源代码,像IBM或者Oracle这些公司到底有没有能力免费赠送软件?回答很简单:它们其实没有这能力――至少从一个比较高的层次上看是这样。
由于许多原因,传统的套装软件拆封许可模式并不适合企业软件:IT基础设施变得更庞大、更复杂,按用户数量或者按CPU数量计费的许可模式变得越来越难以管理,深奥、复杂的定价
公式导致费用结构无法准确体现软件的实际功用,更不用说会促使感到困惑的财务总监们挖空心思,想出种种新颖的记账手法。
开源项目由于这些原因,Sun等一些公司已经做出了新的选择:弃用套装软件的拆封许可模式,改用纯粹的订购定价模式:软件本身是免费的,客户需要花钱购买日常支持、维护及集成帮助等服务。
怀疑者可能会说,这只是另一种好莱坞式的记账方法,装模作样而已。确实如此,从长远来看,免去特定的许可费用未必意味着客户会节省任何费用。
值得一提的是,已决定采用基于订购的定价模式的公司离按服务收费只有一步之遥了。订购-支持软件模式就是开放源代码软件模式,剩下的就是开放代码――这正是Sun等公司正在做的事情。包括MySQL、AB和RedHat在内的公司通过对免费软件的企业级支持来收取费用,在生意上大获成功。随着这类新兴公司不断发展、壮大,专有软件开发商们肯定会问自己:控制源代码带来的商业利益是不是果真大于这种新的软件生存模式(即开放源代码软件)所带来的其他利益。
社区很重要
与决定购买某一个商业软件的决策时主要关注这家开发商信誉如何不同,在评估开放源代码项目时,相关因素却要复杂得多。对于软件开发商和客户而言,社区是开源软件的重要组成部分,围绕开放源代码项目而建的社区是开源项目能否成功的关键所在。如果缺乏活跃的开发社区的支持,再好的代码也会慢慢老化、逐步消亡。
对于用户而言,评估这些社区可能是软件采购过程中面临的比较困难的挑战之一。在公司决定部署任何开放源代码项目之前,经验丰富的IT人员对项目进行全面调查很重要。开发社区是如何组织的?采用了什么管理模式?哪些是活跃的参与者?谁可以改动代码?改动频率如何?内部争议是如何解决的?代码的许可方式如何?
得到主要软件开发商的支持,这可以为开放源代码项目向企业用户进一步证明可靠性,不过这也会带来另外的问题。譬如说,商业软件开发商对待社区组建的态度各不相同。有的认为组建社区纯粹是自由放任的,而有的可能怀着这种希望:利用自己的社区作为服务部门的销售渠道。作为客户,选择这样的公司:不但宣传开放源代码,还明确划分了开放源代码项目和商业软件项目的界限。