信息化 频道

SUN的开源梦

编者按:对于Solaris和Java,Sun采取了部分开源、部分收费的策略。

  多年来,太阳计算机系统公司(Sun)几乎就是“开放”计算的同义词。其实,也就是Sun公司开发的Solaris操作系统,这是基于开放工业标准的系统。上世纪90年代,Sun公司首席执行官(CEO)斯科特·麦克尼利(Scott McNealy)几乎只要一开口,都会提到这一点。但是,在新的软件业中,“开放”意味着代码公开就可获得。在开源(Open Source)这一领域中,Sun公司只是个后来者,而非领先者。麦克尼利和他的员工们非常希望改变这一现状,当然,改变这一现状的前提是有数百万的用户和开发者们能参与到Sun公司的策略中。

  2005年,Sun公司公布了针对Linux的发展策略,并同时发布了OpenSolaris操作系统。该系统是Solaris10的一个版本,无论是普通开发者,还是微软公司(Microsoft)的首席软件构架师,都能够非常方便地访问到这套操作系统的核心、运行库以及它的内部命令。

  Sun公司的下一步就是Java。在2005年6月美国旧金山举行的JavaOne大会上,Sun公司展示了新产品Java应用服务器。该产品是提高应用操作性能的关键组件,公司将根据自己的开源许可规则—“授权草案”(Common Development and Distribution License)将这一产品提供给用户。这是Sun公司向公众开放源代码的第一个中间件,而且也不会是最后一个开源产品。“Sun公司是开源运动的忠实信徒。”麦克尼利表示,“从上个世纪80年代开始,我们在开源内核和TCP/IP协议基础上开展的工作都与这种思想一脉相承。”

  JavaOne大会给Sun公司庞大的编程语言提供了一个特殊的舞台。10年前,Sun公司将Java作为一种组件化的编程语言介绍给大家,这个语言因为它创建的应用程序可以轻松地进行跨平台移植而一举出名。作为第一个具有网络理念的编程语言,它的出现与互联网的出现一样产生了重大的影响。Java获得了成功,如果把它放在“计算机历史”的时间线上来看,相对于其他的编程语言,Java在最少的时间内拥有了最多的用户。Sun公司曾表示,其Java开发者网站上拥有450万注册程序员。

  “我们对Java的使用非常普遍。”斯帕罗欧斯·凯特奥(Spryos Kattou)说道,“在接下来开发的一些项目中,我们都会使用Java。”凯特奥是ACE航空控股公司(ACE Aviation Holdings)旗下Aeroplan公司的电子商务架构师。这家公司是忠诚度管理程序(Loyalty-Management Programs)和加拿大航空公司(Air Canada)常客计划(Frequent-Flier Plan)系统的供应商。

  但是,目前Java却承受着两方面的压力。一方面,微软公司巩固了视窗系统(Windows)下的.Net编程环境,使之成为商业开发环境一种新的选择。另一方面,目前许多可应用于互联网计算的开源工具和编程语言,正吸引越来越多的偏爱公共许可证模式的开发者。随着XML、Ajax、PHP 和Lamp等新名词的出现,人们更关心的是如何建立网络服务以及如何在电子商务的基础上转换数据内容,而不再是如何在公司中写出漂亮程序了。

  “在创新方面,J2EE已经不再是一枝独秀了,人们有了更多的选择。”国际商业机器公司(IBM)新技术部副总裁罗德·史密斯(Rod Smith)说道。IBM公司新技术部门的产品主要是Java工具和中间件,是Sun公司的竞争对手。“有很多创新应用,原本也能够通过Java来进行。但是,人们却抛弃了Sun公司和它的Java。”史密斯提到了开源产品Lamp堆栈,它整合了PHP、Perl和Python等新的程序语言,这些都可用于开发新的互联网应用。

  此外,Java通过加载那些复杂的应用程序接口(API)与其他外部技术衔接起来。这被证明是一种可靠的扩展Java环境的方式。但是这种方式过于庞大而繁琐,因此,也就给了微软公司赶超的机会,虽然Java曾经占据了绝对的领先优势。

  麦克尼利正面临着新的挑战:如何在开源的推动下,拓展Sun公司的开发者和用户的数量,同时获得收入上的增长。不久前,麦克尼利在Sun公司总部接受采访时坚持认为,这一目标是完全可以实现的。他表示,OpenSolaris不会影响其他产品的销路,因为在Sun公司的客户中,只购买软件的并不是很多。一般情况下,企业用户在使用Solaris开发工具时,都需要遵循一定的商业许可,而其中就包括了计算机硬件和支持服务。“我们的策略就是建立庞大的用户群。”他说到,“你不可能只靠很小的客户群来赚钱。”

  一些反馈信息也使得麦克尼利备受鼓舞。自从2005年2月免费版的Solaris开始向用户发放以来,目前下载量已达170万人次。其中,四分之三的人可能都是X86处理器的计算机用户。这也证明了这种策略的前途,因为单凭Sun公司自己的Sparc芯片用户,肯定达不到这样庞大的用户基数。

  不过,现在还很难预测,Sun公司的开源运动最终会走向何方。对于上百万的下载量,麦克尼利承认:“我们并不知道他们会将Solaris用在什么地方。”

  一些用户认为他们还不清楚怎样才能从中获益。“开放源代码的Solaris?我们还不确定那是什么。他们的市场策略又会是什么呢?”凯尔· 福斯特(Kyle Forster)说道。福斯特是美国北达科他州的软件架构师,北达科他州正逐步使用Linux服务器来替换Solaris服务器作为其数据中心。他们也运行一些基于Java的应用程序,但是福斯特说,销售人员并没有来向他兜售开放的Java。他表示:“我们希望获得厂商的支持,而不愿意自己花时间和精力去研究这些东西,或者自己去更换那些代码。”

  麦克尼利的策略,代表了Sun公司战略上的一种转变,他们将把免费公开的Solaris和Java的版本转化成可持续性的商业模式,而且还能真正带来公司的收入增长。Java从发布到今天已走过了10年历程,在这期间,Sun公司发生了很大变化,公司规模不断缩小,从4.35万名员工减少到仅仅3.2万名员工。Sun公司的未来希望,寄托在Solaris的开源版本和Java中间件能够重新激发起用户对公司一些基础技术的兴趣,就像众多开发人员所做的那样,在此基础上构建一些应用。如果这样的话,也许收入增长的机会很快就会来临。麦克尼利坦率地说道:“我们必须开辟新的领域,寻找新的赢利增长点。”

  Sun公司知道该如何去做。10多年前,公司向公众发布了它的TCP/IP网络协议栈(TCP/IP Networking Stack)和网络文件系统(Network File System),两者实际上都成为了Unix操作系统的标准组成部分。但是,随着Linux的出现,Apache Web服务器以及其他的程序语言等相继产生,这些都可以成为Sun公司同类产品的替代品,Sun公司逐渐将领先地位拱手相让。

  Sun公司开放了Solaris和部分中间件产品的源代码,显示出了它试图延续自己的“开放”公司的形象,即使“开放”本身的定义已经发生了变化。 “按照那个时期的标准来说,他们当时所做的也应该称为‘开放’,但是如今,‘开放’的含义实际上已经转变为一种对所有权的开放了。”Illuminata 公司的分析师戈登·哈夫(Gordon Haff)分析说,“我认为他们正在重新定位自己,以试图进入开源开放者的行列。”

  人们有理由相信Sun公司的这些策略。Solaris和Java未来也将继续紧密联系在一起。Sun公司可以基于强大的Solaris,将 Java中间件推向市场,就像发布目录和认证服务器(Directory and Identity Servers)一样。Sun公司软件部执行副总裁约翰·罗亚考诺(John Loiacono)透露,公司计划通过提供一系列低价位的相互关联的部件,利用扩展的Java中间件组合套件—“Java企业系统”(Java Enterprise System)来获得利润。他们会有选择地开放其中的部分代码。这种策略将提供一个极其诱人的价格:每个用户仅收取每年140美元的订购费,同时公司还会不断提升套件的价值。罗亚考诺说:我们的价值就体现在这些部件的整合中,同时公司将保证使这些部件及时得到更新。公司计划仅对其中一个部件—市场领先的身份管理服务器(Identity Management Server)进行收费。

  但是,部分公开、部分商业作为Sun公司的一种战略转变也许做得还不够。早在2004年的JavaOne大会上,毕易辉软件公司(BEA)的前任首席技术官(CTO)斯科特·迪岑(Scott Dietzen)就敦促Sun公司尽快开放基础的Java标准版的源代码,但是至今,Sun公司也还没有付诸实施。怀疑者们认为,公司之前犯下的错误,将使它很难再找回原来的地位。

  在上个世纪90年代后期,Sun公司曾两次想把Java提交为国际标准,但两次又都收回了请求。与此同时,正寻找着另一种方式来扩展视窗技术的微软公司,预见到了Web服务的未来。它向万维网联盟(World Wide Web Consortium)推荐了一种轻型的XML消息协议,称为“简单对象访问协议”(Simple Object Access Protocol,下称“Soap”)。IBM公司也意识到Web技术的未来将是面向对象的,因此也参与其中成为共同的发起者。

  Sun公司虽然也展开了反击,但是Soap最终成为了Web服务的一个基础部分。在Sun公司最终接受了Soap的两年后,IONA科技公司(Iona Technologies Plc)的CTO埃里克·纽克姆(Eric Newcomer)建议Java标准化组织(Java Community Process)重新考虑如何使用Java来处理Soap和XML消息。他主张说,微软公司在.NET技术中已经建立了对Soap的支持,J2EE也需要这么做。但是,Java标准化组织(Java Community Process,简称“JCP”)执行委员会投票否决了这一提议。

  所有这些问题的产生,都是因为J2EE处理Soap和XML,都需要通过Java的XML应用程序接口(Java Application Programming Interface)或者JAX远端程序调用(JAX Remote Procedure Call)来完成。

  这两种方法虽然有点复杂,但都经过实践证明是可行的,都可以用来处理Java对于外部技术的程序调用。扬基集团(Yankee Group)分析师达纳·加德纳(Dana Gardner)认为,这样的访问方式反映的是传统的编程方法,也就是“没有针对互联网应用进行开发设计”的理念。而Soap、Ajax和PHP则能够处理异构的系统,这些都符合互联网松散耦合的操作模式,也就是说互相操作的双方不需要互相了解,只需知道他们该如何去“握手”就可以了。“我感觉到,这些技术与Java相比,正处在一个更加快速的发展轨道上。”加德纳说道。

  一些人认为Sun公司在Web服务上错失了千载难逢的机会。IONA科技公司的纽克姆分析说:“5年前,Java几乎是占据了互联网编程的统治地位。”

  尽管采取了很多的补救措施,但依旧缺乏有效的办法让J2EE在处理Soap和XML消息方面做得很好。“没法再修了。它已经彻底坏了。”安妮·V·梅恩斯(Anne Thomas Manes)认为。梅恩斯是咨询公司伯顿集团(Burton Group)的Web服务分析师,Sun公司市场部的前商业策略主管。

  Sun公司的詹姆士·高斯令(James Gosling)反驳了这种说法:“使用Java和JAX-RPC来建立的Web服务数量要更多一些。”

  2005年7月,在佛罗里达州奥兰多举办的IEEE大会,再次讨论了使用Java来访问Web服务的主题。“我们认为,JAX-RPC在本质上就存在缺陷。”美国惠普公司(HP)布里斯托尔实验室的工程师史蒂文·劳兰( Steve Loughran)和埃德蒙·史密斯(Edmund Smith)在大会召开前所提交的论文—《重新思考Java的Soap堆栈》(Rethinking The Java Soap Stack)中这样分析说道。高斯令没有理会这些论调:“人人都可以各抒己见。”

  目前事情还在进一步发展。Sun公司前任CTO彼得·雅雷德(Peter Yared)离开公司后,成立了ActiveGrid公司,并且开发了用来进行网格计算(Grid Computing)的应用服务器。他认为,开发海量事务处理应用程序(High Volume Transaction Processing Applicatiion),可能仍然要依赖Java。不过,他的新公司更关注于Lamp堆栈,包括Linux、Apache、MySQL等,和一些 “P”字母开头的程序语言(Perl、Python和PHP),用他们来创建网格程序(Grid Software)。

  看上去,Sun公司和Java正离Web服务的融合格局越来越远。不管Sun公司喜欢与否,现在的世界已经是Web服务的世界了。

  不论是由Java构建的还是由其他的描述语言构建,越来越多的组件都将变得不再像以前那么特殊。德国汉莎航空公司(Lufthansa)使用PHP建立了部分电子票务(E-ticket)系统;大型在线自动销售网站AutoMart.com以及雅虎公司(Yahoo)都使用了PHP;还有思科系统公司(Cisco)也在自己的网站上使用了大量的Perl。甲骨文公司(Oracle)也逐渐减弱了对Java的过度依赖,开始鼓励开发者们使用 PHP来开发,它即将通过Oracle公司信息技术网络(Oracle Technology Network)向用户提供针对Oracle产品的ZendCore和针对一般开发者的PHP代码。不过,不管这些公司使用的是哪种语言,Sun公司仍然需要向这些公司销售自己的硬件和服务。

  “Web服务正在不断创新,而Java环境却没有。”扬基集团的加德纳认为,“某种意义上来说,Java已经变成了一种遗产。”Sun公司则表示,计划中的变革将在Java 5.0版中得到实现,它将使描述语言和XML的工作变得更加简单。

  为了纪念Java发布10周年,Sun公司的管理者们将会再次站到舞台的中央,将所有的掌声引向他们所创造的语言,尽管实际情况将被证明是喜忧参半。Java自发明以来获得了许多荣誉,现在应该是一个Sun公司可以尽情享受的时间。但是之后,Sun公司还必须回到其Java企业系统,回到其 Java标准化组织,回到其自身的盈利情况上来。这些,将决定Sun公司究竟还能走多远。

(信息周刊)

0
相关文章