一、 开源的发展史
1. 开源软件概念起源于上世纪80年代(1984)的自由软件概念。Richard Matthew Stallman(理查德· 马修· 斯托曼)是这个组织的最早发起人。
2. 1997年,美国电脑黑客Eric Steven Raymond(埃里克·斯蒂芬·雷蒙,简称:Raymond)在他的著作《大教堂与市集》(The Cathedral and the Bazaar)一文中首先提出了开放源代码软件这个概念。
3. 在1998年2月,开放源代码促进会成立,提供Oss的定义与认证;第二年Sun、HP、IBM、SAP等公司宣布开始使用或销售Linux。大公司开始加入到Oss运动中。
4. 2000年至今开放源代码运动可以说是快速的发展,已经有很多好的项目涌现出来,著名的有Linux、FreeBSD、OpenOffice、MySql等。
二、 开源的优势和劣势
1. 优势:总的来说开源的最大优势是软件信息的共享,这有助于整个软件产业的快速发展,这也是开源能拥有无数的拥护者与巨大动力的根源。
创新能力的分享:一个开源项目中的很多创新来自多方面,包括原作者以及关心这个项目的所有的人,他们都会对项目提出一些很有见解的意见,这时,只要开源项目的领导者能够及时发现并采用,项目就会充满创新。企业的动力在于创新,当然这种创新可以来源于公司内部,也可以来源于外部。如果我们能开放的接受来自外部的创新,那么我们的创新能力将被有效提高。
风险均摊:由于开源项目可以拥有众多的自由开发者,所以公司的开发风险被显著降低,同时公司的投资也相应的减小。
软件信用提高:由于开放源代码,顾客不必担心如果公司倒闭这个软件会怎么办,他们会相对更加信任这个软件。例如,顾客一般会认为由于拥有软件的源代码,自己也是有能力修补软件的错误、甚至添加软件的新功能。
软件质量的提高:一些研究已经显示:开放源代码软件与功能相似的商业软件相比具有更高的可靠性。由于开源的更加有效的开发模式,更多的独立同行对代码和设计的双重审查,以及大部分开源作者对自己作品的极大荣誉感,使得开源项目的质量都一般相对较高。
透明度与安全性的提高:闭源软件有很多"阴暗的死角",隐藏着许多Bug。这些Bug一般需要公司的大量测试人员不断进行各种测试来找出。而对于开源项目的软件,他们的测试人员可以说是所有的软件使用者,所以Bug的查找工作变得相对较易。由于源代码的开放,所以安全公司的专家也可以很容易的通过查看代码的方式来找到软件的安全问题,从而立刻修补。
强大的统一性:从过去的经验来看,一些开放源代码的项目是如此成功,以至于在商业方面,其竞争者无法存活;在开源设群里,没有人愿意再去与这些项目竞争,因为对玩家来说实在太难,大家最多是在这些成功的项目中添加自己所需的附加功能。
便利的宣传与推广:采用开源的项目比闭源的软件更容易获得大众的瞩目,宣传与推广也会相对的容易。
2. 劣势:开源项目也存在许多劣势,特别是在国内这个不注重知识产权的现状下。
难于使用:这是客观事实,但诸位道友如果在享受免费的产品特别是D版。这世上本来就很难有比MS的产品更容易使用的东西,更何况还是免费D版的。但是D版是不可能长久的。所以,是准备必要的资金以享受“好用”的商业软件,还是费力去学习、使用、发展“难用”的开源软件,这也许才是一个问题。从实际的角度出发,尽力让产品变得easy也正是开源体系应该努力的方向。
学习开源体系的难度高,时间长;玩过的人Linux与Windows、J2EE与.NET都知道,谁费劲?简单地来说,低层的应用,商用软件的效率较高;高层的应用,开源的价值较大。
开源的商业价值低?考虑到money因素,也许有人会说Linux即使再优秀,甚至全面超越了Windows,全面占据了市场,也不可能像Windows赚钱。今后要想在诞生MS、Oracle这样的通用软件巨无霸只怕是不可能了。 数以万计的小型化、专业化、本地化的软件开发服务公司也许是更为现实的景象。所以,是选择商业软件体系还是开源体系进行开发则是一重要的问题。商业体系意味着较高的成本,较低的层次与通常认为较高的效率与暂时较高的市场认可度;开源体系则是较低的成本,较高的层次与通常认为较低的效率(主要是学习、探索、集成的时间长)与潜在的市场空间。
国内开源的不利形势众所周知,国内的技术环境是比较差的。由于体制与文化的原因,科技人员在国内的前途向来就是比较惨淡的。以吹嘘和欺诈为主要能力的权钱阶层掌控着国内的市场,这从根本上导致了技术的低水平化。低层次的经济体系也就意味着技术与管理的低水平化,这同样包括软件业的。在这样的条件下,所谓信息系统建设,往往也就是在硬件与商用软件上的大把挥霍。故而以收入和地位而论,营销人才远高于技术人才是不争的事实。走入开源体系无疑在技术研究积累上是极好的,最终的收益是高的,但也意味着更多的心血与风险。
三、 开源中的商机
1. 以开源项目为平台,提供第三方的组件支持,充分利用开源的平台当前阶段业务组件比较匮乏,可以结合业务理解能力构建第三方组件,并很好的利用开源的平台的宣传,商机还是无限的。
2. 利用开源项目,实行“软件免费、服务收费”的“咨询”商机。此方式已经成为了开源项目的生存的一种方式,利用此方式降低了宣传成本,同时也降低了风险。
【作者介绍】 muzb
穆忠波,1998年开始从事软件开发和系统分析,主要从事人力资源系统的分析,前后参与和负责了20多个相关项目的开发和实施,其间做过程序员、系统分析员、项目经理、产品经理和项目主管,希望能和广大同行交流心得。