开源、自由展魅力

IT商界

  重视:整个IT界在关注

  9月初,日本政府有关官员宣布将邀请中国、韩国一起开发基于Linux的操作系统,希望通过对目前公开源代码的操作系统进行改进,开发出一种价格低廉、更具安全性的新型电脑操作系统,目的是将联合开发出的新操作系统用于这些国家的下一代手机、数码相机以及其他数字产品上。

  近年来,开放源代码软件(Open Source Software,以下简称开源)与自由软件(Free Software,以下简称自由)对整个IT界产生了不小的影响,它们产生了以Linux、Apache、MySQL、PHP、JBoss等为代表的开放源代码软件。世界上很多知名的大公司(比如IBM、SUN)都开始支持和实施开源项目了。不管是挑战微软,还是实现自我发展,几乎都把注意力集中在了开源软件和自由软件身上。

  如果你有幸到SourceForge.net网站看一看,你会深刻认识到开源软件强大的影响力。它们已经占据了软件行业的方方面面。可能你的公司现在需要花数万元才能买到的系统可以在那里免费得到,并且零费用使用;可能你正在开发的一个软件系统的大部分功能都已经被别人做好了!那么你是耐着性子从头做起,还是修改一下相应的开源软件为我所用呢?

  在过去10年中,伴随着“开放源代码”运动的兴起,大量免费的自由软件开始出现,微软Windows操作系统和Office办公软件的地位日益受到严重的威胁。以前,微软一直叫喊“开放源代码”运动是微不足道的;但是,目前微软公司已经承认自己的统治地位正在受到开源软件的威胁,并且推出了所谓的“共享源代码”计划来抵抗开源软件的威胁。

  认识:你知道开源和自由吗

  开放源代码软件是指软件的使用者可以自由获取源代码。开源软件的出发点是自由而非免费。它的目的是通过公开源代码来吸引更多的人加入到开发的队伍中来,每个人可以通过各种许可证协议来约束你的开源项目,为以后商业化做好准备。

  自由软件是指允许任何人使用、拷贝、修改、分发(免费/少许收费)的软件。尤其是这种软件的源代码必须是可得到的。从某种意义上说,“没有开源代码,就称不上是自由软件”。相对开源软件来说,自由软件是最高层次的开源。当然这里的Free Software不同于Freeware(免费软件),自由软件并不一定是免费的,但是就目前来说,大多数自由软件都是可以免费获得的。

  开源和自由从来都是不可分割的,但严格地说,开放源代码软件与自由软件是两个不同的概念。只有符合开源软件定义的软件才能被称为开放源代码软件(开源软件)。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。但在现实上,绝大多数开源软件也都符合自由软件的定义,甚至,一般所说的自由软件,也包括开源软件。

  开源的目的是营造一个自由发展空间,让知识和技术能够更好地共享和传播,让更多的人能够充分发挥他们的创造能力。

  前景:开源乃大势所趋

  开放源代码软件的最初注意力集中于一些底层软件,如Linux等操作系统或Apache等Web服务器。它们的参与者也多是一些业余编程高手、黑客、编程爱好者等。随着时间的流逝,开放源代码软件的领域也在扩大。它不再限制于底层技术,参与者也不仅是那些编程爱好者,很多商业公司都加入到了开放源代码软件这种自由社区之中了。

  从目前的开源软件产品来看,Linux、MySQL、Apache、PHP、JBoss等都是深受广大用户喜爱并且给开源组织带来丰厚利润的产品。它们在整个软件领域中占据着举足轻重的作用。

  印度、中国、巴西、秘鲁和澳大利亚的政府部门,都在鼓励使用Linux和其他“开放源代码”软件;特别是印度,对开源的支持是有目共睹的。中国政府也对开发Linux产品相当重视。欧盟国家也在寻求摆脱微软的方法,正在准备建设以Linux为核心的网络系统,并预计总开支会节约65%。

  另外从IBM、HP等国际大公司对开放源代码的投入和回报来来看,这些公司对开源是充满信心的。在Source Forge、IBM Developworks站点,你可以接触到相当多的开源项目和相关资料,这些资料可以让你对开源的前景状况有一个更全面的了解。

  这些迹象表明,在未来开放源代码将长期存在,并将得到更多公司、个人以及国家府的支持。

  1983年,自由软件(Free Software)运动的先驱理查德·斯托曼决心要开发一个完全自由的、与Unix类似但功能更强大的操作系统,并把它定义为GNU。GNU所确定的组织标志就是一个角马的头像。

  著名的开源项目

  Apache是一个开源的Web服务器,具有稳定,安全,快速等特点。目前,它占领了大部分Web服务器市场。

  OpenSSL项目是一个安全项目,它的目标是开发一个健壮的、商业级的、完整的开放源代码的工具包。它包含了完整的加密算法,数字签名算法及证书算法等,以保证数据的完整、保密和正确性。

  MySQL是一个开源的小型关系数据库项目。MySQL的目标是为中小企业实现一个高速、稳定的关系数据库管理系统。据评测,它的运行效率远远高于Oracle、SQL Server等大型关系数据库管理系统。

  JBoss是一个开源的Java应用程序服务器。近来在Java开发人员社群中备受欢迎,且逐渐引起IT主管注意,有意用它来当作J2EE商用软件的替代选择。

  JXTA项目是一个开源的P2P工程和草案,它与语言和平台无关,允许任何一种接入设备(蜂窝电话、PDA、计算机、嵌入式设置等)在网络上互相通信合作。

  SkyEye开源项目的目标是在通用的Linux和Windows平台实现一个仿真集成开发环境,模拟常见的嵌入式计算机系统。

  当然除了上面所说的开源项目之外,还有很多比如目前很有名气的BitTorrent、Gaim、Emacs、ACE、VxWindows、GCC等软件项目都是开源的。