我想知道为什么我们(Java社区)需要Apache Harmony项目,而现在已经有一个OpenJDK项目。两者都不都是在开源许可下发布的吗?

最佳答案

相反。之所以成立Harmony,是因为Sun不想在GNU Classpath上构建时提供开放源代码的版本,并希望从IBM和其他公司(如果我没记错的话,可以从HP那里)获得大量代码捐赠。

在Harmony变得“足够好”的那段时间,Sun决定将其实现以OpenJDK的名义放在GPL下。

如今,Harmony已获得OpenJDK的重要替代,因为它们已获得Apache许可而不是GPL许可。但是,他们还没有通过TCK测试来证明它们是兼容的,因此它不是官方的Java实现。



编辑:我也相信Google在Harmony上构建了许多Android堆栈,以避免使用Sun(现在为Oracle)拥有版权的代码。



编辑:从那以后,IBM(根据传闻)获得了永久的Java许可,并放弃了Harmony项目,该项目随后几乎立即死亡。

07-28 14:18