“我们正在做这件事。”在刚刚闭幕的JavaOne 2006大会上,当Sun公司的执行副总裁Richard Green明确表示,Sun正计划将Java彻底开源化的时候,台下的口哨声和掌声顿时响成一片。Java的创始人之一James Gosling在自己的blog中写道,此次JavaOne出现的火爆场面,只有在几年前的.COM热潮时代才见到过。大家似乎都对Java的开源化进程有些迫不及待了。
其实早在几年前,以Linux为“代言人”的开源风潮就已经迅猛的席卷了全球。而Sun由于其独特的系统化理念和固执高傲的性格,无疑是受到伤害最大的一家公司。在无数人苦口婆心或旁敲侧击的劝说下,日渐式微的Sun已经在去年正式进入了“参与时代”,为其看家的两个软件品牌Solaris和Java陆续选定了开源的方向,并先后建立了声势浩大的开源社区。
要知道,Green在一年前,还是个对开放Java持消极态度的“保守派”。是什么让他改变了主意?也许除了来自外界的压力,Sun在多核处理器和虚拟技术方面一直以来的支持和投入,也让Java陷入了不得不开源的状态中。
芯片巨头们正在多核技术上展开角力。AMD和英特尔已经在2005年开始供应它们的双核产品;Sun的酷线程技术,则更是把多核、多线程带到了一个全新的境界。而且,大家的热情还在升温,英特尔和AMD都计划发布新的四核处理器;Sun打算在一年后提供每内核包含8个线程的第二代UltraSPARC T1;而即将在下半年发布的IBM Power6,从其技术路线图看,依然会遵循多核心的设计思想。
但随着多核处理器的日益主流化,问题接踵而来。除了处理器自身的结构性能问题以外,软件行业的商业模式也正在经受考验。多年来,人们早已经适应了传统的软件销售方式——将软件交付,并根据用户服务器CPU的颗数来收取软件许可证费用。多核处理器的出现让这一情况复杂化了,对这些用户,究竟应该如何沿用传统模式?
“不仅仅是多核处理器,虚拟和按需计算的托管技术也给软件许可证的销售模式带来了麻烦。”UNISYS的亚太区首席架构师李静明说。虚拟技术不仅可以将每个服务器分割成多个互相独立的虚拟机,还可以将操作系统虚拟分割成多个独立的操作系统。而在同一服务器上,不同的虚拟机难道都需要单独的软件许可吗?
另一种选择则相对简单得多,开放源代码软件可以公开免费使用,没有软件许可费,只是需要用户缴纳支持和服务费用,而与CPU的内核数和线程数无关。作为多核多线程处理器技术不遗余力的推动者,一直对Java源代码进行着斟酌的Sun,似乎看到了一个难得的机会。
SWsoft公司也正试图在Linux中添加一种特殊的“容器”功能,能够将一个操作系统划分成独立的部分。“这仍然是一份Windows拷贝,只是隔离了用户、文件、应用。”其CEO Serguei Beloussov说。但很快,微软回应道,他们完全不同意这种看法,认为每个实例都需要一份操作系统许可。
这也正是由虚拟化技术日益走红所引发的传统软件销售策略和新技术之间的矛盾所在。尽管争论不可避免,但有一点勿庸置疑,多核技术和虚拟化技术的大面积流行,也许恰恰给开源势力提供了一个更大的想象空间。