搞信息化可走开源之路
近年来,我国正在大力推广使用Linux,基于Linux平台的各种开源软件也在迅速发展。同时在政府的大力提倡下,我国的信息化,特别是政府(电子政务)、金融、电信、电力等行业的信息化水平得到大大提升。据权威数字统计,国内每年企业信息化建设的投资已经高达上千亿元,而且还在迅速增长。然而我们必须看到另一面,很多企业的信息化还处于一个较低的水平。我国企业必须认识到信息化不但可以帮助企业提高效率、降低成本,更重要的是可以辅助决策,缩短决策周期、提高决策的精确度。另外一个非常值得企业关注的业界动向就是软件开放源代码运动。令人应接不暇的开源给中国的企业带来的是机遇还是挑战呢?赛迪顾问2010度年中国软件产业发展研究年度报告指出;从未来三年全球软件产业发展趋势看,开源软件成为软件行业发展的重点和新趋势。同时,行业应用软件成为软件行业发展的主要动力,嵌入式软件成为电子信息产业软硬结合的着力点,Linux软件及开源软件将成为市场的热点;<?xml:namespace prefix="o">?xml:namespace>


由此可见,以Linux为代表的开放源码软件正在成为整个信息技术领域的关注焦点,开放源码使得软件业正在经历一场深刻的变革,这场变革不仅涉及技术,还涉及新的经济模式。而且,从世界范围来看,整个形势正以日新月异的速度向着有利于以Linux为代表的开源软件的方向发展。


一、何谓开源

开源是开放源代码(Open Source)的简称,如字面所示,就是把软件的源代码开放化,与大家共享。对于一般用户来说,得到了程序的目标代码(可执行文件)就可以使用,程序的源代码并不是必需的。而对于软件的所有者来说,由于源代码比较容易阅读和理解,通过对源代码的分析,他人能够了解自己软件中的设计思路,掌握自己软件中的技术秘密,因此通常不希望向用户提供程序的源代码。不过对应用水平较高的用户来说,为了便于自己排除故障、改进程序、了解程序间互连接口,可能要求得到源代码。因此,在贸易中是否提供程序的源代码常常是讨论的焦点之一。


提到开源,不得不提到一个类似的概念,自由软件。它的目的就是要打破商业软件占主导地位的格局,这种思想首先是自由软件的创始人Richard Stallman提出来的。“自由”体现为软件知识产权保护层面上对软件使用者许可自由地运行、拷贝、分发、学习和改进该软件的行为。自由软件与开源软件的差别在于给出定义的角度不同,开源软件的定义是从技术层面上讲,而自由软件则是从被许可的层面上讲。笔者认为,二者不是包容关系,而应该是交叉关系。随着开源运动轰轰烈烈的开展,开源的观念深入人心,开放源代码的“商业软件”和“自由”的非开源软件也会出现和逐步被人所接受。


开源的历史远远比它为人所知要长得多,用Stallman的话来讲,软件最初就是带有源码发行的,只是后来成为流通商品之后原码才不再开放、才不再自由。在Unix逐步走向商业化的20世纪70年代末、80年代初,当时还是麻省理工学院研究人员的Stallman不满于一些软件厂家的傲慢与狭隘,将自己开发的软件产品与他人共享,提出了自由软件的概念。他在1984年主导成立了“自由软件基金会",立志要开发出一套完全自由的类Unix操作系统。FSF支持赞助的GNUProject为开源运动做出了巨大的贡献,Stallman及其领导下的GNU 团队堪称开源运动的旗手和标兵。从EmacsGccGNULinux等开源操作系统提供了丰富的应用程序,没有GNU应用的支持,很难想象Linux会达到当前的流行程度。一个无论多么优秀的平台,如果没有应用的支持就成了无源之水、无本之木。正是基于这个原因,才有了今天GNU/Linux的说法。GNU项目下的开发工具、编辑器、编译器、配置管理工具等不仅在开源社区中是出类拔萃的,甚至与商业软件比起来都是非常优秀的。


我的展望是:“试看将来的环球,必是开源的世界”。特别是通用的、低层的东西,比如操作系统、数据库、中间件都有开源化的趋势。开源运动中还有一个旗手,就是APache项目及其基金会ASFhttp://www.apache.org)。Apache作为HTTP Server声名显赫,至今仍然是遥遥领先的寂寞高手。除了HTTP之外,Apache下还有众多的Web/Java的开发项目。ApacheJava的结合则大大促进了Web应用的发展。Web应用是前些年推崇的瘦客户端概念的唯一继承者,也是集大成者。著名的Jarkata项目、Web开发框架Struts等在开发人员中享有极高的知名度。Web/Java的开发模式早就被企业所接受,随着J2EE架构的逐步成熟以及越来越多的开源软件的涌现,相信Web/Java应用的前景也会越来越好。


