近日,Apache软件基金会董事做出了一个史无前例的举动:如果他们作为Java规范实现者的权利得不到满足,那么就打算离开JCP
。
在JSPA上,Oracle与ASF同意一起参与JCP的建设,ASF享有Java SE测试包(即”TCK“)的许可权,这样ASF就可以基于Apache License测试并发布Apache Harmony项目了。但现在Oracle违背了他们所签订的合同契约,只提供了附加额外条款与条件的TCK许可,而该许可与开源或免费软件许可又不兼容。
ASF声称如果他们作为Java规范实现者的权利得不到JCP执委会最大限度的满足,那么他们将终止与JCP的合作关系。缺乏积极、有力、清晰执行力的权利反映出JSPA是毫无价值的,只能证明JCP规范只不过专有文档而已。
最具争议的事情就是Sun(现在的Oracle)拒绝为Apache开源的Java实现提供测试兼容包(TCK)。其中的原因在于财政——Oracle很大一部分收益来自于移动设备上的Java,而移动设备上免费的JVM可能会威胁到Oracle的收入来源(OpenJDK对于很多嵌入式设备都是不适用的,因为它要求所有的源代码都得基于GPL发布,这就需要商业许可了)。
然而,JCP文档
还需要使用JSRs。对于Java 6平台的JSR 270
来说,许可条款包括:
10.应该向非营利组织与参与创建Java SE 6规范兼容性实现的个人无偿提供Java SE 6 TCK,只需带有商标与商标版权即可,但不提供支持。
从2007年4月
开始Apache董事就开始抱怨这种矛盾,然后又是Java 5规范。现在,主要的问题在于使用限制上:
从2006年8月开始,ASF就开始尝试从Sun搞来Java SE测试包的许可。该测试包叫做”Java Compatibility Kit“(即”JCK“),Apache Harmony项目需要使用它说明它与Java SE规范的兼容程度,而这正是Sun规范许可所要求的。Sun所提供的JCK许可通过限制”使用条款“对软件用户增加了不少知识产权方面的约束。
这些限制与Java规范参与协议(JSPA)
之间矛盾重重——JCP的条款是由Sun所统治的。特别地,JSPA要求:
- 规范领导不能”增加任何契约来限制任何许可创建或是分发独立实现的权利“(第5.C.III节)。
- 规范领导必须为任何兼容的规范实现提供必要的免知识产权的许可(第5.B节)。
该实现正好与Oracle和Google之间的专利诉讼
交叉,而后者的诉讼主要关注在JVM本身。虽然Harmony带有DRLVM(最初由Intel捐献),但TCK本应该授权使用这些专利。要是没有TCK,Apache Harmony的JVM可能就会违背某些专利——但Oracle发起的庭审自动卷入到了关于JSPA的争论,Oracle希望避免这些情况的发生。
由于IBM加入到了OpenJDK当中
,人们不禁要问:Oracle能否拯救Java呢
?Oracle的立场依旧强硬——不管之前人们怎么说,在最后验收前,应该将这种残局公之于众。
然而遗憾的是,虽然Oracle仍旧需要人手
,但Doug Lea等人却已经离开了JCP
。
无论Apache是否还留在JCP,Oracle已经不太可能改变他们对无限制TCK的立场了。即便Apache还留在JCP并且对Java 7投了反对票,Oracle也会竭尽所能地推进Java 7。
Oracle已经将自己推向了社区的角落。MySQL之前的众多开发者都选择了离开(并且创建了开源产品,如MariaDB
与Drizzle
);OpenSolaris董事也已离职
去了Illumos
,还有其他很多优秀人才
也都离开了。人们甚至还发起了一个投票,质疑JCP是否还是一个独立的标准化组织
。
自从Oracle开始控制Java与JCP起,他们就可以像终止OpenSolaris项目一样轻松终止JCP。由于Apache没有足够的资源支撑起这场战役,因此无论他们是走是留都对明年Oracle发布Java 7没有太大的影响。结果,离开JCP可能是Apache唯一的选择。
查看英文原文:
Apache Threatens to Leave JCP
原文:http://www.infoq.com/cn/news/2010/11/apache-jcp
分享到:
相关推荐
标题 "WLW_JCP2.zip" 提供的信息表明这可能是一个关于WLW(可能是开发者或项目的简称)的项目,而“JCP2”可能是该项目的第二个版本...对于想要深入理解物联网硬件和无线通信的开发者来说,这是一个宝贵的实践案例。
javax.xml.crypto org.apache.xml.security org.jcp.xml.dsig.internal
1. **Apache Tomcat介绍**:Apache Tomcat是由Apache软件基金会开发的Java Servlet容器,它是Java Community Process(JCP)的一部分,遵循Java EE规范。Tomcat主要负责解析HTTP请求,将动态内容通过Servlet或JSP...
首先,Apache Tomcat是Apache软件基金会的一部分,它是Java Community Process(JCP)定义的Java EE(现在称为Jakarta EE)标准的一部分,特别是Servlet和JSP规范的实现。Tomcat支持Servlet 3.1和JSP 2.3规范,这...
Apache Tomcat是Apache软件基金会的一部分,是Java Community Process(JCP)的一部分,它实现了Java EE的Web部分,即Servlet和JSP规范。Tomcat的设计目标是轻量级、高效和易于管理,因此它是小型到中型企业级应用的...
JCP007
JCP011
JCP035
JCP073
JCP057
JCP008
JCP060
JCP072
JCP002
JCP071
JCP048
JCP010
JCP003
JCP006
JCP070