全景透视 Oracle 对 Sun 的未来规划

  • Dio Synodinos
  • 张龙

2010 年 2 月 3 日

话题:JavaSOARubyOracle开源社区MySQL架构云计算DevOps语言 & 开发文化 & 方法

在经过了将近 9 个月的漫长等待后,Oracle 终于获得欧盟的批准成功完成对 Sun 的收购。近日 Oracle宣布了对 Sun 技术与平台的未来规划。

Java、JVM 及 JVM 上的各种语言

Oracle 产品开发高级副总裁 Thomas Kurian 说,Oracle 计划集成 Sun HotSpot 与 Oracle JRockit Java 虚拟机;他又补充到,Oracle 打算”振兴“Java 开发者社区并将 Java 编程模型的触角延伸到新近涌现的应用开发范式上来。比如说,Oracle 计划增加模块化特性、为 Java SE 增加多核处理支持、为 Java ME 增加新的特性,如多点触摸等。

InfoQ 联系到了Allex Miller以了解 Oracle 对 JVM 的规划:

我感觉 Oracle 想将 BEA LiquidVM ”JVM on a hypervisor“技术中的精华部分整合到现有的 HotSpot 代码中;当然了,虚拟化是 JRockit JVM 中最有意思,也是最棒的部分,非常迎合当前的虚拟化、云、集群等趋势,可以通过这些手段管理计算机资源,相对于 IBM J9 JVM 来说,这些内容也是极具竞争力的。

我也觉得移除 permgen 并使用 thread-local 的 GC 非常好。thread-local 的 GC 指的是对逃逸分析(escape analysis)和堆栈分配(stack allocation)的优化,而 Hotspot 已经在这方面做了很多工作。大多数程序所创建的临时对象都用在单独的线程上下文中,很少被其他线程所用。这样,我们就可以直接在栈上为这些对象开辟内存空间(这么做更快),无需使用堆,也不必使用常规的 GC 手段进行对象检测与移除了(这么做会降低 GC 的次数,进而提升效率)。

对 permgen 的改进亟须解决一个问题:像 Groovy 或是 JRuby 这样的语言会在执行期动态生成大量的小类(small classes)以提供动态特性,而随着 JVM 上动态语言的不断增多,该问题也变得越来越严重。这些类污染了 Java 内存中特定的“permgen”部分而且难以回收,导致了严重的内存问题。JSR 292 的 invokedynamic 就是为了解决该问题的:动态语言可以通过该指令在运行期直接链接到调用地址上,因此避免了生成大量内部类的烦恼。

我认为最好的处理方式并不是消灭掉这些 JVM,而是取其精华,弃其糟粕。这些工程团队都有一些优秀的人才,他们做出了很多创新性的工作,我希望他们能在这个领域继续做下去,只有这样 JVM 才能继续充当老大的角色,吸引众多具有开创性的新语言,如 Scala、Clojure、Groovy 及 JRuby 等。

Oracle对 JCP 的未来及其在 Java 7 中所扮演的角色所谈甚少,来自 RedMonk 的 Stephen O'Grady 指出:

我觉得 Oracle 对 JCP 的态度要比 Sun 此前的做法更注重实效,但现在还很难预测未来的走向。

MySQL

Oracle 首席开源架构师 Edward Screven 说公司将会一如既往地支持 MySQL 数据库的发展,Oracle 将 MySQL 看作是对其核心数据库技术的有益补充而非竞争对手。Oracle CEO Larry Ellison 强调说,公司将会做出更大的努力改进 MySQL,力度甚至会超过 MySQL 以前的投入,但却没有提到 Sun 和开源社区。Oracle 将为 MySQL 建立一个独立的销售团队,同时增强其与 Oracle 其他软件应用之间的兼容性。

JavaFX 与 RIA 技术

Oracle 在声明中再一次强调将会加大对 JavaFX 的投入力度,同时 DHTML、JavaScript、Java 及 JavaFX 的整合也是未来的一个重中之重。

此前 Oracle 曾终止了 BEA 打算绑定 Adobe Flash/Flex 开发工具的计划,现在的这个声明终于填补了该沟壑,来自 ZDNet 的 Tony Baer 指出:

