开源 Java 转向统一

  • Charles Humble
  • 宋玮

2007 年 11 月 23 日

话题:Java开源DevOps语言 & 开发架构

2006 年 11 月 13 日,Sun 宣布决定开始在 GPL v.2 许可下开放 Java SE 和 ME 的源代码的进程。该决定受到了广泛的欢迎,尽管 Sun 因此损失了两位高级执行官(他们都以开放源码策略作为其离开的主要原因)。副总裁及老前辈 Graham Hamilton,他帮助建立了 JCP 并领导过 Java SE 团队一段时间,在宣布该消息几星期之内就离开了。就在最近,全球信息系统策略副总裁 Larry Singer 也离开了,并再次表明 Sun 的开放源码策略是其离开的重要因素。

头一年的确没有什么进展。由于开发者对发布补丁到 OpenJDK 中的进程感到不满,Roman Kennke 被淹没在开发者们不悦的抱怨声中。针对 JCK(Java 兼容性工具——Java Comparability Kit)依然未定的许可约束已导致了 Sun 和 Apache公开的争吵,Apache 需要 JCK 认证他们 Java SE 的 Harmoy 实现。这一回合已经在 JCP 成员中间导致了一些不好的情绪,从最近的投票评论中可以看到这一点。Harmony 本身已经引发了大家对 Java SE 领域可能分裂的关注,而 Google 最新宣布的 Android 平台,使用了一些 Harmony 类库,这使大家进一步确信 Java 的分裂,因为它只支持 Java SE/ME 类库的一小部分子集,而且为它开发的应用程序使用了一种适当的二进制格式而非 Java 字节码。这种格式只能用 Google 自己的 Dalvik 虚拟机执行。

Java 管理委员会同样受到越来越多的关注。这个临时性团体打算为 OpenJDK 社区起草一个新的章程并监视用一个永久性组织取代自身的选举过程。然而,从最初开始的六个月里,委员会只有一次面对面的会议,在为形成一个用户选举的管理委员会需要做的工作方面和关于 Java 的章程方面没有什么显著进展。

然而,该策略也开始导致一些分裂。在 SE 方面,Red Hat 已经宣布同意与 Sun在 Java 开发上进行合作。该交易的首批好处之一是在 IcedTea 项目上的紧密合作,该项目在一个 Linux 环境中将 Fedora 和 JBoss 技术集成在一起。IcedTeat 为 OpenJDK 项目当中的保留所有权部分(估计占当前代码库的 4% 左右)提供了自由软件备选,并有希望在如字体光栅和密码技术库方面产出产品可用实现。另外,值得注意的是,IcedTea 已经把 Java 6 引入到 Fedora 包中,预期 Java 将会是 Red Hat Enterprise Linux 的一部分。同时,从 Java SE 社区上已经能看到对 Apple 的 OSX 上缺乏可用的 Java 6 的反应了——正在进行移植

在手机和嵌入式领域,phoneME 社区已经把 Java ME 移植到基于 Linux 的 Nokia N800 Internet Tablet 上了,还有一项将 Java ME 移植到 Windows CE 设备的工作正在进行中。英国最大的移动运营商 Vodafone 出台了Bvine项目,致力于将地图程序(如 Google map)关联到手机的 GPS 组件上。Telenor 还贡献了iLabs mobile项目,以及有着迷人相貌的Bug Labs,它是使用 Java ME 来为他们的用户装配 Linux 小部件提供软件栈。此外,Sun 的 Java ME 技术传道士 Terrence Barr,引用他的话说他相信 Apple 在 2008 年早期为 iPhone 发布一款 SDK 的计划将导致 Java ME 的开源版本 phoneME 在 Apple 的 iPhone 上掀起一股热浪。

Sun 决定清除曾经困扰 Java 应用程序许可问题的主要障碍,无疑将会提高 Java 在开源开发者中间的声望,而且一个社区正在建立。他们已经声明,自从 5 月份开源 JDK 发布以来,截至 10 月底,已经有将近 12700 个完整下载。还有迹象表明,该策略可能会填平 Sun 和它的竞争对手在开发者和中间件工具上的鸿沟。然而,在我们确实了解开源方式能为 Sun 和 Java 带来多大好处之前,很难预计有多少困难需要面对,需要经过多长时间。

查看英文原文:Open Source Java Turns One

Java开源DevOps语言 & 开发架构