不可抵挡的开源软件潮流(一)

发表于:2007-07-04来源:作者:点击数: 标签:
现在OSS/FS(开放源码软件/自由软件)得到了日益广泛的应用。简单来说,OSS/FS就是允许让所有用户自由使用的软件。用户可以更改程序代码,并且还可以发行更改后的软件。也许大家已经听过OSS/FS的诸般好处,但是作为公司老总,或是作为IT主管,或是作为普通用户
现在OSS/FS(开放源码软件/自由软件)得到了日益广泛的应用。简单来说,OSS/FS就是允许让所有用户自由使用的软件。用户可以更改程序代码,并且还可以发行更改后的软件。也许大家已经听过OSS/FS的诸般好处,但是作为公司老总,或是作为IT主管,或是作为普通用户,每个人都希望不是因为道听途说而选择使用OSS/FS。本文将以量化分析的方法,来说明为何企业使用OSS/FS会是明智之举。在随后的两期中,我们还将介绍扩展性、安全性、TCO等方面的问题。



很多站点都会告诉你应该使用OSS/FS,并且会告诉一些成功的个案,而不会提供足够的信息来作为用户进行判断的依据。与之不同的是,我们将通过数字(比如实验和市场研究的数据)来向你说明为什么在很多情况下使用OSS/FS是非常合理的?

首先需要说明的是,我不是一个狂热的OSS/FS爱好者,事实上,在日常工作中我同时使用着OSS/FS和专有软件。专有软件的厂商一般都会努力去寻找一些数字来支持自己的观点,而本文中我提供了一些数字可以对OSS/FS和专有软件进行一些比较。此外要注意,本文的目的并不是要说明所有的OSS/FS都比所有的专有软件好,我们只是将常用的专有软件和OSS/FS产品进行比较,并以此来告诉读者,至少在有的时候一些OSS/FS产品要比与之相应的专有软件好(或者一样好)。当然,无论是专有软件还是OSS/FS,都有一些在技术上设计得非常差的产品,或者有的软件产品虽然设计得非常好,但却并不能满足你的特定需求。但是在现实中,绝大部分人在购买软件时会在不同的专有产品之间进行一下比较,而根本不会考虑采用OSS/FS。这里就是要解释一下为什么要考虑OSS/FS产品。我并不对迁移的方法进行讨论,但是有一点可以肯定,如果一个公司或者企业只想在短期内迁移至OSS/FS,那将毫无意义。

这里主要强调的是操作系统GNU/Linux(以下简称为Linux)和Apache Web服务器,因为二者是最常见的OSS/FS项目。由于作为专有软件厂商的微软占有很大的市场份额,因此我将主要比较OSS/FS产品和微软的产品(比如Windows和IIS)。虽然今天Unix的处境非常尴尬,我还是会提及Unix系统的过去。事实上,现在的Unix系统中包含有很多OSS/FS的内容,或者从OSS/FS产品演变过来的组成部分。因此,专有Unix系统与OSS/FS系统之间的界限经常不是很清楚,所以使用“类Unix”来进行描述。“类Unix”表示系统内部和Unix相似的系统,Unix和Linux系统都是“类Unix”系统。而新版的Mac OS X也有同样的问题,老版本的Mac OS完全是专有的,而现在的Mac OS则是经过重新设计以后,采用的是Unix系统的内核。事实上,现在的苹果公司鼓励和OSS/FS开发人员进行合作。我的数据中包括了好几年的数据,而不仅仅是去年的。在得出一个结论时,所有相关联的数据都应该考虑到,而不应该武断地忽略掉一些老的数据。

注意,人们在使用“开放源码软件(OSS)”时强调的是这些软件在技术方面的优势(比如可靠性和安全性),而使用“自由软件(FS)”时则强调的是其可以被自由控制的特性。OSS/FS的对立面是“封闭”或者说是“专有”软件。对于那些虽然可以查看源代码,但不能被更改源代码并且无限制地重新发行的软件产品(比如“可查看源代码”软件、“共享源码”软件等),由于其并不符合OSS/FS的规范,故不在本文的讨论范围之内。很多OSS/FS都是商业程序,所以不要把OSS/FS与“非商业”等同起来。对于OSS/FS,我们还有其它一些说法,比如“Libre Software”(这里的Libre意思是完全的自由)、Free-Libre and Open-Source Software (FLOSS)、Open Source/Free Software(OS/FS)、Free/Open Source Software(FOSS)、Open-Source Software (事实上, 在这些称呼中“Open-Source”是使用最为广泛的一个定语)、Freed Software、Public Service Software (因为很多这类的软件项目都是针对某一公共应用领域的)。注意,OSS/FS并不是“免费软件”,免费软件的概念通常指的是一些商用软件在分发时无需支付费用的情形,这些软件并不赋予用户对软件源代码或者测试、修改或者重新发行的权力。最流行的OSS/FS许可是GPL(General Public License),所以在GPL规范下发行的软件都是OSS/FS,但并不是所有的OSS/FS软件都使用GPL。现实中,我们经常会看到有人使用一个不是很确切的说法,那就是“GPL Software”,实际上指的就是OSS/FS。

