为了阻止Java在Linux操作系统社区中成为“二等公民”,Apache Harmony项目(一种计划开发Java的开放源代码实现)正在寻求帮助。
Apache Harmony已经在呼吁Java企业捐献代码。据Apache软件基金会的董事会成员马格纳森表示,开发Java平台所有部件的开放源代码实现都将是很困难的,但他希望通过说服企业和自由软件项目捐献代码来为这一项目的进展加速。
据马格纳森于上周在JavaOne展会的一次研讨会上讲演时表示,我们不希望重新开发Java的实现,可以供我们选择的“候选者”有两种:GNU Classpath项目和现有的JVM厂商。我们希望有许多代码能够捐赠出来。据马格纳森称,最难去完成的一项任务将是实现Java类库,他称这项任务为“海量任务”。此外,马格纳森还表示,开发JVM和实时编译器(JIT)也是很困难的,因为它是一门儿复杂的计算机科学。市场上有许多包括BEA JRockit、IBM JVM、JVM in Macromedia ColdFusion MX等在内的JVM和JIT实现。
与此同时,马格纳森也指出,开发Java的开放源代码实现对于Java在开放源代码社区中的普及也是很重要的,否则的话,开放源代码社区可能会使用Mono(一种能够运行.NET或Java软件的开放源代码平台)。他表示,我们希望为Linux操作系统和BSD社区提供一个开放和自由的Java平台,由于Java没有使用开放源代码许可,因此,目前它在Linux操作系统社区中仍然属于二等公民。开放源代码社区也在关注着Mono,但我们有着比Mono更好的解决方案━━Java。如果我们能够向开放源代码社区提供这一选择,我认为它们将会接受的。他表示,由于Java不是开放源代码软件,因此,那些发展中国家可能会对它产生一种敬畏的感觉。例如,巴西计划在政府机构使用开放源代码软件,这在理论上将使Java在巴西没有立足之处。
与开放源代码软件关系密切的诸如开放源代码社区和IBM公司等企业也一直在呼吁Sun公司将Java技术开放源代码化。但Sun公司却对此表示拒绝,并警告:Java开放源代码化会破坏它的兼容性。马格纳森对开发Java开放源代码实现会导致不兼容Java版本的说法进行了否定,因为他们将使用Java的“技术兼容性工具包”(TCK)对产品进行测试。据他表示,所有产品都需要通过TCK测试。他希望Apache Harmony项目能够为一直在进行的有关Sun公司是否应当将Java开放源代码化的这场争论画上句号。