关于“Google在Android平台使用Java侵犯知识产权”一案,2014年5月,联邦法院判定Oracle获胜,这个结果完全出人意料,因为这样一来无异于打开了软件开发领域中API使用方式的潘多拉之盒。Android使用的Java API是基于Google自己开发的Dalvik虚拟机,Google也因此就侵权问题提出了自己的异议,因为他们用的根本就不是Oralce的Java虚拟机(JVM)。

尽管Java是一个开源平台,任何开发者都应该能够自由访问和使用,但是Oracle认为,这个开源条款不适用于API包(具体指API包的组织形式——译者注)。“对于Java编程语言的开源性是毋庸置疑的,任何人都能免费使用”,联邦法庭裁定中写道,“但是下列三项API包则不在这个开源范围之内,因为Google很明显能够使用Java语言 自己重写这些API包,但是他们没有这么做。相反,Google毋庸置疑地拷贝了7000多行的声明代码,并几乎复制了整体的代码结构,序列,组织形式,这些东西都是Oralce Java API中已经存在的……被指控侵权的37个Java API包都在声明的开头标注了版权保护说明。”

联邦法院的这一裁决推翻了下级法院在两年前做出的关于:“API不受美国版权法律保护”的判决,Google当时做为被告胜诉。其实上诉法庭现在的判决并不是已经判定了被控侵权的API已受到法律保护;其受到保护与否要根据初始法院再组织的新陪审团来进行判断。上诉法庭的判决实际上是说,这些API有可能会被版权法保护,两年前下级法院的“不被保护”的裁决是错误的。

如今法庭裁决“API可能受保护”这一结果,将可能导致技术工业领域一场全新的知识产权的战争。这些战争多半都是关于Android的——比如那些有年头的旧案子:“三星状告苹果侵犯专利权”——但是这一判决导致的指向性可能会影响到所有的开发者。一直以来,Oracle的法律官司都是业界的恐怖噩梦,很可能将Android和开源软件都拖入无底的泥淖。现在,这个噩梦部分地,成真了。

“我不是律师,但是仅从一名开发者的角度来看,对API进行版权限制只会给软件开发的协作一体化带来摩擦和混乱,因为程序员无法使用API来完成任务了。”,Jeffery Hammonds(Forrester Research副总裁)表示,“开发者必须要担心API中潜在的侵权问题,而且供应商也必须要承担同样的风险。我不认为像这样制造恐惧和不确定性会对软件开发者有什么好处,尤其是对第三方服务来说,这更加糟糕。”

“避免Java语言碎裂化,这是Oracle一直以来坚持追求的目标,这是有价值的,但是我们不认为给API加上版权会有利于实现这个目标。”,Ed Anuff(Apigee产品策略副总裁,Apigee是一家提供云端API接入的服务商)说,“相反这样做是起到了反作用,反而使得API不得不变得更加复杂,以此来规避那些政治或法律层面的问题。这样一来,会造成一个双输的局面,对参与者毫无益处可言。”

自然,Oracle的代理律师Josh Rosenkarz对这个裁决非常满意,他表示:“今天,联邦法院巡回法庭保证了创新者的利益能够得到保护。” 关于下级法院就此诉讼再次开庭前,Oracle是否会主动达成庭外和解的问题,Oracle目前还没有对此发表任何回复;Google对此也没有发表任何意见。

原文链接: Javaworld
翻译: ImportNew.com - 黄小非
译文链接: http://www.importnew.com/11649.html

