【IT168 分析评论】
本文并非针对某个特定的开源ERP产品,也非对开源的ERP抱有某种成见,只是站在ERP用户的角度提出自己的一些想法。辩驳只是为了解惑。
提到开源软件,很多人首先想到的是Linux。就这样一个由个人开发出的类似Unix的操作系统居然能跟Win系统在服务器领域进行抗争,并且取得了不小的战绩,真是不容易啊。大家可以很明显的看到:使用了Linux服务器以后,公司的运营成本在降低——相对于Win系统,Linux几乎可以说是免费的。可在ERP行业,开源的生存空间又有多少?
开源的优势
提到开源首先想到的就是源代码开放,当然这里的源代码开放无非是两种情形:
1、部分源代码开放
很多企业为了自己的核心利益不受侵害虽然打着开源的牌子,可实质上在系统管理方面的核心源代码是不开放的。比如说你购买了哪些模块才能使用哪些模块,购买了多少用户数才能使用多少用户数,再有一些底层的算法。这类伪开源软件在本文中就不再做详尽的阐述。
2、真正的源代码开放
所谓真正的源代码开放是指软件所有的功能、程序完全提供给企业,大家遵循一种指定的游戏规则(比如购买软件源代码的使用权,而没有销售盈利的权力)在同一套产品的基础上进行开发、改进和优化。
开源ERP能解决的问题
我把开源ERP理解为一种商业模式,这种商业模式能解决特定客户的一些顾虑,特别是供应商的服务问题
所谓的服务涵盖的面非常广,有了源代码客户可以完成以下的工作:
1、无限用户的扩展。有了不受限制的源代码,随着企业的扩充,企业不需要在LICENSE方面再增加任何费用。可以大大降低ERP使用的成本。
2、无限功能的扩展。有了完整的源代码,用户可以根据自己的期望任意的扩充功能,不受任何限制。想增加CRM可以增加CRM,想增加SCM可以增加SCM,随心所欲。
几乎可以说只要购买了完整的源代码,企业就有了控制整个ERP项目的权力。
对开源的顾忌
这样完美的方案似乎十分诱人,既省成本,又能完美的控制,那么所有的ERP厂商都开源好了,用户自己来选择嘛。可事实并非如此。ERP的市场被非开源的ERP厂商牢牢的控制着,这是为什么呢?因为我们对开源的ERP还有顾虑。
一、ERP并非只是软件。
三分软件七分实施十二分的数据--在这我也还是不忘把数据这个话题拿出来,尽管在这里并不会讨论这个问题。
可从三七开这样的比例就能看出:软件对于一个ERP项目的影响有多大。事实上很多ERP项目实施失败,“软件的因素”只是个借口。软件只是个工具--协助企业管理的工具,没有软件企业就运行不下去了吗?鸡照飞狗照跳的。
我认为:上一套ERP除了能带来软件功能所涵盖的便捷的统计功能以外,更重要的是:改善企业的管理过程。仅仅是把企业现有的流程照搬进SAP,那么这样的项目也不能称之为成功。所以:仅仅谈软件是否开源,我觉得影响有限。
二、对产品开发的约束
1、对软件的理解
对于程序员来说,如果是自己设计自己开发一套软件产品,我想难度会比“在别人产品的基础上进行修改”要容易的多。思路是自己的,想法也是自己的,只是如何实现罢了。对于开源产品来说也存在同样的问题:程序员要去理解并掌握这套新的系统需要多长时间。和对成品软件的实施不同,要掌握的不仅仅是软件的功能,更要掌握软件的设计思路,开发的技巧。多长时间能掌握这些,后续开发的程序是不是狗尾续貂是每个IT经理需要考虑的。
2、开发的成本
有了开源的产品,对于企业来说可以随心所欲的进行开发,但在这个“随心所欲”的背后缺忽视了“开发的成本”。开发哪怕只是一个报表也是需要成本的。虽然在企业内部一个程序员的工资并不会很高,但这的确还是要占有成本的。也就是说在有限的时间内企业能够进行开发或者改善的空间有限。当然,企业愿意花时间去等也没有关系,但在这个商场如战场的环境下,企业等得起吗?
3、开发的项目控制
很多在企业内做过程序开发的朋友多遇到过这样的问题:很多非常小的功能,仅仅是为了方便用户查询某个数据的功能,占据了大量的开发的时间。而真正能对企业运营产生良好帮助的模块,却因为没有时间去进行开发。这就是:对需求的分析、分级和控制。
作为用户来说,他们很难站在全局的高度去思考一个ERP项目应该如何运作,应该在哪些方面全盘考虑。而ERP项目组在国内企业内的地位又往往不是很高,这很容易让ERP程序员陷入这样一个困境:永远有解决不完的问题,而要解决的多是鸡毛蒜皮的事情。慢慢的程序员也在沉沦,每日悠闲的改改报表中的字段长度,或者增删几行数据。
三、对开源软件的顾虑
1、产品升级换代的问题
在开源产品的基础上进行开发,势必会影响到产品的升级。对于同一个功能,软件公司有软件公司的考虑,企业有企业的考虑。进行了比较的二次开发以后必然降低产品升级的可能性。也就意味着企业要独自承担软件后续的维护工作。如何均衡利弊?
2、开源厂商持续经营的问题
既然产品可以很廉价的购买,购买了以后也不需再受软件商的约束--那么你们的利润来源在哪?如何保证贵企业的持续经营?
有位开源ERP厂商的朋友说可以通过提供:技术文档、技术支持、授权加盟等形式来赢取利润。可这种运营模式真的会成功吗?在这里我就做结论了,但我个的感觉是:
卖文档卖一个客户就少一个客户,而且客户群仅仅是使用了这套ERP系统的客户。做支持就更不用说了:人家都有源代码了,当客户群足够庞大的时候,用户自己都可以组织相应的讨论组来解决问题。利润的空间有多大?如何维持企业的运营?
开源ERP所适用的环境
谈到了开源ERP的优势,也谈到了开源ERP的软肋或者说是我们困惑,自然要谈谈我所理解的开源ERP所适合的生存空间了
1、企业内有强大的IT团队,能对软件进行深入分析并扩充。
要对ERP系统进行功能上的扩充需要一些程序员。随着企业规模的不断扩大,对软件本身功能要求不断增加的情况下,要么更换ERP产品,要么进行升级,要么就只能自行开发了。企业需要有多大的开发团队来维系软件的运营?这对程序员的需求可就高了。当然,企业也可以额外购买开源软件商的服务,出高价由他们来进行二次开发。
2、企业的IT团队必须能完整的控制项目的进度。
除了对开发人员的要求以外,IT团队还必须有独立的项目控制的能力。各个部门提出的各种需求,如何在工作上进行分配管理?如何才能保障在规定的时间内完成。IT经理或者项目经理的角色是必不可少的。当然这类人员还必须得具备系统分析的能力,能最优化的实现用户的需求。
3、企业更需要一个CIO能从战略的角度来设计新的模块和功能。
除了完成用户提出的需求以外,CIO更要能站在企业运营的角度去考虑软件未来发展的方向。并规划一些新的功能、模块。与IT经理或项目经理进行沟通,制定完成工作的时间表。
啊,这样看来,IT部门也能独立运作了,或许能从一个成本(费用)中心转变为一个利润中心。开拓新的软件市场。
10年前本人就曾在一家台资公司从事某国外ERP产品的二次开发工作,对此深有体会。一套经典的ERP产品在设计过程中必然融入了它对企业管理的理解。仅仅只是做代码的堆彻而不考虑企业的流程、数据的运转传递那还不如只用EXCEL。而理解这些信息又需要多长的时间?作为程序员,那套系统我们只能一个功能一个功能,一个模块一个模块的研究,20人的IT团队每人分配一部分工作,隔三五个月再交换负责的模块从而保障系统独立、稳定运行。我也相信对于一套成熟的ERP系统来说大家需要话同样多的精力来消化吸收。
从纯粹技术的角度来说,程序员是很欣赏有这类产品出现的。借鉴这些产品的经验自己可以进行改进,或者开发出类似的产品。而从商业的角度来看,我并不否认这样一种商业模式有其生存的空间--存在就是合理的。可是从一个用户的角度来看,我更希望开源ERP的商家能考虑到作为用户的这些顾虑。
毕竟对于ERP厂商来说成败不过是个案例,但对于企业来说上一套ERP系统很可能是伤筋动骨。