我想知道,为什么我们(Java社区)需要Apache Harmony项目,而已经有一个OpenJDK项目。这两个都不是在开源许可下发布的吗?
答案 0 :(得分:6)
反过来了。和谐已经形成,因为Sun不希望提供开源版本,并且在构建GNU Classpath的同时,从IBM和其他人那里获得了大量的代码捐赠(HP,如果我没记错的话)。
在和谐得到“足够好”的时候,Sun决定以OpenJDK的名义将其实施置于GPL之下。
目前,Harmony提供了OpenJDK的重要替代方案,因为它们属于Apache许可证而非GPL。但是,他们没有通过TCK测试来证明它们是兼容的,因此它不是官方的Java实现。
编辑:我也相信Google在Harmony上构建了大量的Android堆栈,以避免使用Sun(现在的Oracle)拥有版权的代码。