LAMP是非常知名的开源应用组合,它是LinuxApacheMySQL (开源数据库)和Perl/PHP/Python的首字母缩写。当前很多Web应用,特别是个人的系统,大都采用LAMP框架。其中P所代表的三种脚本语言,以其灵活性、简便性和快捷性获得为数众多的开发者的青睐。除了以轻决著称的MySQL之外,其他的开源数据库, 比如PostgreSQLBerkelyDB SAPDBFireBird等也在中小企业市场中获得了广泛的应用,正在逐步侵蚀着大型商用数据库的市场。


还有一个值得注意的开源项目就是Eclipse。它原本是IBM 的开发工具VisualAge, 后被捐献给开源社区,此后Eclipse获得了新生,其强大的平台、方便的集成环境、多语言支持获得了大量的用户群,对传统的开发工具厂商带来了很大的影响和改变。


二、开源中的知识产权问题

200337日,SCO集团在美国正式起诉IBM 公司关于SCO Unix部分代码嵌入到Linux的代码库中的专利权和版权问题, 人们开始特别关注Linux及开源软件的知识产权、专利及相关法律问题。


或许因为自由软件的英文中使用了“Free” 一词的原因, 很多人把开源软件误解为免费的,没有任何知识产权的。的确有些软件是可以免费获得,但是这并不意味着所有的开放源代码软件都是免费的。开放源代码运动主张源代码应该共享,人人享有使用并修改源代的自由。开放源码软件是受著作权保护的作品,未经权利人许可不能随意使用。它和共享软件或免费软件最大的区别在于能否得到源程序并对其进行修改和演绎,况且它不对任何个人、团体或行业领域有歧视。总之,开放源码软件是完全享有著作权的,虽然其免费修改和发布的行为与商业传统有较大差别,但是开放源码运动正是利用了著作权所赋予的权利在快速发展。


按照OSI 0pen Source Initiative)的定义,开源并不仅仅意味着源代码的开放,它从十个方面定义了开源软件的标准:


1.自由再分发

许可不得限制任何人销售或分发软件或其组成部分,并且不得从此类销售中收取任何使用费或其他费用。


2.源代码

要求软件必须带源代码发布, 即使实在不便于如此发布时,也应该提供明确的可行的获取方式。源代码必须是完备的,故意混淆代码的行为是禁止的。如此规定的目的就是让程序的修改或演绎比较容易进行。


3.衍生作品

许可必须允许修改和衍生作品,并且允许它们以与原生软件相同的条款进行分发。


4.作者源代码完整性

除非许可为在构建时程序修改之目的允许补丁文件与原码一起分发,许可不能限制源代码以其被修改的形式发布。许可必须明确地允许被修改后的软件的分发,但是可以要求衍生作品以区别于原生软件的名字或版本发行。


5.使用者无歧视

许可不得歧视任何个人或者团体,禁止开放原码许可把任何人排除在开放源码过程之外。


6.应用领域无歧视

许可不得限制任何人把程序应用于任何领域。此条的主要目的是防止不允许商业使用目的,我们同样欢迎商业用户的使用。


7.许可的分发

与程序有关的权利必须适用 于该程序的人和使用者,并且程序的使用者也不需要为了使用该程序而获得其它许可证的许可。


8.许可不得针对某一产品(产品无关性)

与程序有关的权利和义务不应由于该程序从软件中分离出来而丧失。如果程序从某个发布中被分离出来,并且按照许可的条款进行实用和发布,那么得到该程序的当事人或组织将获得与得到原程序的使用者同样的权利。


9.许可不得限制其他软件

许可不得限制与其一同发布的其它软件,比如不能要求同一介质上的其它软件都必须为开源软件。


10.许可必须技术中立

许可中不得包含依赖于某一技术或接口风格的条款。相对于传统的知识产权理论,开源倡导者认为,在人们认为有价值的诸多价值之中,自由是最有价值的一种价值。Stallman说,自由对软件用户来说,就是人们使用、分发、学习和修改软件的自由。从OSI所义开源软件的标准可以看出,这些软件是欢迎人们去使用的,因为开发产品的最主要的目的是应用。但是这并不意味着可以不假思索地去用,必须尊重软件的权利人所颁发的许可,否则就会面对法律的问题。


