Java迎来“参与时代”

来源:百度文库 编辑:神马文学网 时间:2024/04/28 20:33:57
Java迎来“参与时代”
互联网周刊  2005-07-11 06:52   陈琼
十年之后,Java正和其创造者Sun一起,对到底要不要开放源代码这样一个老问题,探索着新的答案和求解方式
Java阵营内部的势力纠结,似乎又到了一个敏感却注定意义深远的非常时期。美国旧金山当地时间6月27日,Sun公司总裁兼COO乔纳森·施瓦茨(Jonathan Schwartz)在2005年度的JavaOne大会开幕仪式上这样说道:“信息时代已经成为历史。现在是参与时代(Participation Age),参与时代的理念是,在网络上人人都是参加者,而并非只是看客。”这会是Java巨变的前夜吗?
巨变前夜
施瓦茨宣布的最重要的一条消息是,Sun正式发布Java的部分源代码,包括Java Application Server和Java Enterprise Service Bus的版本,并会将该部分软件作为GlassFish(玻璃鱼)项目提供给用户,该项目是Sun在6月初试行的一项最新的Java开放源代码技术战略。“‘玻璃鱼’计划是通往Sun开发流程的一扇窗户、一个入口,在这里,社区用户能够查看源代码,提交改进,参加技术讨论。”Sun在自己的网站上写道,“玻璃鱼将重新修复Sun与如IBM、BEA以及JBoss之类的大型企业Java社区的关系。”
除了讨好Java社区、缓解开源压力之外,Sun与IBM就Java技术达成的最新合约也引来无数关注的目光。尽管施瓦茨笑言,这两家公司之间的关系有一点“寒意”,但这丝毫没有影响IBM做决定。IBM已经准备把和Sun的Java技术合作协议延长到2016年,这11年间,IBM将继续从Sun获得Java技术的授权许可,包括Java企业版、标准版和简化版,以及Java Card技术,同时IBM承诺,将不会离开Java社区发展计划(Java Community Process,即JCP)组织。
Forrester的分析师因此评价说,虽然IBM和Sun之间存在许多分歧,但IBM别无选择—双方都忠于Java及其品牌。Sun需要IBM支付巨额的许可费,也需要IBM在x86服务器上支持Solaris。
看起来,刚刚年满十岁的Java,在IBM“持之以恒”的开源化呼吁声中,的确正在做出某种程度的妥协。不过,Sun拿出的“玻璃鱼”计划实际上也并非完全放任对Java部分源代码的控制,Sun所采取的开源模式,基本和先前开放Solaris的模式一脉相承。在Sun手中的Java,或许可以像玻璃鱼那样透明和自由,但毕竟还是脆弱的。尽管如此,无论主动还是被动,Sun一直也没有停止过在这个老问题上,对新的答案和求解方式的探索。
梦幻十年
Java的雏形来自于Sun在1991年发起的一个名为Green的项目,原先的目的是为了要开拓消费类电子产品市场。由于当时项目组难以找到合适的开发工具,开发人员自己试着用C++写了一种新的语言Oak。1995年初,这个原意为“橡树”的名字正式被Sun改成了“Java”,由此开始了Java梦幻般的十年。“现在,地球上已经有25亿台Java设备,其中包括7亿部手机,7亿台个人电脑。”Sun董事会主席兼CEO麦克尼利在JavaOne上说。
而Java早已不再只属于Sun。Java生态系统的迅速壮大,以及由此产生的庞大利润链条,已经让Java成为了多家巨头都很难回避的重要技术,并且也被赋予了更多的战略意义,比如网格计算、Web服务。这样的局面让Sun更加尴尬:Sun创造了Java,把Java带入IT业的核心地带,但是却无法比得上甚至是接近IBM的WebSphere或者BEA的WebLogic。而Sun自己至今也没能依靠对Java的控制来摆脱低迷状态。
留给Sun的机会确实不多了。由于消费类电子设备、PC及服务器需要有不同版本的Java,曾经固执高傲的Sun凭一己之力,无论如何也实现不了Java的梦想。一方面,Sun在这十年间一直也没停止过寻找合适的方式,来把Java的掌控权分享给其他人;另一方面,包括IBM和BEA在内的许多Java社区内的大公司们,也都在不约而同、不厌其烦的敦促Sun把Java的主体源代码开放。
“这就是我们的意图:IBM愿意同Sun一道共同致力于开放Java资源。”IBM软件集团的高级副总裁Smith在一年前写给Sun总工程师兼JCP主席Rob Gingell的E-mail中这样写道,“IBM已经做好准备提供技术支持及源代码给开放源代码组织,而Sun也可以为开源社区提供公司的资源,包括Java的详细规范、测试报告及源代码。”
随后,施瓦茨立刻以IBM过分热情的支持Linux为话题反驳:“看起来,我们并没有实质性的义务去推动Linux,不是吗?”施瓦茨在他的Blog中开玩笑说,“如果需要我们去帮助IBM完成转型,我们可以为你的每位客户提供一套桌面操作系统—每位客户只需要50美元就可以在家中自由使用。请将这作为Sun的正式提议,但前提是你有意愿大量购买。”
“参与时代”
考量再三,Sun最终还是决定逐步展开新一轮的战略部署。在这一过程中,Solaris的开放是第一步而且也是比较具有实质意义的一步,而Sun对待其最具核心价值的Java,相对而言就要谨慎得多,而且更具象征意义。
“我们可能有一天会公开Java标准版的源代码,”“Java之父”James Gosling在JavaOne大会上说,“不过要考虑Java社区会作何反应,以及如何选择一个更好的方式。有很多事让我们十分紧张。不同的JavaScript就有着相当严重的互操作性兼容问题,对网页制作者来说是一大梦魇。如果你想在这种浏览器上执行,就得这么做,想在那种浏览器上执行就得那样做。Java界的人恐怕都得拿着JavaScript手册才能做事,真是太可怕了。”
Gosling顾虑的兼容问题,确实是开放Java历程中最棘手的麻烦。在Java阵营内部,甚至早就成立了专门的Java标准制订组织JCP,IBM、BEA以及JBoss都是JCP的核心成员。但颇具讽刺意味的是,根据最近的统计数据,IBM和BEA已经在J2EE市场上取得了事实上的优势,这两家公司共同控制了该市场66%的份额。“这让其他竞争者几乎没有多少选择,只有去使用这两家共同支持的各种规范。”CNET网站Builder专栏的一篇文章中这样写道。而IBM和Sun的分歧中,一个重要方面恰恰就在于IBM不满Sun对于JCP太过严密的控制。
这还只是Sun谨慎的一个方面。在Sun最新的“玻璃鱼”计划中,Java两个版本的源代码将按照“Java研究许可”(JRL)模式发布,只针对研究与开发项目。而如果要将项目用于生产或者销售,就必须按照“Java销售许可”(JDL)的要求签署商业合同,并满足Java的兼容要求。尽管受到两份许可的限制,但这已经是对Sun一直以来所采用的“Sun社区源代码许可”(SCSL)模式的一种细化,并更具针对性。
在新的时期,Sun开始小心翼翼的尝试着,可以在“安全”的前提下把Java的核心价值延展出去。“我们正在度过信息时代,而进入‘参与时代’。你是在网上参与活动,而不是仅仅浏览。”麦克尼利说,“我们的数据中心将能够助‘参与时代’一臂之力。安全、目录、身份、隐私、存储、电脑以及所有的Web服务,我们会让这种巨大的变革得以实现。”可以说,对Java的新尝试,正体现了Sun的判断。“Sun在有10年历史的Java上曾经犯了些错误,但如果我们不开放Java,那整个Java阵营的市场机会根本不可能像今天这样。”