InfoQ

新闻

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

作者 R.J. Lorimer译者 张龙 发布于 2008年6月26日 下午8时42分

社区
Java
主题
开放源代码,
社区,
治理,
许可证
标签
GNU,
Java SE

本周有报道称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

相关赞助商

InfoQ中文站Java社区,关注企业Java社区的变化与创新,通过新闻、文章、视频访谈和演讲以及迷你书等为中国Java技术社区提供一流资讯。

1 条回复

回复

开源并不等于开放。。。。。 发表人 yi cao 发表于 2008年6月27日 上午12时28分
  1. 返回顶部

    开源并不等于开放。。。。。

    2008年6月27日 上午12时28分 发表人 yi cao

    早在2007年4月,Apache软件基金会就向Sun公司发送了一封公开的邮件,希望解决使用TCK测试Harmony平台的关键的许可协议问题;许可Harmony小组以开源的方式合法运行TCK。Sun回复了该公开邮件,他们说还没有决定向Harmony小组授权,因此他们仍无法运行TCK。 Apache Harmony是IBM主导的,OpenJDK是SUN主导的,涉及到Java主导权的争夺。

独家内容

虚拟化导论

人们很容易想当然的以为虚拟化技术仅仅应用于服务器。而在现实中,虚拟化这一苏醒的概念正被运用于各个层面,其中包括网络,存储以及应用基础架构。在这篇导论中,InfoQ将深入每个方面,详尽向您描述虚拟化技术的运用以及其优点与不足。

用户故事估算技巧

作为开发者,同时也是ThoughtWorks的咨询师,Jay Fields总结了自己估算用户故事的有效技巧。

InfoQ案例研究:纳斯达克市场回放

在这篇案例研究中,InfoQ对Adobe AIR和Amazon的简单存储服务(Simple Storage Service ,S3)在NASDAQ市场回放程序(NASDAQ Market Replay)中的应用进行了详细的分析。

Hadoop基本流程与应用开发

本文介绍了Hadoop的基本流程、业务场景、代码范例以及集成测试。本文是《分布式计算开源框架Hadoop入门实践》三部曲的最后一部。

SOA在互联网系统中的应用

本视频对SOA在互联网系统中的应用进行了探讨,主要以支付宝在SOA的实践为例,主题从敏捷的应用程序(对象与组件)到敏捷的企业系统(应用集成与面向服务),再到敏捷的生态圈(网关与开放平台)。

用数字沟通——来自敏捷精灵的忠告

因为不知道如何反击,技术人员不得不听从业务人员的要求。这已经是老生常谈了。问题何在?开发人员用数字主要是进行计算的,而业务人员使用数字辅助决策。在下面的故事中,“敏捷精灵”鼓励一个开发人员用数字来描述与计算无关的问题。

Hadoop中的集群配置和使用技巧

本文介绍了Hadoop如何配置分布式框架运行环境,同时特别讲解了其中的一些细节。Hadoop可以单机跑,也可以配置集群跑,这里主要重点说一下集群配置运行的过程。本文是Hadoop入门实践三部曲的第二部。

JavaScript多线程编程简介

虽然有越来越多的网站在采用AJAX技术,但是开发复杂的AJAX应用仍然是个难题。本文探索了如何应用多线程缓解其中一些问题。