三、国内外开源的现状

前面介绍了几个著名的开源社区,下面我们结合国内外开源运动的现状,分析一下它的特点和发展趋势。


1.开源运动蓬勃发展大有燎原之势

单从GooSe Directory下的Open Source Software分类目录上看就有388种之多,而符合“Open Source Software” 的BBS的查询结果已达138000项之多,从事开源开发的志愿者更是不计其数。根据笔者的了解,目前所用到的商业软件几乎都可以找到开源软件的替代品,以几种主要的商用软件为例,Linux作为操作系统早已家喻户晓,Firefox正在不断抢占着微软IE浏览器的市场,而数据库产品MySQLPostgreSQL也已经开始让商用巨头坐卧不安,就连无处不在的微软Office套装软件也有了OpenOffice这一直接的对手。


2.开源产品几乎涉及软件的各个种类

从最底层的操作系统到数据库、中间件、消息、安全产品再到协同软件、工作流、ERPCRM ,种类繁多,让人目不暇接。


3.形成几大开源基金会与开源公司运作并存的局面

著名的开源基金有FSF/GNUApacheMozilla等;另外也存在既经营商业软件也维护开源社区的公司,比如运营MySQLMySQL AB公司和运营SugarCRM 的公司l还有一种情形就是IBMHPSun等把自己的一些产品捐献给开源社区,比如EclipseDerby就是在IBM 公司的VisualAgeCloudscape的基础上演化而来的开源软件。


4.开源产业链逐步完善

随着开源社区不断发展壮大,开源的产业链也逐步完善。一般而言,每个开源项目都有一个核心团队和众多的分布于世界各地的志愿开发者, 工作大都通过网络协同。较大的一些开源项目还可能定期举行会议。资金来源主要有社会捐助、有偿技术支持、商业版销售及其他纪念品发售等。Linux厂商主要靠发行版、方案咨询和提供专业技术支持支撑。现在,也有一些公司专门提供开源软件的商业技术支持服务。笔者所在的公司就致力于为中小企业客户提供开源软件服务,可为企业用户提供基于PostgreSQL的数据存储解决方案。


5.大公司的参与越来越多

IBM HPOracle等公司纷纷加入到开源运动的洪流中。很多公司把专属软件捐献出来,这使得开源软件的层次得到了大大提高。


6.得到政府的支持

许多国家从信息安全的角度出发,从一开始就对开源持有欢迎的态度。欧洲许多国家已经在全面采用开源软件,我国也有很多行业、企业用户在衡量开放源码软件大量应用的可行性。


7.向高层应用的延伸

现在开源软件逐步向工作流、协同(比如项目管理软件)、CRM ERP等高级、专业的应用领域扩展。这使得开源软件在企业中的应用领域得到进一步拓宽。


我们现在重点看看国内开源发展存在的问题:


1.对开源的怀疑和不理解

为什么要开源?是不是在搞噱头?开源软件能用吗? 由于Linux在市场上的成功,所以很多人对开源的理解似乎仅限于Linux。怎么回答这些怀疑和不理解呢?现实就是答案。世界上的确有很多被称为“傻子”的志愿开发者默默地支撑着庞大的开源社区,他们的快乐在于软件开发成功的那一瞬,他们的价值在当用户开始使用他们所编写的软件时得到实现。软件因为开放源代码,质量才更高,安全性才更好。


2.开源机会主义

由于开源的声势浩荡,国内也有不少公司、团体开始打起了开源的大旗,但是不少机会主义者混杂其中。他们一方面利用开源软件的成果,另一方面又把自己的成果隐藏起来。究其本质,是因为他们不了解开源软件的著作权属性。机会主义者的行为属于严重的侵权,经不起知识产权的考验,同时在精神上是与开源所提倡的自由、共享的原则相违背的。


3.局限于Linux

刚才也已经提到, 开源软件在我国的研究和应用以Linux为主,其他开源软件被认知、研究、应用的程度还不高。笔者认为,广泛的开源软件应用更能解决中国信息化的实际问题。


4.开源社区贫乏

与国外蓬勃发展的开源社区相比,国内的开源社区要冷清得多。国内缺乏活跃的开源社区,缺少开源志愿者。开源软件应用逐步开始向开源服务和解决方案方向发展,此时,如果缺乏开源解决方案规划和咨询服务,那么企业开源应用就将得不到很好的发展。所以,围绕着基于Linux系统的开源软件产品及解决方案应用规划、咨询、技术支持及服务,正将成为开源软件产业发展的新“瓶颈”。


