Stephen Colebourne 最近发起了一个讨论,标题为:“不再有Java 7”。由于Apache 软件基金会和Sun之间的持续分歧,导致JCP将考虑 Apache Harmony,一个独立的,开源的,兼容的Java SDK。
Stephen 说明Harmony 的成功刺激Sun 回到专有的Java 开发模式,并且阻挡Harmony 获得JDK兼容工具包所需要的验证,证明它的Java 运行状态良好。
Apache 的 Java SE 5 JSR规范实现为 Apache Harmony。然而,当Apache 准备获得规范的测试工具包时候,一个政策上的游戏开始了。Sun 不像平时一样,类似给其他25个JSRs 提供常规测试工具包,而是提供一个另外的测试工具包,它的测试代码不是开源的。
明显的,Apache不会接受这种限制,这破坏了Sun和Apache之间的法定协议。Apache 在两年以前提出了诉讼,但是只是得到一个可以勉强接受的反馈。对于一个类似Apache这样的非赢利性的机构提出针对跨国公司的诉讼是没有出路的-你认为谁会得到更好的律师?
关键点是Sun 的策略非常谨慎,他们仅仅提供一个测试工具包使用限制性的许可。他们希望确保 Apache Harmony 不会完全通过验证。Sun 为了确保他们自己的JDK没有竞争对手下了很大功夫。
这也意味着,Sun 通过OpenJDK 来开源。Sun宣布使用GPL许可发布 JDK,我想这显示了Sun缺乏远见-代码也许现在是GPL开源,但是规范不再开源了。哪个更重要?
所以,下一个发布将是 JDK 7,而不是Java 7。
这意味着不再有一个开放的Java 7 规范。这也意味着在JSRs中没有通过的部分Sun 将通过OpenJDK 发布。Java 重回Sun 控制,但是妨碍了标准化。
【编辑推荐】