我们不难发现 JavaFX 在 Oracle RIA 计划中所占据的重要地位;它填平了 Oracle 终止 BEA 绑定 Adobe Flash/Flex 开发工具计划所导致的 RIA 鸿沟。实际上,Oracle 对 RIA 的态度着实令人迷惑,因为 ADF 可以支持任何框架的客户端显示,而 JavaFX 现在却变成了 Oracle 自己的东西。

JavaFX 的拥护者,同时也是开发者Jim Weaver 对 Oracle 支持 JavaFX 平台的举措信心十足

今天的声明更令我坚信 JavaFX 将会继续发展下去,会有越来越多的应用选择 JavaFX 作为 RIA 平台的。目前 JavaFX 至少面临三个大的挑战,我相信 Oracle 会全力以赴迎接这些挑战的。

NetBeans

InfoQ 曾报道过此次收购后 NetBeans 的未来将变得扑朔迷离

Tony Baer 确信相对于 JDeveloper 来说,NetBeans 将变成二等公民了

对于 NetBeans 来说,玩玩还是没问题的,Oracle 中间件领导 Thomas Kurian 将 NetBeans 定义为“轻量级的开发环境”;但如果真的想为 Oracle 平台开发企业级应用,那还得使用 JDeveloper,JDeveloper 主要面向的是 Oracle 的 ADF 框架,后者则是 Oracle 数据库、中间件及各种应用的根基。这与 Oracle 对 BEA Eclipse 开发工具所持有的态度是一样的。事实上,令我们感到惊讶的是 Oracle 并没有草草地将 NetBeans 解决掉并免费送给别人——比如捐献给 Apache 或是其他开源组织。

Stephen O'Grady 也持有同样的观点:Oracle 并不打算在 Sun 的 IDE 上做太多投资

声明中提到了 NetBeans 以及 OpenOffice.org,我们推测 Oracle 并不打算在这个时候就干掉他们。是的,他们还会留存于世,不过将要退居二线了,把头把交椅让给 JDeveloper。

GlassFish

Oracle 产品开发高级副总裁 Thomas Kurian 说到,Oracle 将会继续支持 Sun 的 Web 应用服务器,但这么做仅仅是一种部门解决方案,Oracle 自己的 WebLogic Server 将继续担当企业解决方案的角色。

Stephen O'Grady 觉得Oracle 将不会再资助 GlassFish 了

根据 Oracle 所述,GlassFish 将变成参考实现。除此之外,Oracle 并没有承诺其他任何东西。早上有人对我说,Oracle 并没有为 GlassFish 安排任何销售团队和市场部门,和 MySQL 的下场一样。这里有两种解读方式:首先,如评论所说,“Oracle 认为捆绑销售 GF+WLS 将会获得更多的机会,进而满足不同项目的需求”。另一方面,Oracle 认为捆绑销售产品会破坏其 WebServer 产品线,因此会通过组织的变更慢慢地将 GlassFish 扼杀掉。WebLogic 销售的那帮家伙怎么会推出一个更便宜的 WebLogic 替代品呢?

Cloud

Oracle 首席架构师 Edward Screven 说到,Oracle 并不会支持 Sun 规划许久的 Cloud 服务。Sun 此前宣布将通过 Sparc 刀片服务器、应用于 x64 刀片服务器的 Xeon 与 Opteron 处理器以及开源的产品 ZFS 和 Crossbow 开发出 Amazon 风格的云,提供计算和存储服务并支持 Sparc 和 x64 机器上的 Linux、Windows 和 Solaris。

Sun 的 Cloud initiative 计划最初是用于网格计算的(Network.com),后来没有吸引多少客户,结果在 Cloud 的背景下被淘汰掉了。

Stephen O'Grady 对Oracle 不支持 Sun Cloud 的结果给出了自己的看法:

众多客户都不再需要虚拟或是物理设备了,这有利于提供所谓的最佳架构。尽管 Ellison 非常讨厌 Cloud,但 Cloud 还是有其用武之地的。Ellison 讨厌 Cloud 的原因在于他认为 Cloud 并不是什么新玩意儿。Cloud 不过是通过网络交付价值的数据库和中间件而已。公平的说,他的观点还是有一定价值的,尤其在当今这个世界上,厂商不断地抛出“Cloud”这个词儿,好像它马上就要过时了一样。换句话说,从大众拥抱 Cloud 这个事实以及“Cloud”术语所暗示的那样,无论你认为 Cloud 是新东西还是老古董都无所谓,至少它简化了设备的销售。我想说的是,Oracle 并没有过多地谈及 Cloud,但这并不意味着 Cloud 已死,只不过是 Ellison 对 Sun 业务的未来规划而已。