四、基于开源的解决之道

只要遵循开源的原则, 任何人都可以合法地利用开源软件的成果,站在巨人的肩膀上继续研究,使得软件开发有了完全不同的起点。开源软件用于企业信息化特别是中小型企业信息化在技术上、法律上和市场上都是可行的,下面展开具体分析一下。


1.技术过关

运行良好的开源社区的产品完全是可靠的、可用的。一般而言,开源软件的技术架构设计都很优秀,再加上源代码是开放的,在众多开发者和订阅者的众目睽睽之下,一些问题很容易被找出并修正。开源软件的高质量、高安全性都使得其在企业中的应用是完全可行的。但是我们还应该看到另一面,就是开源社区良莠不齐,有些运转不太好的社区或者参与者比较少的项目则是靠不住的。因此专业服务公司在开源产业链中具有非常重要的作用,他们负责甄别和鉴定软件,在社区和用户之间起到一个桥梁的作用。


2.法律可控

已经在“开源中的知识产权问题”一节进行了分析,结论就是只要你遵循开源运动的精神(自由、开放、共享)、尊重其著作权和使用许可,人人为我、我为人人,就不会遇到知识产权的瓶颈束缚。


3.市场良性发展

随着开源软件在企业中的应用, 开源社区可以收到很多用户反馈,会进一步促进其发展。另外,还会出现众多的开源软件服务公司,这些公司不但可以为企业客户提供专业的咨询、策划、支持、定制开发等服务,还会将营业所得一部分捐献出给开源社区,从而形成一个良性的开源产业链。开源软件的开发也是需要投入的,企业有付出也就应该收到回报, 一个积极的良性循环会进一步促进开源社区的发展。


WTO原则下,在知识产权保户的前提下,企业的信息化建设必须要全面采用正版软件。现在,国内的金融、电信、电力、政府等实力强劲、管理意识先进和较大程度上依赖信息技术的行业已经走在软件正版化的前列。但传统信息化应用方案的软件选择对大多数企业讲太过“奢侈”、太昂贵。企业为了适应市场竞争不得不信息化,但又支付不起昂贵的传统软件选择,有的企业就铤而走险,选择“盗版”软件应用。随着时间的推移,这条路必将成为死胡同,或日不归路更为贴切。此路荆棘弥补、险象环生,奉劝想有作为的企业还是敬而远之为好。笔者认为,开源软件的应用是中国信息化的可行之路,而且这条开源信息化之路会越走越宽。


笔者认为,开源软件的应用是中国企业信息化的新路线。这里也简要分析一下专业的开源软件服务公司在这条开源信息化之路上的业务模式。


1开源软件的应用价值无论在国外还是在国内都还远远没有被挖掘出来,社区偏技术的定位和用户对开源缺乏了解和专业知识,这些缺位都需要处于中间的开源软件服务公司进行弥补。


2如同商业软件的应用一样,开源软件应用也需要专业的指导、咨询和支持。从应用环境分析、业务流程重整、需求分析、定制开发、部署实施、运营维护等各个环节都离不开专业的软件服务公司的参与。


3部分开源软件偏离客户需求和易用性差的缺点需要专业公司进行弥补。刚才已经提到开源软件的偏技术的特点,另外由于一般软件都是定位于通用软件,对客户需求的调研和泛化有补充分之嫌,对于涉及到企业业务流程的开源软件特别有根据客户环境的具体要求进行二次开发的必要。这些也都是中间软件服务公司的价值所在。


五、开源信息化之路

开放源码软件为全球软件产业发展提供了新的机遇,而且已被各国政府视为改变在操作系统软件方面落后、打破垄断局面的最佳途径。我国也正在大力推广使用Linux,基于Linux平台的各种开源软件也在迅速发展。这样,我国将建立起一个自主、完整的软件产业体系,从而不再受外国的制约,我国的信息安全和国家安全也将得到可靠的保障。同时,开源软件为我国解决软件知识产权问题开辟了新的路径。因此,大力培育和扶植开源社区,推广开源软件的实际应用,积极研究开源软件的实施产权问题,努力促使我国开源软件产业链的形成和发展,对我国软件产业发展具有重要和深远的意义。

本文出自 “李晨光原创技术博客” 博客,谢绝转载!

posted on 2014-05-19 19:14  李晨光  阅读(266)  评论(0编辑  收藏  举报