技术开发 频道

JRuby 1.0发布:使得Ruby能够和JVM兼容

【IT168 开源】 

    一、开源软件的单一性 

    多年以来在微软针对开源的批评中,或许最没有争议的就是开源软件缺少微软自身产品所提供的那种紧密的结合。开源软件的问题之一是,它们没有考虑到用户在互操作性和产品结合性方面的问题。开源项目都倾向于提供一个非常专注于某一方面的解决方案。 

    这种看法在过去可能大部分是对的,但是近年来在开源世界中正在发生一个重大的开发变化——综合开源企业软件包开始出现。其中许多的软件甚至可以运行在Windows上,而且是免费的,这引起了微软IT社区的兴趣,迅速成为传统解决方案的一种替代者。 

    微软更早就知道提供一个更广范围软件系统组合的强大威力,这主要是基于一个共同平台的标准化问题,可以随着时间的延续创建这样一个生态系统。网络效应意味着一个单独的大型生态系统要比由多个小系统拼合而成的系统功能强大的多,就如同上世纪80代年和90年代初,一些大型企业操作系统——也就是Unix——被分拆成无数的小操作系统,带来一些不兼容的问题。 

    GNU/Linux(自由软件基金会一直坚持使用这个名词,因为Linux内核本身上安装着许多GNU的工具)操作系统在上世纪90年代中期的崛起,逐渐创建了另一个主要的生态系统。 

    开源软件最大的优点之一,同时也被证明可能是它的一个缺点。开源软件的关键思想之一就是它可以让开发人员自由地朝着他选择的方向开发自己的应用程序,他们没有有必要必须去考虑到某个单独个人客户的特定要求。许多开源项目是由一些只想解决一个自身问题的开发人员所创建的,或者是与另一群相似需求的人共同创建的。 

    这种无拘无束的创造性所带来的结果是一个七拼八凑起来的软件,有时不能与企业的真实需要完全一致。 

    首家也是最成功的开源公司Red Hat的创始人之一Bob Young,早在1990年就开始对这种状况表示担忧。 

    操作系统平台的成功与那些销售操作系统的家伙没有多大关系,而与这个操作系统周边的生态系统有很大的关系。微软可能是Windows市场中受益最多的公司,但是他们也只占了整个业界收入的很小一部分。之所以你可以用一个基于Windows的计算机完成几乎所有事情,还是因为围绕Windows有很多软件产品厂商。 

    从Windows成功的背后,开源业界应该意识到的事情是必须搭建自己的生态系统。

    二、LAMP诠释成功的一条明路 

    Red Hat当时的努力主要集中于劝说知名公司(诸如IBM和甲骨文)认真对待GNU/Linux,最终开放这些主流专有企业产品与GNU/Linux平台的接口。 

    开源开发工具组合LAMP是第一个纯开源的生态系统组合,尽管它的规模还比较小,它的名字来源于四个组成部分:Linux操作系统、Apache Web服务器、MySQL数据库和PHP(Python或Perl)脚本语言。 

    结合在一起,它们形成了第一个综合性开源开发工具组合,它采用了与微软进行软件捆绑的相同的方式,为企业提供软件开发解决方案。这个组合的强大之处从其生存时间可见一斑, 

    从1998年这个由首字母缩写的组合诞生以来已经存在了近10年的时间,LAMP组合现在依然被广泛使用。使用它可以快速而低成本地创建复杂的Web站点。据说,在Web 2.0公司、新兴公司和软件即服务(Software as a Service,SaaS)公司中,大约有90%的人在使用LAMP。 

    虽然LAMP作为一个例子向我们展示了一个综合开源解决方案会是多么的成功,开源界还正在研究如何阻止自由软件向多样化、不协调的解决方案发展的趋势,方法之一是定义一个共同的平台,来推动创建一个更大、更丰富的开源生态系统。 

    举个例子来说,聘请了Linus Torvalds研究Linux内核的开源组织Linux基金会,数年来一直在致力于建立一个叫做Linux标准基础(Linux Standard Base,LSB)的大型项目。与微软的控制Windows版本的发布不同的是,没有官方版的GNU/Linux。这个免费的操作系统作为“发行版”的一部分,任何人可以把多样化的软件集中放到一起。这种自由性导致了各个Linux系统之间巨大的差异性:目前有数百种专门的“发行版”可用,而且每周都会出现更多的版本,它们之间的细微差别却成了应用程序开发之痛。 

    Linux基金会的首席运营官Dan Kohn解释了它的组织是如何解决这个问题的:“LSB就是要发现所有大型发行版中共同拥有的软件子集,并对其进行标准化,因此,应用程序提供商可以根据它来进行应用程序开发。其指导思想是任何LSB认证的Linux应用程序将可以运行在任何LSB认证的Linux发行版上。”

    三、开源厂商开始拧成一股绳 

    就在Linux基金会在通过孕育一个以操作系统为中心的生态系统,来复制微软的成功的同时,Eclipse基金会正在为开发平台做同样的事情。Eclipse在2001年11月首次进入人们的视野,当时IBM捐献了号称价值4000万美元的代码给开源社区。IBM创建Eclipse.org的目标是为Java创建一个开发工具和一个生态系统,以在大小、范围和重量级上可以与微软的Visual Studio开发工具组合相抗衡。 

    这个生态系统思想的主要提出者Skip McGaughey,当前Eclipse系统的负责人,解释Eclipse的来源说:“我们的客户告诉我们,他们已经厌倦了去自己整合开发工具。这让我们产生了创建这个技术的想法,同时推动了这个系统的诞生。” 

    而事实上,互操作性是Eclipse系统的必走之路。 

    IBM很快意识到它对Eclipse的一系列动作和工作对Eclipse使用者和开发人员来说是一个阻碍:即使Eclipse是在一个开源授权协议下使用,其他开源厂商依然认为Eclipse是一个IBM控制、IBM领导的项目。IBM然后决定采取下一步,即让Eclipse基金会作为一个单独的法律实体来创建和运作。 

    而独立性使Eclipse具有一个很大的优势。 

    微软已经围绕Visual Studio和.NET创建了一个极具影响力的强大生态系统,Eclipse的不同之处是其动机是非常纯粹的。Eclipse基金会的人的工作,不是为股东赚钱,不用像一些以盈利为目的的公司那样运行。Eclipse就是要通过一个厂商中立、公平的方式来让这个系统成长起来。 

    因此,Eclipse现在发展了起来。当这个基金会最初创建的时候只有50名成员,现在已经成长为具有多达155个成员的组织。类似的情况是,Eclipse项目的数量已经从大约12个变为70个。 

    虽然Linux和Eclipse基金会都已经如此成功,但是它们都没有解决企业所关心的一个问题:开源应用程序缺乏简单的互操作性。 

    解决这个问题的首次尝试来自于一些开源公司,它们把综合的开源软件放在一起来解决特殊的企业问题。其中的先行者是SpikeSource公司,它创建了事先创建好的“Spikelgnited”开源软件集,来提供完整的商业智能、企业内容管理、协作、电子邮件、CRM和Web内容管理解决方案,通过这样一种方式,让企业更容易安装、管理和更新开源软件。 

    这种方式的支持者表示,开源应用程序组合让企业消除了一种想法,即开源项目是一个异类的无组织的乌合之众,不能给企业带来什么有价值的功能。而且,开源软件组合的存在,对于企业开源软件的编写方法具有一个积极的影响,大多数企业级开源世界开始对组合的思想逐步关注,以确保它们的项目可以与组合中的其他软件完美共处。 

    或许这种新的集体责任感意识的最好的证据就是在今年1月份成立的开放解决方案联盟(Open Solutions Alliance,OSA)。 

    最近两三年以来出现了很多商业化的开源公司,专注于企业应用程序。这是开源的一个自然进化过程。它从操作系统和开发工具开始,现在已经逐渐想向开源软件组合发展。开放解决方案联盟中大部分成员主要提供单点解决方案,大多数厂商已经发现客户需要的不仅仅是单点解决方案,它们需要以某种方式对这些解决方案进行整合,或者它们需要整合这些单点解决方案到一些已有的体系中。 

    和Eclipse一样,开放解决方案联盟是一个非盈利性组织,它不销售任何公司的产品,它是一个类似于“商会”的交易协会,集中解决共同的问题。开放解决方案联盟为企业用户提供集成的、可迅速部署的解决方案。通过相互的支持合作,OSA有助于简化互操作性,减少采用技术的障碍,在业务中提高对开放源代码软件的优势的敏感度。 

    两个早期的OSA项目包括创建一个通用客户视图和提供跨应用程序的一个单点登录工具。

    四、开源、微软都开始喜欢打“组合拳” 

    开源应用程序已经广泛的运行在Windows操作系统上,与LAMP相对应的,还有个Windows+AMP(WAMP)。尽管MySQL的40%以上的下载是针对GNU/Linux的,但也有大约30%是针对Windows平台的。 

    人们常常在Windows上开发,而在Linux上部署。在Windows用户中,Eclipse的普及程度甚至更大,Eclipse的87%的下载是针对Windows的,Linux只占9%。Eclipse更像是更广大的Widnows开发系统的一部分。 

    现在,开源企业组合已经开始出现在Windows上。今年五月份,SpikeSource宣布,它计划与微软合作来认证所有的SpikeSource的Spikenited解决方案在微软的Windows平台上支持。在SpireSource宣布的前一天,微软平台战略部门的总经理Bill Hilf在博客中已经透漏了这次合作,“我们希望发展壮大软件系统,包括开源软件,因为它也与微软的软件有关系。” 

    很明显,这是一个微软和开源世界具有共同兴趣的地方。在一个健康的系统中,每一个人都有收获。

0
相关文章