Oracle意外赢官司,程序员或过苦日子的更多相关文章

  1. 谁说程序员都是苦逼的——看看兄弟连上海S2班的点点滴滴

    时间过的很快,上海校区第三期马上临近开班,第一期的学员也结束了自己第一个项目.         今天,2013.05.08日,我亲自参加了S01的第一个项目答辩,也为你们记录下了这样那样的一些时刻.其 ...

  2. 苦逼三流小公司程序员这半年找工作经历(3)——选择offer

    本文按照企业规模.性质.规模,分成三类,点评一下遇到的这些公司.也算是为半年找工作经历的一个总结. 1,三流小公司 公司规模类似于笔者跳槽前所在企业,性质有外商独资.合资,当然大多数都是民营企业,规模 ...

  3. 程序员装X指南

      一.准备工作“工欲善其事必先利其器.” 1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好.一个用来查资料,一个用来写代码 .总之要显得信息量很大,效率很高. 2.椅子不一 ...

  4. 程序员装B指南(转载)

    转自:http://www.oschina.net/question/615783_115390 一.准备工作 "工欲善其事必先利其器." 1.电脑不一定要配置高,但是双屏是必须的 ...

  5. .NET程序员细数Oracle与众不同的那些奇葩点

    扯淡 距上次接触 Oracle 数据库已经是 N 年前的事了,Oracle 的工作方式以及某些点很特别,那会就感觉,这货就是一个奇葩!最近重拾记忆,一直在折腾 Oracle,因为 Oracle 与众不 ...

  6. .Net程序员学用Oracle系列(5):三大数据类型

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.Oracle 数据类型概述 2.字符类型 2.1.字符集 & NLS 2.2.常见的两种字符串 2.3.NCHAR ...

  7. .Net程序员学用Oracle系列(1):导航目录

    本人从事基于 Oracle 的 .Net 企业级开发近三年,在此之前学习和使用的都是 (MS)SQL Server.未曾系统的了解过 Oracle,所以长时间感到各种不习惯.不方便.怪异和不解,常会遇 ...

  8. .Net程序员学用Oracle系列(2):准备测试环境

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.创建说明 1.1.为什么要创建的测试环境? 1.2.了解 Oracle 实例的默认用户 2.创建环境 2.1.创建基本环境 ...

  9. .Net程序员学用Oracle系列(4):四个基本概念

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.概念说明 1.1.表空间 1.2.SCHEMA 1.3.用户 1.4.权限 2.表空间管理 2.1.创建表空间 2.2.监控 ...

随机推荐

  1. 字符串:KMP

    KMP是字符串匹配的经典算法 也是众多字符串基础的重中之重 A. 题意:给T组数据,每组有长度为n和m的母串和模式串.判断模式串是否是母串的子串,如果是输出最先匹配完成的位置,否则输出-1. 做法:直 ...

  2. 分析nginx日志脚本之python

    为了对每个月的切割过的30个日志文件统计出访问最多的ip地址进行排序,整理了下面的脚本,主要思路是处理每一个日志文件的ip排序,最后进行字典合并,计算出月ip排序. #!/usr/bin/env py ...

  3. Delphi 常用数据类型 字符串类型 数据类型等等

    字符串类型 Delphi有三种类型的字符: ●AnsiChar这是标准的1字节的ANSI字符,程序员都对它比较熟悉. ●WideChar这是2字节的Unicode字符. ●Char在目前Delphi早 ...

  4. 压缩JS时生成source_map

    @echo off :: 当前目录 src/test set currDir=src/test/ set sourceMapFileName=test.js.map set inputList=%in ...

  5. DIV+CSS制作斜线效果记录

    DIV+CSS 斜线效果很简单,只需设置一下CSS Border 的边框就能有斜线效果.代码分享给大家,你可以自己变通. 提示要注意两点:1.DIV宽高的定义.2.DIV在 IE6 中默认是有高度的. ...

  6. 面向对象 ( OO ) 的程序设计——理解对象

    本文地址:http://www.cnblogs.com/veinyin/p/7607938.html  1 创建自定义对象 创建自定义对象的最简单方法为创建 Object 的实例,并添加属性方法,也可 ...

  7. [ JS 进阶 ] 闭包,作用域链,垃圾回收,内存泄露

    原网址:https://segmentfault.com/a/1190000002778015 1. 什么是闭包? 来看一些关于闭包的定义: 闭包是指有权访问另一个函数作用域中变量的函数 --< ...

  8. NYOJ 305 表达式求值 (字符串处理)

    题目链接 描述 Dr.Kong设计的机器人卡多掌握了加减法运算以后,最近又学会了一些简单的函数求值,比如,它知道函数min(20,23)的值是20 ,add(10,98) 的值是108等等.经过训练, ...

  9. js_网页导出pdf文件

    打印当前页面,一开始我认为是需要输出pdf的,后来了解的需求是能够打印就可以了.需求既然都研究了,记录下. 更好的打印方式,window.print();会弹出打印对话框,打印的是window.doc ...

  10. 一个Servlet处理增删改查的方法

    处理的思路是在servlet中定义不同的增删改查方法,页面请求 的时候携带请求的参数,根据参数判断调用不同的方法. package cn.xm.small.Servlet; import java.i ...