不管企业是否真正了解开源技术,几乎所有企业今天都或多或少地应用了开源技术。但是对IT运维人员来说,很多开源软件缺少足够的商业服务支持,一旦遇到问题,往往就会造成业务无法正常运行。
笔者很同情开源软件现在的尴尬处境。
不过,我们真能把责任完全推给开源软件吗?其实,用户选择开源软件的重要原因就是它"免费",对于资金相对有限的中小企业用户来说,能省去购置商业软件的花销是最现实的利益。此外,所谓开源就是公开源代码,这意味着用户可按照实际需求对源代码做个性化改动,这是商业软件不能比拟的优势。如果使用条件不是很苛刻,开源软件确实非常具有吸引力。
然而没有白吃的午餐,虽然省去了购买软件的钱,但开源软件的使用还是有成本的。首先,开源软件的使用很难像商业软件一样方便;另外,开源产品功能的完整性是远不能与商业软件相提并论的;再者,开源软件二次开发的成本也同样不菲。
那么,开源软件究竟该怎么用?正如大家所知道的,开源软件组织中最著名的莫过于GNU Project,它是由Free Software Foundation组织的一个非营利平台。GNU的成功催化了众多的开源软件的发展,形成了九十年代末开源软件百花齐放的局面。其中,有两个主要开源软件派别值得一提:以Linux为代表的无偿软件加商业售后服务,或提供商业增强版的开源软件的盈利派;以Eclipse为代表的通过提供无偿软件,推广一个新的标准以达到占领市场目的的市场派。这两个开源派别都是由商业资本支撑、以盈利为目的的商业运作。对用户而言,软件授权是免费的,但其他任何与使用软件有关的服务都是有偿的。
开源软件的授权一般附带有条件,一般来讲,除非你是学生一族,否则使用开源软件将会有很多限制。因为,作为单纯的学习者,使用开源软件既没有授权费的支出,也没有相应的商业用途授权限制、工作压力等各种顾忌,你可以细致学习软件的内部构成。即使在使用过程中出了错,也可以将错误看做一种经验的累积,所谓的吃一堑长一智。但是开源软件一旦应用于商业用途,情况则大不同了,很多企业用户在选择开源软件时,他们通常会忽略软件的适用性,并且过高估计自己的技术能力,觉得即使不依靠商业服务也能解决问题。但这种盲目自信的后果往往让人始料未及,当系统无法正常运行,却又发现找不到无偿帮助时,只能怨天尤人。
所以说,开源软件如果用于商业用途,必须有商业投入的心理准备。也就是说,对于商业应用,笔者觉得最理想的情形是将开源作为起点,以商业服务为后盾逐步加强,在必要时向完全的商业版过渡。
购买了开源软件的商业服务,要搞清楚服务的内容和承诺。开源软件一般不会有很详尽的功能描述,服务协议相对商业软件可能含有更多的"信誉"成分。这似乎是不能避免的,因为开源软件供应商也不愿意做超越自身控制范围的承诺。开源软件有商业软件不可比拟的一个优点,一个公开的用户群,他们的声音一般是很难被忽略的。开源企业用户应该充分利用用户群的力量,参与用户群的论坛,会议等。
使用开源软件,要有充分的上线前的测试。测试可以发现缺陷,一方面可以要求供应商修复,另一方面可以设法在应用中避开缺陷。对于有比较高要求的应用,应该做失败恢复的计划,应对可能出现的意外。通常,这些计划包括企业内部相关负责的人员、流程,以及取得供应商支持方式。有了这些措施,使用开源软件的意外风险会大大降低。做到扬长避短,只有这样才能立于不败之地。
【编辑推荐】