`
lxy2330
  • 浏览: 468505 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IcedTea在开源与OpenJDK的鸿沟上架起了桥梁

 
阅读更多
2008-06-12 18:06 作者: 来源:来自论坛
[摘要] GNU Classpath团队和一些RedHat开发者一起创造了IcedTea 项目,目的就是要用开源实现去替换OpenJDK中那些非开源部分。对于OpenJDK中现存的那些非开源二进制插件,GNU Classpath都提供了GPL许可的替换部分,从而使OpenJDK的IcedTea版对于诸如Redhat Fedora Linux发行版本的平台来说,更容易使用。
[关键字] 开源 Java OpenJDK IcedTea OpenJDK做为GPL许可(GPL-licensed)的Java平台的实现,Sun正式发布它已经一年有余。从发布那一时刻起,Java社区的大众们就又开始努力学习,以适应这个新的开源代码基础(code-base)。


Red Hat的Andrew Haley和Thomas Fitzsimmons所写的一篇文章中谈到了OpenJDK最初的发布情况,以及随后产生的IcedTea项目:

当全部Java源代码——现在称为OpenJDK——在2007年5月9日发布时,它还面临一些问题。 最主要的问题是有些代码的“缺失”。多年来,Sun得到的Java类库来自于多种渠道,因此,这些类库对应的许可种类也不一样,其中有些代码不允许开源。 为了能够使用这些受限代码,Sun提供了一些“二进制插件”,这些二进制插件被拷到构建(build)后的结果中。 这种做法的问题正如Fedora规则所讲的“别使用那些不开源的东西”那样,因为我们很难对看不见的代码保持信心。


GNU Classpath团队和一些RedHat开发者一起创造了IcedTea 项目,目的就是要用开源实现去替换OpenJDK中那些非开源部分。对于OpenJDK中现存的那些非开源二进制插件,GNU Classpath都提供了GPL许可的替换部分,从而使OpenJDK的IcedTea版对于诸如Redhat Fedora Linux发行版本的平台来说,更容易使用。Fedora 9包含了功能完全的OpenJDK包,部分应归功于IcedTea项目作出的贡献。

之所以发起IcedTea项目,并不仅仅是因为上面提到的非开源、二进制插件的原因。另一个主要原因是发现当前的OpenJDK缺乏平台移植性:

Sun发布的OpenJDK只能运行在i386 和AMD-64机器上。Fedora可以运行在其他系统上,特别是那些基于PowerPC的机器上。 为了解决这个问题,我们发起了IcedTea项目来完成移植。该项目基于Sun的C++解释程序,为OpenJDK向PowerPC移植构造了一个单独的解释程序。后来成为Zero,它是一个真正可移植的“零汇编程序”的版本。 正如你想到的,一个纯的解释程序确实要慢于Java实现中常用到的高性能的JIT (Just In Time)编译器,但是我们正在努力提高其性能。
shark(“鲨鱼”)项目正在研究高性能的JIT,目前由Gary Benson负责开发。 Benson的目标是能够让shark成为一个完全做到平台可移植的JIT,在他的博客上,已经对shark项目提供了定期状态更新。


在过去的这周里,IcedTea6 1.2已经发布——这个1.2版本的IcedTea是针对OpenJDK6的。版本1.2相对于1.1来说,包含的变化是:

更新到b09;
通过PYCC和LINEAR_RGB ICC简档,增加了lcms库;
集成了Gervill以提供对midi的支持;
集成了JTreg ; 
修订了javaws/NetX;
提高了安全性,即在运行时对Socket许可进行捕获;
实现了遗留的JNLP服务的api(PrintService,JNLPRandomAccessFile);
用于修订bug的applet;
sparc/sparc64移植;
桌面文件集成;
各种零修订(zero fixes);
声音修订;
字体修订;
在这里和这里修订了许多bug。
在开源社区为采用OpenJDK而努力工作的同时,OpenJDK本身也在为适应开源社区而进行调整。在过去的这周里,Java SE的首席工程师Mark Reinhold宣布了对OpenJDK宪章的第一次修正——对原宪章中最终期限部分的修订已经通过:

宪章指明临时管理委员会应在成立一年后被解散,即三周前的2008年5月8日。

可是到现在我们还没有制定出宪法,甚至连草稿也还没有。

Reinhold解释说之所以一再推迟制定宪法的相关工作,主要是因为这样可以让OpenJDK的成员能够将所有精力集中在与采用OpenJDK的开源社区一起协同工作,从而让OpenJDK更好用。IcedTea就是这些主要的开源社区工作其中之一。Reinhold 还提到:从理论上说目前的管理委员会还没有真正达到从Sun独立出来这个最终目标,但实际上一直在朝着这个方向努力,并且做得相当好。

因此,我们与其一门心思地去起草形式化的管理文档,还不如集中精力在源代码和实质的底层基础上,以支持在其上与开源社区的协作。
因此,修改了宪章,将其最后期限延长了一年,并将委员会成员由原来的5人扩至7人。
分享到:
评论

相关推荐

    openjdk11.0.16安装包

    总的来说,openjdk是jdk的开源版本,两者在功能上略有差异。 Red Hat版本的OpenJDK是OpenJDK的发行版,由Red Hat提供和维护。它主要用于Red Hat企业版Linux(RHEL)和其他Red Hat分发版。 要使用Red Hat版本的...

    openjdk和oracle jdk的区别.docx

    然而,很多“好心”的开源爱好者在 OpenJDK 中实现了相同的功能,并将源代码开源到 OpenJDK 中。 3. 商业使用限制 由于 Oracle 公司拥有 Java 商标的所有权,OpenJDK 不能使用 Java 商标。同时,J2EE 也不能使用 ...

    java-7-openjdk-amd64.tar.gz

    Java是世界上最流行的编程语言之一,尤其在服务器端和企业级应用中占据主导地位。OpenJDK(Open Source Java Development Kit)是Java Development Kit的一个开源实现,由甲骨文公司(Oracle)和其他贡献者共同维护...

    openjdk与Oraclejdk的区别.doc

    OpenJDK和OracleJDK是两个广泛使用的Java Development Kits...尽管OpenJDK在某些方面可能不完整,但通过开源社区的努力,如IcedTea项目,这些缺失的部分得到了弥补,使得OpenJDK成为一个功能完备且强大的开源Java平台。

    openjdk和oracle jdk的区别

    OpenJDK 是 Sun 在 2006 年末把 Java 开源而形成的项目,这里的“开源”是通常意义上的源码开放形式,即源码是可被复用的,例如 IcedTea、UltraViolet 都是从 OpenJDK 源码衍生出的发行版。Oracle JDK 采用了商业...

    java1.7-openjdk-amd64.zip

    在本文中,我们将详细介绍如何在 Linux 系统上安装 OpenJDK 1.7。 首先,确保你的系统是最新的,运行以下命令来更新包列表: ```bash sudo apt-get update ``` 由于 OpenJDK 1.7 不再是默认软件源的一部分,你需要...

    openjdk1.7.0_121

    java version "1.7.0_121" OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-2.6.8-1ubuntu0.12.04.3) OpenJDK 64-Bit Server VM (build 24.121-b00, mixed mode)

    java-7-openjdk-amd64

    安装包:java-7-openjdk-amd64.tar.gz 使用方法 1. 拷贝至服务器/个人电脑...OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-2.6.8-1ubuntu0.12.04.3) OpenJDK 64-Bit Server VM (build 24.121-b00, mixed mode)

    icedtea-web-1.7.1-1.el7.x86_64.rpm

    离线安装包,亲测可用

    icedtea-web-1.7.1-2.el7_6.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    国产化操作系统-安装JDKicedtea-netx插件.zip

    JDK从7开始,诞生了自由使用的公共版本OpenJDK,而因产权问题OpenJDK功能不完整,而Icedtea则为这些不完整而创立的,长期以来一直是OpenJDK的一套补丁,IcedTea提供一大块内容是plugin/java-web-start基础架构

    icedtea-web-1.7.1-4.el7_9.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    如何卸载linux自带openjdk并安装sun jdk

    在本教程中,我们将讲解如何卸载Linux上的OpenJDK并安装Sun JDK。 首先,我们需要确认当前系统中已经安装的Java版本。在终端中输入以下命令: ```bash java -version ``` 这将显示已安装的Java版本信息。例如,...

    icedtea-web-1.8.4-4.el8.x86_64.rpm

    离线安装包,亲测可用

    icedtea-web-javadoc-1.7.1-4.el7_9.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    icedtea-web-devel-1.7.1-4.el7_9.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

Global site tag (gtag.js) - Google Analytics