服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 核心技术 > 查看文档

java开放源代码 一场迟来的开源盛宴

  java的开源已比预期的晚了好多年,但这一次,sun的开放姿态显得异常决绝。

  java的开源已比预期的晚了好多年,但这一次,sun的开放姿态显得异常决绝。

  2006年4月,当乔纳森?舒瓦茨(jonathan schwartz)接过斯科特?麦克尼利(scott mcnealy)的帅印时,投资者们对sun的这位新ceo寄予了很高的希望。sun自2002年以来累计亏损已达50多亿美元,人们早已对“固步自封的强硬派”麦克利尼丧失了信心。但是,另一些人则不认为此二人会在管理上有什么大的迥异,于是决定另眼旁观。

  几个月之后,sun所公布的2007财年第一季度财报安抚了很多人心。尽管从表面上看,该公司仍旧处于亏损的状态(第一财季亏损额为4200万美元),但整体下降的趋势已经得到很大的遏制,收入甚至还比去年同期激增了18%,状况好于分析师的预期。

  舒瓦茨的初步胜利主要得益于一些成本削减措施和整体业务的转型,但同时也说明了sun从去年2月开放solaris操作系统的成果和影响已初步显现。从全盘否定到积极推行,solaris的开源或许是麦克利尼在执政期间,留给sun的最后一份好礼。为了扭转逆境,以硬件发家的sun正在进行着积极的转变,而开源软件显然是其对未来命运的又一次豪赌。

  意料之中的意外

  在这个基调上,在2006年11月3日,当sun对外宣布开放java这一在世界范围内和产业界颇具影响力的编程语言时,几乎没有人对此感到惊讶。因为在开放solaris之后,sun一直对外承诺开放java。java的开放只是时间问题,而大家关注的重点在于sun究竟会采用何种协议予以开放。

  不同的开放协议所带来的开放程度并不相同,也涉及到基于其上所衍生的软件的归属权问题。以solaris为例,去年它是在sun自拟的cddl协议下进行开源,由于该协议对自由度的限制较为严格,各开发者基于solaris之上所衍生的软件所有权仍将归属于sun公司,所以一直被开源阵营讥讽为“半开放”状态。

  因此在11月3日这一天,当舒瓦茨宣布java将在gpl 2.0协议下开放时,还是出乎很多人的意料。gpl是开源阵营里最接近“自由”的一种协议,在此之下开放的软件都要无偿向开源社区公开代码,并允许别人在其上进行定制开发应用、做出改进,但最终这些衍生的软件源码也要遵守gpl协议进行无偿开放,所有权归属于开源社区。这即意味着“java将是免费的”。

  在这之前,业内人士曾对java的开放协议做过多种猜测,比如cddl、apache等等,但这些协议多少都对商业公司有利,并不像linux(也基于gpl协议)那样,是严格意义上的开放。对于这一选择,sun负责软件业务的执行副总裁rich green表示,此举将有助于java的普及。不仅仅开放了一种有影响的、得到广泛应用的web软件平台,还表明了我们改变软件开发模式的决心。

  “当听到这一消息时,我感到非常惊讶。”原sun公司的高管、开源软件公司activegrid的ceo peter yared在接受美国《商业周刊》的采访时如此表示。他认为,sun想借此举为java吸引更多的具有创新精神的开源软件开发者,“对于java,他们(sun)过去已经失去了很多的控制,以致其现在也不怕再失去什么控制权了。”

  “一直以来,所有的人都料想到,有一天sun将开源java技术,但却没有人能够料到他们走得这么远―直达gpl许可。这是一个勇敢果断的重要举措。”o'reilly media的创立者兼首席执行官tim o'reilly说。而sun公司副总裁rich green甚至还暗示,不排除以后对solaris也改用gpl协议开放。这意味着,sun已经暗下决心,告别专有软件,而彻底改头换面成为一家开源软件公司。

  利益的棱镜

  但sun的“决绝”却让ibm闷闷不乐。其实早在2004年,ibm就以极高的姿态对当时还站在开源对立面上的sun发出了一封著名的公开信,要求其开放java,并像许多公司一样拥抱开源。这封信使当时的sun陷入了孤立和被动,但麦克利尼仍然以强硬的姿态给予回应,公开表达了对这封信的反感和对开放的排斥。有趣的是,在两年之后,sun的态度发生了180度的逆转,但此时外界对ibm的开源策略却开始捉摸不透。

  就在sun宣布java在gpl下开源的同一天,ibm也公开发表声明,希望sun能重新考虑在apache协议下开放java,而非选择“另外一个协议”。因为在此前,java已拥有基于apache社区的两个开源项目,ibm很积极地参与其中,并投入了大量心力。sun在更为开放的gpl协议下开放,显然出乎ibm的意料。所以当sun宣布开源后,英特尔、red hat等多家公司都发出了溢美之词,ibm却除了一份声明外再也不声不响。“在ibm温和的埋怨之下,其实是痛苦的尖叫,sun已聪明地触及了它的软肋。”一位业内人士如此分析道。

  实际上,对于包括sun、ibm在内的众多大公司而言,开源就像是一个棱镜,每个公司都在寻找其透过开源获取收益的那一面。

  而十一年来,java已经为sun带来了巨大的声誉,bea等多家软件公司的产品都是基于java平台之上,不过java却没有为sun带来直接的现金入账。相反,sun每年在java维护和开发上的开支巨大。在微软的.net及其它开源类的软件开发平台日益赶超的今天,开放java可以挽救其日益下降的声势,并吸引更多的开源开发者对java现有的较为臃肿的构架进行改进。

  从sun公司的整体战略来看,彻底放开java的手也是反攻的重要一环。在互联网刚兴起的时代,sun曾经依靠硬件获取了巨大了利润,这与其比竞争对手较早地拥抱开源标准不无关联。现在,在从硬件向软件服务方向转型的过程中,sun仍旧试图通过开源作为一个切入口。“对solaris、java、openoffice等软件的开源,将为sun带来更多的发展机会。”非盈利性公司osdl(开源发展实验室)的ceo stuart cohen认为,在此路上,我们将看到一个全新的sun的到来。


  阅读关于 sun java 开源 的全部文章

扫描关注微信公众号