Sun 的很多开源项目都没有达到预先的期望,无论从竞争力还是回报角度来说都是如此,他们将不得不面临退出历史舞台的命运结局。Oracle 是一个更加注重利润的公司,这一点要远远超过 Sun,单凭这一点,那些没什么搞头的开源项目也将面临着停业谢客的结局。

Open Source

由于 Sun 过去曾在开源产品开发与开源社区建设等方面投入了大量的资源,因此人们普遍认为 Oracle 的此次收购对开源是个巨大的打击。

来自 RedMonk 的 Stephen O'Grady对 Sun 开源社区的前景也持悲观的态度

坦率地说,Oracle 的声明并没有过多地提到开源。单词 open 倒是出现了不少,但 source 却并没有一同出现。从宏观角度来看,我认为这会对开源社区造成消极的影响,因为此次收购是从一个非常注重开源的公司到对开源并不是那么热衷的公司的转变。但实际上,我觉得有必要一个一个地谈谈这些开源社区,就拿 Java 来说吧,它肯定没什么问题。Oracle 的举措定会让 Java 社区欢天喜地。但 MySQL 注定要成为一个孤独的人了,而 OpenSolaris 的命运则充满了变数。

来自 ZDNet 的 Dana Blankenhorn 也认为 Oracle 的这种做法会对开源社区造成非常消极的影响

现在 Oracle 掌握着任何开源业务底层代码的版权,他的名声注定了利润最大化才是追求的唯一目标:圈地、拉拢客户这些事情 Oracle 都干的出来。此次收购有一点值得我们关注:Oracle 不再支持个人或是小公司可以通过社区的形式迎战业界巨头的做法了,因此那些巨头会轻松将你击垮。

来自 RedMonk 的 Michael Coté觉得Oracle 不会再像 Sun 那样对开源运动进行大量投入了

除非你有预算并确实需要高性能的硬件和中间件,否则 Oracle 是不会(就是为了赚取利润)关注 LAMP、开源、“lesscode”这些东西的。Ellison 对 Java 的态度还是非常友好的:Java 并不需要直接为公司创造利润,它只要能为整为公司的其他业务添砖加瓦就够了。Oracle 相信其“闭源”的产品(Oracle DB、WebLogic 等)要“好过”那些开源的对手(MySQL、GlassFish 等),只要开源产品不搞出什么麻烦出来,那就没什么事。

裁员

就 Sun 去年的裁员一事,Oracle CEO Larry Ellison 说到,未来几个月内,公司还将裁员不到 2,000 人,同时还会再招聘 2,000 多人从事工程、销售和其他业务。当然了,他并没有排除未来还会继续裁员的可能。Ellison 又补充到,他希望 Sun CEO Jonathan I. Schwartz 能够自觉离开公司,并希望 Sun 的联合创建者与主席 Scott G. McNealy 能够留下来,但头衔和职位还没有确定。Jonathan Schwartz 在 Twitter 中提到其最后一篇博客是“likely his last blog at Sun”。

读者可以观看 Webcast 来了解 Oracle 与 Sun 的产品策略

还在访问Sun 网站的各位读者朋友,是不是已经发现了什么变化呢?

译者的话:在翻译完这篇新闻后,心情久久不能平静,一个伟大的技术公司就这样倒下了,难道这真的是“纯技术”公司的宿命么?公司的目标都是获取利润,而 Oracle 则将这一理念发挥到了极致:凡是与利润不相干的一律干掉,原文用“ruthlessly profit focused”来形容 Oracle 对利润的渴求。当然了,对利润的追逐本身无可厚非,可能我还是太傻太天真:-)。再也看不到 Sun 的首页了,感觉 Oracle 的首页给人一种冷冰冰的感觉。

InfoQ 的各位读者,您想对 Sun 说些什么呢?发表在这里吧,我们想倾听各位的心声。

再一次将 Java 之父 James Gosling 博文中的图片发布在这里,以悼念年仅 28 岁的伟大的 Sun 公司。

查看英文原文:Perspectives on the Conclusion of the Oracle - Sun Acquisition

JavaSOARubyOracle开源社区MySQL架构云计算DevOps语言 & 开发