谷歌赢了!Oracle控告Android非法使用Java败诉

据Android Police报道,Oracle对Google非法使用Java API的控告已经被陪审团视为无效,陪审团认为谷歌对该API SSO(结构,序列以及组织)的使用完全属于合理使用。

Oracle对Google的控诉历时已久,2010年Oracle首次发起了对Google的控诉,称Android对Java的使用侵犯了公司 的专利。2012年陪审团表示站在谷歌一方,不过2014年美国联邦巡回法院又认为Oracle的确拥有Java API的知识产权保护。

根据Oracle的说法,Android Dalvik虚拟机使用的Java API属于非法使用,并称谷歌真正的“技术大盗”。尽管长久以来Oracle的观点都被认为是毫无根据,但是许多法律分析人士认为Java API SSO的确有著作权保护,谷歌可能输掉这次官司。然而最终陪审团并没有这样认为,而是认定谷歌的使用为合理使用。

值得一提的是,Oracle的控告被普遍认为是公司创始人Larry Ellison对Android的私人恩怨。Oracle认为Android在没有与Oracle合作的前提下就使用Java API“偷”走了Oracle的移动市场,而谷歌却通过它赚取了数百亿美元的利润。谷歌表示Java的本身属于开源,不需要任何授权许可,因此 Dalvik对Java API的使用完全合理。

转载请注明本文出处:http://www.infocool.net/kb/Java/201606/152823.html

时间: 2024-08-02 03:59:01

谷歌赢了!Oracle控告Android非法使用Java败诉的相关文章

Android HttpsUrlConnection eofexception --> java.io.EOFException

05-15 17:32:51.624: W/System.err(9851): java.io.EOFException 05-15 17:32:51.694: W/System.err(9851): at libcore.io.Streams.readAsciiLine(Streams.java:203) 05-15 17:32:51.694: W/System.err(9851): at libcore.net.http.HttpEngine.readResponseHeaders(Http

【Android XML】Android XML 转 Java Code 系列

最近在公司做一个项目,需要把Android界面打包进jar包给客户使用.对绝大部分开发者来说,Android界面的布局以XML文件为主,并辅以少量Java代码进行动态调整.而打包进jar包的代码,意味着无法通过常规的getResources(),getString()等方法来快速的获取资源,因为这些资源都是在apk安装的时候初始化生成的.为了满足客户的需求,笔者开始在网上寻找各种解决方案.结果如下: 1.apk 主体包方案 实现方法:安装一个新的apk,新apk和主apk使用android:sh

Android如何在java代码中设置margin

习惯了直接在xml里设置margin(距离上下左右都是10dip),如: <ImageView android:layout_margin="10dip" android:src="@drawable/image" /> 只是有些情况下,需要在java代码里来写. API中,android.view.ViewGroup.MarginLayoutParams有个方法setMargins(left, top, right, bottom).可是View本身没

Android JNI之JAVA与C++对象建立对称关联(JNI优化设计,确保JNI调用的稳定性)

转载请声明:原文转自:http://www.cnblogs.com/xiezie/p/5930503.html Android JNI之JAVA与C++对象建立对称关联 1.JAVA对象持有C++对象的指针 在JAVA类中创建一个int类型的变量(如int mObj),用于储存C++对象的指针 在创建C++对象(如MyCPlusObj)的本地方法中,将C++对象的指针存入JAVA变量中(mObj) JNIEXPORT void JNICALL Java_nativeMethod (JNIEnv

Oracle EBS Form Builder使用Java beans创建窗体

最近有个项目,需要研究一下Oracle的E-Business Sutie(EBS),对于以前没接触此套件的我来说,简直太痛苦了.在网上找了一堆资料,试着进行Form二次开发,也遇到各类奇葩问题.目前遇到最大的一个问题是,如何在本地 Form Builder中进行窗体构建,并调用后台的JavaBean对窗体进行交互?网上也有不少的解决方案,但是都存在一些差异,试了很多次,终于实现了我预期的效果. 为了防止以后再遇到类似的问题,先做一个记录,以备后查. 1.环境搭建说明  服务器:Oracle EB

Android优化-与Java有关-内存

内存优化 Android系统对每个软件所能使用的RAM空间进行了限制(如:Nexus one 对每个软件的内存限制是24M),同时Java语言本身比较消耗内存,dalvik虚拟机也要占用一定的内存空间,所以合理使用内存,彰显出一个程序员的素质和技能. 1) 了解JIT 即时编译(Just-in-time Compilation,JIT),又称动态转译(Dynamic Translation),是一种通过在运行时将字节码翻译为机器码,从而改善字节码编译语言性能的技术.即时编译前期的两个运行时理论是

Android 编程下 java.lang.NoClassDefFoundError: cn.jpush.android.api.JPushInterface 报错

使用了极光推送的 jar 包项目在从 SVN 中检出后,假设不又一次对 jar 包和 Bulid Path 进行配置就会抛出 java.lang.NoClassDefFoundError: cn.jpush.android.api.JPushInterface 的错误,进行例如以下操作就可以消除这样的错误: 删除 libs 目录下的 jpush-sdk-release1.3.8.jar(极光推送的 jar 包),又一次在 libs 目录中增加  jpush-sdk-release1.3.8.ja

Android笔记:java 中的数组

在与嵌入式设备通讯的过程中使用的socket通讯 获取的字节流,通常转换为字节数组,需要根据协议将字节数组拆分.对于有规律的重复拆分可以使用,由于java中不能像c中直接进行内存操作例如使用struct 内存拷贝可以直接实现,这里考虑的是借用数组拷贝的方式来实现. java数组复制参考 引自百度空间 同时参考 数组拷贝之java.lang.System.arraycopy和java.util.Arrays.copyOf方法 java数组复制的4种方式,java数组拷贝问题 JAVA数组的复制是引

Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}

Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPoi 错误信息字符串:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.first/com.first.Game}: java.lang.NullPointerException 一般都会在Activity  o