在使用开源软件时,公司企业通常会选择免费的社区支持版的应用软件或者付费方式的企业版软件(包括支持、服务、更新和其他功能)。
商业用户同时也会考虑他们使用开源软件的目的以及开源软件将在他们的业务流程中发挥怎样的作用。免费的社区支持版适合用于测试或者不太重要的事务,但是当需要使用开源软件完成关键任务时,商业用户们表示他们更可能会选择付费的企业版开源应用软件。
MySQL商务咨询公司Proven Scaling LLC的共同创办人Jeremy Cole表示,这种分裂式的开发模式有时候可能会造成意想不到的问题。他说,其中一个问题在于,那些需要依靠稳定成熟的代码的企业并不是总能够得到他们需要的服务。
在MySQL,Cole说,“他们发布的企业版开源软件往往要比社区版多。”这意味着“虽然企业用户获取更新补丁越来越快,但是他们实质上运行的是未经测试的代码,”他说。
其他人也认为这些担忧不是毫无根据的。而且随着越来越多的大公司开始收购开源公司,推动了开源软件在企业系统中的地位,这无疑使上述问题更加重要。Sun Microsystems公司最近对开源数据厂商MySQL AB的收购就表明了这种趋势。
总部设在洛杉矶的Think Passenger公司(该公司为公司和他们的客户建立了网上社区)的首席技术官Bill Parducci说开源代码对于他们公司来说是非常重要的,因为开源代码降低了技术成本,并且允许关键源代码定制化。
“有人认为一个企业越快推出代码,则他们的客户能够更快地获取代码,我不同意这样的观点,”Parducci说,“客户很难跟上更新进度。”正是在这样的压力下,Linux厂商Red Hat公司在几年前就将他们新版代码的更新周期延长了一倍,以更好地满足客户的需求,他说,“当新版本不在那么频繁出现时,软件变得更加稳定以及耐用了,那些无法预料其更新周期的软件时没有任何价值的。”
Parducci说他看见越来越多的软件开始采用“混合式搭配”—在开源、闭源、功能、风险与支持之间混搭。“最终,你将会需要解决一个问题,”他说,“我想我们已经度过了在开源与非开源之间做出选择的日子了。”
Think Passenger公司使用了大量的开源应用软件,包括Red Hat Enterprise Linux、CentOS Linux、Iona Technologies公司的Fuse Message Broker、Jetty Web服务器和Terracotta公司的网络附加存储应用软件。
Parducci说,他们的大部分应用软件都是付费企业版的,这样他就可以得到专家级的支持和最稳定的代码。对于Iona公司的软件,“购买他们的软件,他们会定期稳定地发布更新,然后将更新与产品结合,并提供支持,”他说,“这与拥有支持与稳定性功能的社区版软件使用的是相同的基本代码,我们公司从这些软件中十分受益。”
Parducci表示,他很想知道那些精明的开源软件厂商是否在试图“上行销售”他们产品中的专有软件或者说只有购买他们的专有软件才能维持其他产品完整的功能。“对于我而言,这等于是一个警示,”他说,“他们支持开源产品难道只是为了向我兜售其他产品吗?”与大多数开源厂商的合作还是很令人满意的,他说,但是还是存在需要改进的地方,尤其是那些规模较小的厂商。这些厂商需要确保“即时获取反馈和提高社区效率”,这样商业用户才能够获得他们需要的帮助,他说,“我认为这些厂商仍然处于学习与成长阶段,人们还在努力学习如何规划开源软件。”
企业版开源软件物有所值
休斯敦贝勒医学院的人类神经影像学实验室的系统管理员Justin King说,他发现社区版开源应用软件足以满足他的需要,但是在使用很多产品后他发现购买企业版软件更加节省时间,因为企业版软件更加先进并且包括很多有用的管理功能。King说他使用开源应用软件基本来自Red Hat公司、Web基础设施管理厂商Hyperic公司和其他公司。“在大多数情况下,企业级产品的主要特点就是稳定性,”他说,“你不一定需要那些[新的和改良的]功能,但是最关键最重要的在于软件的执行时间和稳定性。”
“其中最好的开发模式来自Red Hat公司,”King说,“他们提供社区支持的Fedora(Linux版本),并且它经常更新。然后是稳定的Red Hat企业级Linux,它可以向企业级用户提供支持。就我所知,这是企业开源软件中正确的模式。”
对于那些为企业关键业务寻找软件的商业用户,“没有哪个人在正常情况下会依赖那些不能够提供足够支持和稳定更新的产品,” King继续说,“ 如果能够帮助他们业务运转的话,他们一般会选择支持版的软件。如果某一天软件出了故障,而且现场没有人能够解决,那么就可以呼叫软件维护者,直到他把问题解决。”
位于纽约的Kaplan Test Prep and Admissions公司(大学入学考试测试公司)的软件体系结构执行总管Gautam Guliani说,他宁愿购买所有企业版的开源应用软件,并应用于关键业务。使用社区版应用软件进行试点项目和不太重要的业务是可以接受的,他说,但是如果他的公司需要使用社区软件,将需要支付企业级的费用才能获得支持。
更多未来发展方向规划
Kaplan使用了少部分的开源应用软件,包括JBoss中间件、Red Hat Linux和Alfresco网站内容管理软件。一般来说,获得充分的及时的支持不是很困难的事情,Guliani说,但是从开源厂商处获取未来发展方向蓝图比从专有厂商处还要困难。“未来发展蓝图有时候与我们想象中开源公司规划出来的不一样,”他说,“有些公司做得很好,但是大部分公司仍需要改进。”
他还表示开源厂商对他们公司的帮助在于,为软件支持、深化企业成熟度以及代码灵活性等降低了成本,并且为公司带来了更深层次地软件产品透明度和更高的创新发明速度。
“开源厂商对软件的更新似乎比以前更加频繁了”,他说,“如果过于频繁,对于公司来说,将是一个问题。如果产品更新如此频繁,我们可能会选择不升级到新版本。大多数开源厂商都意识到如果他们发布了新的版本,他们不应该马上就取缔对旧版本的支持。”
分析人士称,现在的情况就是,开源软件已经逐渐成为IT企业不可分割的部分,不管是社区版开源软件还是企业版。
位于俄勒冈州波特兰市的The 451Group公司的一名分析师Raven Zachary说,公司选择软件的时候,并不是在开源软件和专有软件间做出选择,而是选择对企业最有利的软件。
“我很少看到有企业不考虑软件的功能性而盲目购买软件,”他说,“企业们会购买那些能够帮助他们工作顺利进行的技术。有时候可能是开源软件,有时候是专有软件。一般来说,大型企业在决定选择何种软件时,他们不会软件是开源的还是专有的,而是考虑软件的价值。”
位于马塞诸赛州Lowell市Common Sense Advisory公司的分析师Donald DePalma说,拥有大型数据中心的商业用户通常使用的是企业版的开源软件,因为他们需要将其用于关键业务。“个别业务部门使用的是社区版软件。”他说。
“有各种各样的开源使用方式,”DePalma说,“MySQL被广泛地运用于企业部门,似乎它的各种功能与其相对应的商业版产品Oracle十分相似,这使用户们看不到它自身的特征,我想我们将会看到更多这方面的问题。”