Oracle vs Google:在陪审团考虑专利问题之际法官Alsup披露自己是个程序员

本文主要是介绍Oracle vs Google:在陪审团考虑专利问题之际法官Alsup披露自己是个程序员,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2012/05/oraclevgoogle-patents

目前,Oracle与Google诉讼案的陪审团正在考虑对两个专利的裁决。由于陪审团在此前的版权阶段所作出的裁决(他们无法在Google对Java的使用是否合理这个问题上达成一致),现在Oracle的救命稻草就是专利阶段的裁决结果了。

第一个专利(后文称作104)于1992年生效。104本质上指的是这样一个方法,计算机系统会通过一个符号标识符(能够动态解析为正确的地址)对内存中的数据调用该方法,而无需使用具体的内存地址本身。104的发明者James Gosling虽然对Oracle没什么兴趣,但他在自己的博客中表示了在这起诉讼中对Oracle的支持。

Sun没有提起专利诉讼并不表示我们不会抱怨。虽然我与Oracle道不同,但在这起诉讼中,Oracle是正确的。Google完全输给了Sun。

第二个专利(520)为程序创建静态数组值提供了一种可以使用更少系统资源的方式,这是通过模拟Java字节码的执行来实现的,这减少了虚拟机所要做的工作。

对于这两个专利来说,人们通常认为104更具价值。在结束语中,Oracle的首席律师Michael Jacobs告诉陪审团Google自己的工程师(主要指的是Andy McFadden)已经在其证词中承认Android的Dalvik虚拟机是通过Oracle专利所描述的方式来获取数据的。Google的首席律师Robert Van Nest告诉陪审团符号引用是“Android从来都没有使用过的东西,从来都没有”。他说,104描述的是一种动态系统,而Dalvik优化程序dexopt则是“一种静态操作”。

对于520专利来说,Van Nest将其描述为一种非常小的特性。该专利描述了一种初始化数组的方式,Oracle声称它被用在了Android “dx工具”中。正如该专利所示,Google说该工具所做的事情仅仅是“模式匹配”而非“模拟执行”。

一旦陪审团做出了裁决,假如他们认为Google侵犯了Oracle的专利,那么审判就会转向损害赔偿了。Oracle对版权侵犯提出了10亿美金(折合6亿3千万英镑)的赔偿,但对于违反专利声明的任何处理都要远远小于这个数字。根据ITworld的报道,在该诉讼开始前,Google曾计划为这两个专利支付总计280万美金(折合175万英镑)的损害赔偿,涵盖了2011年他们对这两个专利的使用。根据ITworld所述,Oracle提出了415万美金的赔偿。对于未来的使用,Google需要为其中一个专利支付其Android营收额的0.5%,直到今年12月该专利过期为止。Google还提出为第二个专利支付其Android营收额的0.015%,直到2018年4月该专利过期为止。

Oracle与Google都同意将版权阶段的损害赔偿决定延期,直到法官Alsup处理好编程APIs的版权规则为止。如果Alsup认为APIs是受版权保护的,那么新的陪审团将会聆听该案以决定损害赔偿。如果Alsup认为APIs是不受版权保护的,那么就损害赔偿来说,双方将会放弃自己的权利。Oracle已经提供了版权案的文件,从9行代码的rangeCheck函数到用于测试的8个文件。根据庭审记录所述:

法庭上的证据表明Google反编译了8个Java文件并将其复制到自己的项目中。对于正常的陪审团来说,他们觉得仅仅复制8个计算机文件根本就不值得小题大做。庭审记录包含了这些Java代码文件的源代码(TX 623.2–623.8)、Java代码文件的反编译版本(TX 896.1–896.8)以及对应的Android代码文件(TX 1031–40)。John Mitchell教授证实了反编译过程、他是如何确定这8个文件是被反编译的以及通过一行一行地比较,如何发现“实际的代码是完全匹配的”(Tr. at 1259–1260)。

与之相反,Google认为陪审团发现Google对这些复制文件的使用根本就不值得一提,因为这些复制的文件只是“测试文件”而已,并不会发布到Android手机上。这么做是没有说服力的。

然而,Oracle的律师David Boies却死盯着rangeCheck函数侵犯不放,并说到:复制这9行代码加速了Android的面世时间。多方面表示(1、2)法官Alsup对此进行了驳斥:

我曾经,并且现在依然在使用其他多种语言来编程。我之前曾写过类似于rangeCheck这样的函数代码几百次了。我能做到、你也能做到。人们本来可以自己实现它,复制的原因就是为了快一点而已,这仅仅是个意外。你怎么能说这加快了Android的面世时间呢。你是美国最好的律师之一,但怎么能提供这种论据呢?

Google认为最终的审判应该会没事,因为陪审团无法就其公平使用Java的问题上达成一致、也无法做出最后的裁决、审议将在法官Alsup确定好API的版权问题后开始。

无论结果是什么,都很可能会有一方继续上诉。

查看英文原文:Oracle vs. Google: Judge Alsup Reveals he is a Developer as Jury Considers Patent Claims

这篇关于Oracle vs Google:在陪审团考虑专利问题之际法官Alsup披露自己是个程序员的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/155327

相关文章

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错

如何解决Spring MVC中响应乱码问题

《如何解决SpringMVC中响应乱码问题》:本文主要介绍如何解决SpringMVC中响应乱码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC最新响应中乱码解决方式以前的解决办法这是比较通用的一种方法总结Spring MVC最新响应中乱码解