如何评价谷歌决定安卓系统不再用甲骨文的私有 Java API?
发布网友
发布时间:2023-11-19 05:18
我来回答
共1个回答
热心网友
时间:2024-11-07 23:08
第一,Google当年拿Apache Harmony而不是openJDK,是因为license的问题(APL vs GPL v2)。事实证明Harmony的代码质量和干净程度都非常好,尤其是打官司,就发现九行测试代码这种不值一哂的东西。
所以如果OpenJDK不改变License,GPL和APL的兼容性问题还存在,估计双方合作也仅仅在API spec层面,Android自己是不会改License (APL)的。
第二,Google现在做这个事情的原因只是,Harmony因为战略问题被结束几年了,而J2SE还是一直在发展,而且已经有了一些不错的新特性和API。Android还是想利用这些新玩意的,这对Android的开发人员是好消息。
第三,个人感觉,Google和社区的交流是比较封闭的,它从来就没和Apache Harmony社区讨论过什么问题,也没有贡献什么代码;同样,即使没有License的问题,Android也不太会和OpenJDK社区有什么深入的交流,贡献代码和Spec。Google向来是拿来主义。
J2SE最近发展越来越慢了,的确需求层面上已经没有什么特别值得做的事情了,社区打打酱油,也不用吵来吵去了。反过来,Android本身还有很大的优化空间。其实Google早就可以向iOS/swift学习,自己搞一套,省得麻烦。现在要维护向下兼容的问题,积重难返了。不过对于开放人员来说,兼容总是一个好消息。