当前位置:Linux教程 - Linux业界 - 开源软件铺就信息化第三条道路

开源软件铺就信息化第三条道路

  作者系上海优盛网络科技有限公司总经理

  1、问题的提起

  近年来,在政府的大力提倡下,我国的信息化,特别是政府(电子政务)、金融、电信、电力等行业的信息化水平得到大大提升。据权威数字统计,国内每年企业信息化建设的投资已经高达上千亿元,而且还在迅速增长。

  然而我们必须看到另一面,大多数企业的信息化还处于一个相当低的水平,特别对众多的中小型企业而言,电子化、信息化还是一个天方夜谭。目前的状况,我们可以总结出以下几个特点:

  第一,信息化意识相对薄弱。相当多的企业经营者对信息化的认识还停留在非常初级的阶段,这个也与我国经济发展水平仍然主要处于量的、外延的发展阶段有关系。

  第二,员工素质偏低也是阻碍信息化发展进程的主要原因之一。由于素质较低,计算机的使用水平低下,不适应电子化的管理方式。

  第三,高昂的软硬件费用和培训、导入成本让很多企业望而却步。尤其是国外产软件,其定价和国外几乎没有什么差别,而我们的物价水平要低得多,所以难怪企业不愿意掏腰包购买软件。

  第四,管理水平的低下,以打造组织竞争力为目标的过程管理体系没有建立起来,所以也就不能进行基于信息技术的流程化管理。

  第五,即使已经着手信息化进程的企业,目前大多处于基础设施(硬件和底层系统)、邮件(messaging)等初级阶段,高层应用还没有深入,挖掘潜力很大。

  第六,不可回避的是,不少的企业还在大量使用盗版软件,虽然解决了一时之需,但是也为自己埋下了随时可能爆发的定时炸弹。WTO的加盟也让我们企业面临新的威胁,有些人称之为知识产权战争,侵犯专利、假冒名牌商标、著作权侵权等等,一个经营良好的企业一旦掉进知识产权这个陷阱可能导致数年的辛苦经营的成果毁于一旦。另外,国家也看到,如果不加强知识产权保护,我国的知识产业不可能真正地发展起来,所以知识产权的管控力度也会逐年加强。

  我们应该看到,WTO的加盟让我国企业面临全新的竞争环境,企业必须认识到信息化不但可以帮助企业提高效率、降低成本,更重要的是可以辅助决策,缩短决策周期、提高决策的精确度。虽然我国已经奠定了世界制造大国的地位,但是必须得正视现实,这些都是因为劳动力成本低廉才获得的,真正驱动产业结构上行的是技术和创新,如果在接下来的几年内我国企业信息化、特别是中小企业的信息化不能迅速提高的话,很难想象数年之后的局面会是怎样。

  另外一个非常值得关注的业界动向就是软件开放源代码运动。在我国软件商品化尚未彻底的前提下,令人应接不暇的开源给我们带来的是机遇还是挑战呢?

  自2003年3月7日,SCO集团在美国正式起诉IBM公司关于SCO Unix部分代码嵌入到Linux的代码库中的专利权和版权问题,该官司正式将人们关注的目光再次投向了Linux,也让人们开始思索:Linux在国内的发展究竟是怎样的?其所涉及的法律问题又有哪些,如何规避?

  在此背景下,中国软件行业协会共创软件分会(简称“共创软件联盟”)、科技部火炬中心和国家863计划信息技术领域办公室于2003年9月23日组织召开“开源软件在国内的发展情况座谈会”。这是国内开源软件界的一次峰会。IBM中国研究中心、SUN中国工程院、方正电子、中软、中科红旗、金山软件、永中科技等从事Linux软件开发的重要厂商的主管就开源软件的应用情况、存在的问题以及共创软件联盟应如何发挥作用等进行了讨论,科技部、教育部的有关领导也出席了座谈会。经过这次座谈会,与会人士一致认为,开源软件既为我国发展自主软件产业提供了机遇,但也带来了一些新问题,需要一种创新机制来保证中国开源事业的健康发展,共创软件联盟的筹建正是对这种创新机制的有益探索。

  随后,中日韩三国IT局长OSS会议及东北亚OSS推进论坛,签署了《中国信息产业部、日本经济产业省、韩国情报通信部关于开放源代码软件合作备忘录》。同时,以共创开源、中科红旗等厂商为主体的“中国开源软件推进联盟”宣告成立,标志着中国开源软件产业发展进入新轨道。

  赛迪顾问2004度年中国软件产业发展研究年度报告指出:未来三年全球软件产业发展趋势看,开源软件成为软件行业发展的重点和新趋势。同时,行业应用软件成为软件行业发展的主要动力,嵌入式软件成为电子信息产业软硬结合的着力点,Linux软件及开源软件将成为市场的热点;

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

  2、何谓开源

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

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

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

  开源软件真正走入公众视野要归功于Linux,它最早起源于芬兰大学生Linus Torvalds的一个创意,由于对手头的Minix系统不满意,决意要把Unix移植到x86平台上,但是他没有使用Unix的源码,而是按照POSIX标准从零开始编写。随着对计算机技术依赖的程度逐步加深,人们摆脱大公司独家垄断的欲望逐步强烈,加之对信息安全的担心,这些客观因素也促进了Linux系统的普及。在中国红旗Linux、中标Linux等国产Linux Distribution甚至在政府采购中屡次夺魁。如今Linux的操作系统内核+来自GNU的支持性应用程序+KDE/Gnome的桌面应用,开源系统俨然已经逐步形成气候,对微软等大公司构成了强有力的威胁。笔者曾经预言,“试看将来的环球,必是开源的世界”,特别是通用的、低层的东西,比如操作系统、数据库、中间件都有开源化的趋势。君不见,原来对开源鄙夷不屑的Sun Microsystem公司也不顾身价,加入到开源的队伍中来。从一开始就支持开源的IBM,到心里恨得咬牙切齿嘴上不知道说什么好的Microsoft,还有基于FreeBSD开发的Mac OS X,新近开源的Solaris,倒是革命不分先后,开源的大旗迎风招展,有矢志不渝的,也有扛着红旗反红旗的伪革命派,开源的大好形势大家都是有目共睹。

  开源社区中还有一个旗手,就是Apache项目及其基金会ASF(http://www.apache.org)。Apache作为HTTP Server声名显赫,至今仍然是遥遥领先的寂寞高手。除了HTTP之外,Apache下还有众多的Web/Java的开发项目。Java的出现对开源运动的推进起到了推波助澜的作用,Apache和Java的结合则大大促进了Web应用的发展。Web应用是前些年推崇的瘦客户端概念的唯一继承者,也是集大成者。它客户端免维护、服务器端集中管理、免安装、跨平台、学习成本低廉等诸多革命性的优点让其应用范围得到爆炸式发展。而这些离开了Apache的贡献简直无法想象,如著名的Jarkata项目,Web开发框架Struts等等在开发人员中享有极高的知名度。Web/Java的开发模式早就被企业所接受,随着J2EE架构的逐步成熟以及越来越多的开源软件的涌现,相信Web/Java应用的前景也会越来越好。

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

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

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

  或许因为自由软件的英文表达为freeware,很多人把开源软件理解为免费的,没有任何知识产权的。的确有些软件是可以免费获得,但是这并不意味着所有的开放源代码软件都是免费的,而且对开源软件的知识产权的理解更是大错特错。开放源代码运动主张源代码应该共享,人人享有使用并修改源代码的自由,并提出了许多在社会、政治以及经济方面的有力证据。但这种理念与现有的知识产权存在一定的差异,因为它要求权利人让渡几乎所有全部重要的权利。

  开放源代码软件虽然也公开源代码,但其并不同于共有软件。开放源码软件是受著作权保护的作品,未经权利人许可不能随意使用。它和共享软件或免费软件最大的区别在于能否得到源程序并对其进行修改和演绎,况且它不对任何个人、团体或行业领域有歧视。总之,开放源码软件是完全享有著作权的,虽然其免费修改和发布的行为与商业传统有较大差别,但是开放源码运动正是利用了著作权所赋予的权利而“走到了版权的反面”。

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

  (1)自由再分发

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

  (2)源代码

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

  (3)衍生作品

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

  (4)作者源代码完整性

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

  (5)使用者无歧视

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

  (6)应用领域无歧视

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

  (7)许可的分发

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

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

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

  (9)许可不得限制其他软件

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

  (10)许可必须技术中立

  许可中不得包含依赖于某一技术或接口风格的条款。

  相对于传统的知识产权主流理论,开源主义者认为,在人们认为有价值的诸多价值之中,自由是最有价值的一种价值。Stallman说,自由对软件用户来说,就是人们使用、分发、学习和修改软件的自由。从OSI所定义开源软件的标准可以看出,这些软件是欢迎人们去使用的,因为开发产品的最主要的目的是应用。但是这并不意味着可以不假思索地去用,必须尊重软件的权利人所颁发的许可,否则就会陷入法律的泥潭。

  4、国内外开源的现状

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

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

  第二, 开源产品几乎涉及软件的各个种类。从最底层的操作系统到数据库、中间件、消息、安全产品再到协同软件、工作流、ERP、CRM,种类繁多,让人目不暇接。

  第三, 形成几大开源基金会与开源公司运作并存的局面。著名的几大开源基金有FSF/GNU、Apache、Mozilla等等,另外也存在既经营商业软件也维护开源社区的公司,比如运营MySQL的MySQL AB公司和运营SugarCRM的公司,还有一种情形就是IBM、HP和Sun等把自己的一些产品捐献给开源社区,比如Eclipse和Derby就是在IBM公司的VisualAge和Cloudscape的基础上演化而来的开源软件。

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

  第五, 大公司的参与越来越多,IBM、HP、Sun、Novell等公司纷纷跳水,加入到开源运动的洪流中,更有甚者,很多公司把专属软件捐献出来,这使得开源软件的层次得到了大大提高。公司和开源社区相得益彰,很多公司巧妙地利用开源软件赚钱,蓝色巨人IBM宣称2004年依靠开源赚得12.5亿美元的收入。

  第六, 政府的支持。许多国家从信息安全的角度出发,从一开始就对开源持有欢迎的态度,欧洲许多国家的政府已经考虑采用开源软件,我国国内也有很多行业、企业用户在衡量开放源码软件大量应用的可行性。目前为止,这些应用主要集中在Linux上,由于对其他开源软件缺乏足够的研究和了解,应用尚不充分。

  第七, 向高层应用的延伸,原先主要集中于编译器、编辑器等开发工具上,现在逐步向工作流、协同(比如项目管理软件)、CRM、ERP等高级、专业的应用领域扩展,这使得开源软件在企业中的应用领域得到进一步拓宽。

  以上主要谈了国外开源软件及开源社区的现状,我们现在回头看看国内开源的形势和特点。

  第一, 对开源的怀疑和不理解。笔者遇到很多人包括IT专业人员困惑地向我发问,为什么要开源?是不是在搞噱头?开源软件能用吗?由于Linux在marketing上的成功,人们对开源的理解似乎仅止于此,至于其他的嘛,闻所未闻,属乌有之邦。我不想挖掘不解的深层原因,只是告诉他们,世界上的确有一些被我们称为“傻子”的志愿开发者默默地支撑着庞大的开源社区,他们的快乐在于软件开发成功的那一瞬,他们的价值在当用户开始使用他们所编写的软件时得到实现。软件因为开放源代码,质量才更高,安全性才更好。

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

  第三, 局限于Linux。刚才也已经提到,开源软件在我国的研究和应用以Linux为主,对于其他开源软件知之甚少、研究甚少、应用更加少得可怜。这与我国一向提倡自主知识产权软件的开发不无关系,有些好大喜功之徒喜欢谈论自己开发了操作系统、甚至数据库云云。笔者认为,开源软件应用更能解决中国信息化的实际问题,与其好高骛远,不如从应用抓起、从了解、应用抓起。

  第四, 偏于研究、忽视应用。部分原因已经在上面第三点作了探讨,还有一个原因就是盗版软件的大肆流行,也让开源软件的应用缺乏动力,毕竟我们对微软等公司的产品太熟悉、太了解,“迁移”到开源软件成本不得不考虑。

  第五, 开源社区贫乏。与国外蓬勃发展的开源社区相比,我们国内要冷清得多,大概是我们的软件技术人员还是温饱线上挣扎的原因?还是因为“人而老则仕”,过了三十岁就要走上管理岗位?还是对技术的热爱只是叶公好龙?没有活跃的开源社区,缺少开源志愿者,更不要提回馈和捐助。中国是强势政府,如果政府不坚强宣传教育,不扶持开源社区,IT技术在我国的普及和扩散将仍然是一件难事。

  第六, 开源软件应用逐步开始向开源服务和解决方案方向发展,同时,缺乏开源解决方案规划和咨询服务,企业开源应用得不到很好的发展。所以,围绕着基于Linux系统的开源软件产品及解决方案应用规划、咨询、技术支持及服务,正将成为开源软件产业发展的新“瓶颈”。

  5、基于开源的解决之道

  只要遵循开源的原则,任何人都可以合法地利用开源软件的成果,站在过来人肩膀上继续研究,使得软件开发有了完全不同的起点。

  从以上分析中,我们可以得出结论,开源软件用于企业信息化特别是中小型企业信息化的在技术上、法律上和市场上都是可行的,下面我们展开具体分析。

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

  (2)法律上。已经在“开源中的知识产权问题”一节进行了分析,结论就是只要你遵循开源运动的精神(自由、开放、共享)、尊重其著作权和使用许可,take & give,人人为我、我为人人,就不会掉进知识产权的陷阱。

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

  中国信息化目前主要有两条道路。第一条路就是采用正版软件,此路目前只有金融、电信、电力、政府等实力强劲、管理意识先进和较大程度上依赖信息技术的行业在走,对大多数企业来讲,这条路太“奢侈”、太昂贵。第二条路就是不能提上桌面的盗版,随着时间的推移,这条路必将成为死胡同,或曰不归路更为贴切。此路荆棘弥补、险象环生,奉劝想有作为的企业还是敬而远之为好。笔者认为,开源软件的应用是中国信息化的第三条可行之路,而且这条路会越走越宽,随着第三条路的开辟,第二条路也就被堵住了。

  笔者认为,开源软件的应用是中国企业信息化的第三条路。

  我们简要分析一下专业的开源软件服务公司的业务模式。

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

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

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

  6、金光大道

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

  最后,我想用下面几句话结束此文:

  ① 试看将来的环球,必是开源的世界。

  ② 中国信息化的第三条路必是开源铺就。

  ③ 软件因为开源,所以质量更高、安全性更好。

  ④ 开源软件服务的目标是:

  把开源软件从技术神殿带进广阔的企业应用天地;

  把无数志愿开发者的劳动转化为切实的社会效益。

  ⑤ 开源让世界更美好、让社会更繁荣。

  第三条路,金光大道也。

作者: 魏锋 出处: 天极网