疲于纠缠,Android N将不再使用甲骨文Java APIs

杜暮雨·2015-12-30 16:31
谷歌将在下一代Android系统Android N中用甲骨文(Oracle)公司的开源代码OpenJDK来替代后者的Java APIs。

谷歌将在下一代Android系统Android N中用甲骨文(Oracle)公司的开源代码OpenJDK来替代后者的Java APIs(Application Programming Interfaces)。

此事最先在上个月由Hacker News贴出的一段神秘安卓代码库露出,目前VentureBeat已得到谷歌的正式确认。

官方的回应是:

作为一个开源平台,Android建立在合作共生的开源社区之上。在下一版的Android系统之中,我们计划将Java语言库替换为以OpenJDK为基础创造出来的通用代码库,便于让开发者开发app和服务。谷歌常年为OpenJDK做贡献,未来还将继续下去。

若要追本溯源的话,谷歌和甲骨文的争议从2010年就开始了,后者一直称谷歌的Android系统使用了甲骨文的Java版权和专利,并将谷歌告上法庭,索赔61亿美元

在公理上谷歌是理亏的,此举想必也是迫于压力与常年消耗战带来的疲惫。虽然OpenJDK是Java SE的中的代码,同样隶属于甲骨文,但它是开源的,且Java SE在2007年诞生之时甲骨文还没有收购Sun Microsystems、拥有Java。

Android提供一些Java API代码库来支持开发者用Java编程语言开发应用,主要分为两部分:代码库的APIs,以及谷歌为了让代码库工作而开发的执行代码。甲骨文拥有Java,并有两个这种代码库:专有JDK和开源OpenJDK。谷歌使用的是后者,并已在某些领域有了应用,意味着其将分享这些执行代码。

从这段代码库的改动可以看出OpenJDK代码已经被加进Android:

Initial import of OpenJdk files.

Create new libcore/ojluni directory with src/main/java and src/main/native subdirectiories.

Build ojluni into core-oj jar.

Use openjdk classes from java.awt.font package.

Copy all files from jdk/src/share/classes and jdk/src/solaris/classes directories in openjdk into libcore/ojluni/src/main/java.

Copy following native files from openjdk to libcore/ojluni/src/main/native: [long list of files]

谷歌声称这一改变是因为要使用第8版Java的功能,但要真是这样早就应该换了,其背后的缘由其实还是来自甲骨文的纠缠。事情发展到现在,赔多少钱还没定,但谷歌基本上不太可能再使用由版权的APIs了。

最后,案件尚未结束,而最终的审判结果将产生巨大影响:如果甲骨文胜诉,科技巨头们将不再能随意使用存在版权的API包了。

+1
0

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000

下一篇

对科技类IPO来说,今年并不是一个丰收年。

2015-12-30

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业