下面内容中,我们将讨论OSS/FS的市场份额、可靠性、性能、可扩展性、安全和TCO等方面的内容。此外我们还要讨论一些非数字方面的问题以及用户在接受使用OSS/FS时存在的一些不必要的担忧,还有OSS/FS在桌面应用等方面的内容。

表1 本文中需要使用到的一些缩写
javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">

市场份额

在很多人的观念里,一个产品只有占据了足够的市场份额,才能够被称之为一个成功的产品。虽然这种说法不一定完全准确,但还是有一些合理的成份:一个拥有很大市场份额的产品很容易获得相关的应用程序、训练有素的使用人员并且可以降低一些未知的风险。也有人认为OSS/FS或者Linux还没有成为主流产品。很显然,这种观点已经过时,因为已经有充分证据来证明OSS/FS在众多领域里占据了非常大的市场份额:

1.统计显示,最流行的Web服务器是OSS/FS。比如Apache就是现在排行第一的Web服务器,其市场份额比位于第二位的产品高出了一倍多。

Netcraft在Web服务器上的统计(http://www.netcraft.com/survey)显示,自从1996年4月以后,Apache就成为了Web服务器领域应用最为广泛的软件。而在此前,使用最广泛的Web服务器是NCSA Web服务器(这是Apache的前身,也是OSS/FS)。它在1995年8月至1996年3月间占据了Web服务器市场份额第一的位置。

从2000年开始,Netcraft就尝试只计算那些“活跃”的Web站点。因为很多Web站点被创建以后并未被使用(比如虽然注册了域名但并未使用),这样的站点就属于“非活跃”的站点,很显然,这种统计方式更能反映实际的情况。在统计活跃的站点时,2002年9月的数据是Apache占据了66.4%的市场份额,IIS占据了24.8%,而iPlanet的份额是1.57%,Zeus的份额是1.34%。图1反映的是2000年6月至2002年9月,Web服务器市场份额的变化情况。

图1 2000年6月到2002年9月的Web服务器市场份额

此外,Netcraft在2002年9月调查Web站点采用的是统计“IP地址”的形式,而不是统计主机名。这有效地去除了那些一台主机运行多个站点,并且拥有多个主机名的情况。

E-soft(http://www.securityspace.com/s_survey)进行的另外一个独立的调查也显示了Apache在Web服务器领域占有统治地位。该调查报告发布于2002年10月1日,共调查了9045027个Web服务器,得出的数据是Apache名列第一,市场份额是66.75%,接下来是IIS(21.83%)。E-soft还专门对安全的服务器(支持SSL/TLS的Web服务器,比如电子商务站点)进行了调查,即使是在这些领域,Apache的市场份额也有51.2%。而在同一领域中,IIS的份额是34.85%,iPlanet的份额是5.68%,Stronghold的2.71%。因为Stronghold是将Apache重新打包以后发行的产品,所以Apache这个领域的实际市场份额应该是53.97%。

很显然,各个Web服务器的市场份额经常都处于变化之中,最新的情况我们可以查看上述的相关链接。实际上,在最新的数据中,Apache依然遥遥领先。

2.根据Netcraft 2001年3月至6月的调查数据显示,Linux是Internet上第2位的Web服务操作系统(以物理主机来计算)。

Netcraft在2001年6月和2001年9月的两次调查发现,在以物理机器进行统计的情况下,Linux占据的Web服务器市场份额位居第2位(而这个份额从1999年2月开始就一直处于上升状态)。表2是调查结果的概要。

表2 Web 服务的操作系统应用情况


事实上,BSD(FreeBSD、NetBSD和OpenBSD)也是OSS/FS,所以BSD中6.1%的份额至少有一部分应该加入到Linux中的29.6%之中,来组成使用OSS/FS 操作系统的Web服务器的份额。因此,大约有三分之一的Web服务器计使用的是OSS/FS操作系统。此外,各个操作系统的份额在区域上也有所不同,比如在德国、捷克、波兰,Linux的份额要超过Windows

从数据中我们可以看出,Web站点的操作系统实际上有两大阵营,也就是“Unix和Windows”。因为统计Windows份额时考虑了所有Windows操作系统(其中有Windows 95/98和Windows 2000/NT4/NT3,而它们实际上有很大区别),所以如果也把所有“类Unix”系统算上的话,2001年3月的数字应该是44.8%。

著名的使用OSS/FS的Web站点有Google(Linux)和Yahoo(FreeBSD)等。

3.据1999年的调查数据,在欧洲和世界教育领域的站点中,Linux是市场份额最高的服务器操作系统(以域名来计算)。

这份由Zoebelein在1999年做出的报告(http://www.leb.net/hzo/ioscount) 显示,1999年所有连接在Internet上的服务器(至少运行着ftp、news或者www服务中的一个),Linux的市场份额是最高的,有28.5%(如表3)。这个调查非常重要,因为这是我看到的最高的有关尝试来回答市场份额方面的问题的调查。该报告从现有的服务器数据库.edu(教育的域)和RIPE数据库(它包含了欧洲、中东、亚洲和非洲的部分地区)提取数据,所以实际上它并不是对“整个Internet”进行调查(比如还有.com和.net域没有调查)。这次调查是通过域名(也就是我们进行Web浏览时输入到浏览器中的URL)来进行的,而不是对物理计算机进行统计,因此其统计结果与Netcraft在2001年6月进行的有关操作系统的调查研究有所不同。此外,这次研究中的服务器也包含进了ftp和news服务器(而不仅仅是Web服务器)。表3是这次调查的一些基本情况。

表3 1999年所有连接在Internet上的服务器情况


我们知道,相当一部分的BSD家族都是OSS/FS,如果这个数字是三分之二的话,那么OSS/FS的总的份额就应该是40%。而对于支持Unix的人会发现,类Unix的操作系统占据了约66%的份额,相比较而言,各个Windows版本的份额只有24%。

4.1999、2000和2001年,Linux的销售额位居第二。

据IDC 2000年6月发布的一个有关1999年的调查显示(http://www.idc.com/itforecaster/itf20000808.stm),在所有的服务器中(包括Internet和intranet服务器),1999年有24%运行的是Linux。Windows NT位居第一,其市场份额是36%,而其它各类Unix系统的总和为15%。由于一些Unix系统本身也是OSS/FS系统(比如FreeBSD、OpenBSD和NetBSD),因此,OSS/FS系统的数量实际上要比Linux的大得多。调查显示有39%(24%+15%)的服务器安装的是类Unix的系统,因此类Unix系统的市场份额还是应该是第一。

在2001年1月17日,IDC发布了一个类似的研究,标题是“服务器操作系统环境:2000年回顾”(http://www.computer.org/computer/homepage/june/ind_trends/index.htm)。这份报告显示,在2000年新出售的服务器中,Windows占据了41%的份额,增长了20%,Linux的份额是27%,并且增长率最快,为24%。其它各主要Unix版本的份额则为13%。

IDC 2002年的报告显示,Linux继续了其25%的增长势头,而这一切,都是从1995年只有0.5的市场份额开始的。

5.EDC(Evans Data Corporation)的调查显示,在未来的嵌入式开发项目中,Linux和Windows(包括Windows CE和Windows XP)系统将是绝对的领导者。

2002年7月的EDC嵌入式系统开发人员调查中,问开发人员的问题是:“在下列的操作系统中,请选择你目前的开发项目正在使用的或者以后的项目即将使用的操作系统”。EDC共从444个开发人员处获得了调查问卷。结果是:30.2%的嵌入式开发人员正在使用或者希望使用Linux,有16.2%的人说它们将使用Windows CE,而14.4%的人说它们将使用Windows XP Embedded操作系统。如果把两个Windows嵌入式操作系统合起来,那么它和Linux的份额就差不多(30.6%对30.2%)。然而,不同的是,嵌入式Linux有近200%的增长率。

6.EDC 2001年11月公布的报告发现,国际上48.1%的开发人员和北美地区39.6%的开发人员计划将其主要的应用程序运行在Linux之上。而在2002年10的调查中,发现有59%的开发人员希望在下一年开发运行于Linux下的应用程序。

EDC 2001年11月的这次国际开发人员调查报告对来自70多个国家的400名开发人员进行了深入的调查。这个结果非常让人吃惊,因为就在此前的一年的调查中,还只有不到三之一的国际开发人员社区在开发Linux下的应用程序。这次调查同时还发现有37.8%的国际开发社区和33.7%的北美开发人员已经为Linux写过应用程序。

2002年10月的EDC调查报告也显示,Linux正在持续扩大其用户群体,有59%的被调查人员表示有意在下一年中开发Linux应用程序。

另外,日本2003年Linux白皮书(http://oss.mri.co.jp/)显示,在日本有49.3%的IT方案提供商支持Linux。

7.在日本的调查发现,使用和对Linux提供支持已经是非常普遍的事情。使用Linux的日本企业已经从2001年的35.5%增加到了2002年的64.3%,并且对一些小项目来说,Linux是应用最为广泛的平台。

2003年Linux白皮书(由Impress 公司出版)对Linux在日本的应用情况进行了调查,它是此前发布的2001-2002Linux白皮书的更新版本。该调查分成了两个部分:用户和厂商。第一部分是企业用户,他们调查了729家有服务器的企业。第二个部分是方案提供商,他们调查了276家提供服务器的计算机厂商,这其中包括了系统集成商、软件开发商、IT服务提供商和硬件零售商。下面是一些调查的数据:

首先我们来看一看企业用户使用Linux服务器的情况(表4)。
表4 企业用户使用服务器的情况(日本)

表5是2002年的平均使用数量。
,br>表5 2002年每家企业服务器平均用量(日本)


从2002开始,Linux已经成为了增长最快的服务器,被调查企业中每一家企业拥有的Linux服务器数量从5.3台增长到了13.4台。

表6 厂商对服务器提供支持的情况(日本)

这里显示的是开发或者出售支持Linux服务器的厂商的比例。很显然,与其它的竞争对手相比,Linux已经是主要的操作系统之一。
,br>8.商业领域计划增加对Linux的使用。

Zona的研究发现有近一半的大企业希望将企业内Linux用户的数量增至25%,有20%的企业希望增长至50%。在小公司中,有三分之一表示Linux的使用将达到50%。很显然,可靠性、低价格、性能和可扩展性是主要的推动力。表7是一些相关数字。

表7 企业希望使用的Linux数量情况

9.据Idaya在2001年3月的调查,全球排名前1000位的ISP(Internet服务提供商)中,使用Linux的数量增长了154%,并且有近三分之二的ISP(64%)正在考虑使用OSS来满足企业级应用程序方面的需求。

OpenForum Europe 2002年对从事金融服务、零售和公共部门的CIO调查发现,有49%的CIO正在使用OSS/FS。这份调查报告名为“开放源码市场机遇分析”。这个调查进行了3个月,在这些调查中,有37%的CIO表示他们已经在使用OSS/FS,有49%的CIO表示他们准备使用OSS/FS。而很有可能很多公司已经在使用OSS/FS,只不过它们的CIO并没有意识到罢了。他们对OSS/FS认知的理由有:可以降低成本(占54%)、更低的许可费用(24%)、能更好控制的开发(22%)和更好的安全性(22%)。

10.2001年6月,IBM公布的数字显示运行于Linux之上的企业级应用程序在6个月的时间里增加了30%。在一段时间里,“Linux下没有足够多的应用程序”曾经是一个普遍的共识。然而,IBM的调查发现在2001年的时候就已经有2300个可行动于Linux之下的企业级应用程序(在半年之内增长了30%),这些应用程序由IBM或者其它的ISV(独立软件开发商)提供。

11.Gartner Dataquest的数据显示,与2001年的第4个季度相比,在2002年的第4个季度,基于Linux服务器的系统销售额增长了90%。而在同一时期,整个服务器市场的销售额只增长了5%。根据Gartner Dataquest提供的数据,从2001年到2002年,Linux服务器的销售额增长了63%,从13亿增长至了20亿。

12.2001年的一个调查显示,有46.6%的IT从业人员相信它们的公司或者企业将支持Linux,这个数据甚至超过了人们对Windows的期望。这个名为《Benchmarks、Trends and Forecasts:Linux Report》的调查由TechRepublic Research来进行。调查发现,当问及自己所在部门会支持何种操作系统时,IT从业人员对Linux的支持非常令人吃惊。就桌面而言,微软获得更多人的支持,这是意料中的事情(对NT的支持率是90.6%,Windows 2000的支持率是81.6%)。然而,让人出乎意料的是,Linux名列第三,获得的支持率有46.4%。有近一半的受访者表示他们的公司或者所在的部门已经准备好了支持和使用Linux。尤其让人吃惊的是,Linux击败了其它一些非常有名的操作系统。这些操作系统包括Unix(42.1%)、Novell Netware(39.5%)、Sun Solaris(25.7)和Apple(13.6)。TechRepublic认为,之所有得出这样的结果,和以下的因素有关:

◆ 因为Linux被认为是一个正在迅速成长的技术,因此很多IT专业人士都正在准备学习或者已经掌握了如何使用它,并且相信它将是一个非常有前途的技术。

◆ 很多IT专业人士已经在家使用Linux,这为Linux进入公司和专业部门作好了准备。

◆ Linux与Unix非常类似,因此对于那些从事与Unix有关行业的IT人员,很轻易就可以掌握Linux。

TechRepublic认为,IT经理人应该为他们的员工做好技术贮备,即使它们现在不使用Linux,也应该为以后使用Linux做好准备。

13.Sendmail,一个引领电子邮件服务器的OSS/FS软件。2001年9月27日至2001年10月3日,D.J. Bernstein对一百万个随机IP地址进行了调查(http://cr.yp.to/surveys/smtpsoftware6.txt)。结果连接成功的SMTP(电子邮件)服务器有958个(这些服务器有时也被称之为MTA,即邮件传输代理)。Bernstein的调查发现,在这些电子邮件服务器中,Sendmail占有最大的市场份额(42%),接下来是微软的Exchange(18%)、Unix qmail(17%)、Windows Ipswitch Imail(6%)、Unix smap(2%)、Unix Postfix(原来的Vmailer,2%)和Unix Exim(1%)。请注意这里提到的Qmail,很显然它对Sendmail的市场份额造成了一定的冲击,但它并不是一个OSS/FSS。原因是由其派生出来的产品并不能自由地再发行。因为Qmail的源码是可以看到的,所以很多人经常将其误认为是OSS/FS。不过,Sendmail、Postfix和Exim都是OSS/FS。事实上,Sendmail不仅是领先的OSS/FS,而且与位于第二位的Exchange相比,它的市场份额要大2倍多。

14.2002年第二季度进行的一个调查发现,在互联网上运行着的DNS服务器中,OSS/FS产品bind占据了95%的市场份额。Internet由很多不可见的基础构件组成。这其中就包含了DNS,它给用户提供了易于记忆的机器名称(比如yahoo.com),并且将它们翻译成数字地址的形式。对于那些用于公共服务的机器一般还提供“反向查询”的功能,这种功能可以把数字转换成名字。由于历史的原因,这种功能使用的是被隐藏的“in-addr.arpa”域。对in-addr域的调查,可以让我们更加了解整个Internet是如何运作的。Bill Manning对in-addr域的调查发现,有95%的域名服务器(2的2000次方个服务器中)使用的是各种版本的“bind”。这其中包括了所有的DNS根服务器,而这些根服务器对整个服务器的正常运转起着至关重要的作用。

15.PHP使用最广泛的Web服务器端脚本语言。PHP是一个源码开放的服务器端脚本语言,它设计用于创建动态的Web页面(比如电子商务网站)。2003年6月3日的一个调查发现,PHP已经超过了微软的ASP,成为了Web服务器端使用得最多的脚本语言,有24%的Web站点都在使用这种脚本语言。在被调查的3760万个Web站点中,有超过900万个站点使用的是PHP,而在此前的两年里,PHP市场份额的平均月增长率达到了6.5%。

16.OpenSSH是Internet上使用最广泛的SSH安全协议。SSH(Secure Shell)协议是进行计算机间安全连接或者进行远程控制时使用非常广泛的一种协议。2002年4月,在对240万个Internet地址的调查中发现,OpenSSH(一个OSS/FS的SSH)是使用最为广泛的。它占据了66.8%的市场份额,而专有“SSH”占据了28.1%的市场份额,Cisco是0.4%,而其它产品的份额是4.7%。我们可以在OPenSSH的主站点上(http://www.openssh.org/usage/index.html),了解到这次调查的更详细的信息。

值得注意的是,在2000年第三个季度OpenSSH的市场份额还不到5%,但此后就一直稳步增长。到2001年第4季度的时候,已经有超过一半的SSH用户正在使用OpenSSh,并且这个数字还一直在增长。

除上述内容以外,我想最简单的讨论Linux已经占据了非常重要的市场份额的办法就是看一看IT业巨头Sun和IBM的举动:Sun已经对其Solaris产品进行修改以让其可以运行Linux下的应用程序,而IBM也宣布最终将使用Linux来代替其声名显赫的AIX。

下一篇

原文转自:http://www.ltesting.net