本周有报道称 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 实现相关的新闻。
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论