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

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

\

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

\
\tSun没有提起专利诉讼并不表示我们不会抱怨。虽然我与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的面世时间。多方面表示(12)法官Alsup对此进行了驳斥:

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

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

\

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

\

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值