IcedTea:首个 100% 兼容、开源的 Java

阅读数:1335 2008 年 6 月 26 日

话题:Java开源治理社区DevOps语言 & 开发架构文化 & 方法

本周有报道称RedHat 发起的IcedTea 项目(连同OpenJDK一起),已经通过了 Java 兼容性测试工具(TCK)的测试,达到了 100% 的兼容,正式成为首个通过 TCK 兼容性测试的完全开源(GPL 协议)的 Java 实现。 

本周 IcedTea 项目到达了一个重要的里程碑——包含在Fedora 9(x86 及 x86_64)中的最新的 OpenJDK 通过了 TCK 严格的测试。这意味着它提供了所有必需的 Java APIs 并且在行为上与其他 Java SE 6 实现类似——与 Java 平台可移植的目标一致。

大家都认为通过 TCK 测试是一个了不起的成就:

Java TCK 是一个复杂的工具和文档套件,用来验证 Java 实现是否遵从 Java 规范。它包含 80,000 多个测试以及 100 多万行代码。

就像早前在 InfoQ 上讨论的那样,IcedTea 项目通过OpenJDK成为一个 100% 的基于 GPL 协议的 Java 实现,并且使用GNU Classpath 项目的相应部分替换掉了余下的 5% 的私有组件代码。

IcedTea 项目由 GNU Classpath 小组创建,同时由于需要使用开源实现替换掉所有的私有代码,因此一些 RedHat 开发者也加入其中。GNU Classpath 将 OpenJDK 中的私有代码替换为 GPL 协议的代码,这使得使用 OpenJDK 构建的 IcedTea 更加适合如RedHat 的 Fedora Linux这样的平台。由于 IcedTea 的一部分贡献,Fedora 9 包含了功能完全的 OpenJDK 包。 

其他的开源 Java 实现,如Apache Harmony尚没有通过 TCK 测试,然而并不是所有的困难都与技术相关。早在 2007 年 4 月,Apache 软件基金会就向 Sun 公司发送了一封公开的邮件,希望解决使用 TCK 测试 Harmony 平台的关键的许可协议问题;许可 Harmony 小组以开源的方式合法运行 TCK。Sun回复了该公开邮件,他们说还没有决定向 Harmony 小组授权,因此他们仍无法运行 TCK。

IcedTea 项目没有像 Apache Harmony 那样遭受到相同的协议问题,因为 Sun 已经提供了 TCK 许可协议的一个特别版本,面向派生自 OpenJDK 的任何 Java 实现;这是 Apache Harmony 所无法获得的东西。

InfoQ 将继续报道开源 Java 实现相关的新闻。

查看英文原文:IcedTea: The First 100% Compliant Open-Source Java