写点什么

Sun 对 OpenJDK 及其衍生品发放 JCK 许可

  • 2007-08-13
  • 本文字数:1265 字

    阅读完需:约 4 分钟

Sun Microsystems 于 8 月 9 日宣布为 JCK(Java Compatibility Kit——Java 兼容性工具包)发布一个新的许可证版本。 这个特别拟定的 OpenJDK 社区 TCK 许可证(OpenJDK Community TCK License)——正如其名字所暗示的——被设计成方便 OpenJDK 社区更宽松地访问 JCK,因而确保了与 Java 标准保持一致。这显然是对开源版可信度的一个巨大推进。

尽管 Sun 最近已经将一些关键软件资产转移到开放许可下时,但 JCK 依旧被严密地控制。随着时间流逝,获得对其使用权已经逐渐的变得简单了,尽管这种方式并不是开源实现者所钟爱的。

新许可对哪些项目可以获得兼容性测试权设置了明确要求。其关键在于一个项目必须“基本上源自”OpenJDK 本身,而且编码必须在GPL2 许可下可用——尽管事实上OpenJDK 确实是在GPL2 许可下分发的,这意味着任何衍生品都必须遵循GPL2。“基本上源自”的真实含义在许可中并未详细说明,而且在 FAQ 中也不明确:

“如果一个实现包含了大量 OpenJDK 代码库中已有的代码,完成明显地重要工作或整体上实现了一些 API 集合,那么它“基本上源自”OpenJDK 代码库。”

正如 InfoQ最近所报道的,Apache Harmony 项目已经游说 Sun 更少地在 JCK 上作限制。Harmony 是 Java 标准的 Apache 实现的名字,它需要通过 JCK 测试以证明自己是 Java 兼容的。Apache 组织相信 Sun 实际上正在破坏 JSPA 协定,该协定是形成 Java Community Process 的基础。按照 Apache 的说法,这一协定应该约束参与者只能在非限制许可下分发技术兼容工具包(technology compatibility kits——TCK)。

作为抗议,对所有新的 JSR,只要 Sun 是该规范的领导者,Apache 现在都投反对票。Sun 的一个代言人说:“显然我们并不认为我们正在破坏对 JSPA 所应尽的职责。我们正在提供我们 TCK 的访问权和使用权——包括 Java 商标——将其置于非常良好的条款之下。”在进一步说明中,“Sun 很遗憾 Apache 暗示我们所讨论的 Java EE 平台的发展超越了 Java SE 的 TCK 许可。”最终,反对票并没有对 Sun 起到切实的影响,因为其他参与者没有参与到这场争论中,而 JSR 提议也通过了。JCP 官方在这一事件上的解释:

JSR 投票过程的唯一用意是通过 JCP EC 来评估和表达关于一个 JSR 提议的技术水平的专家观点。基于 JSR EC 的投票结果,决定了一个 JSR 提议是否将继续通过 JCP 发展以形成一个标准。我们希望 Apache 软件基金会和 Sun 能够通力合作,找到一个使争论双方都能满意的决议,以利于开发者社区的发展。”

很清楚,因为缺少对 Apache 独立开发实现(工作于 Apache 自己的开源原则之下)的让步,新的 JCK 许可对 Apache Harmony 项目将是一个打击。Sun 的代言人说:

“我们已经对 Apache 提供了(而且还正在提供)与提供给商业团体(如果想构建他们自己的独立实现)相同的 Java SE TCK 条款,除此之外,我们还对 Apache 提供了免费 TCK、免费使用 Java 商标、以及我们的免费支持服务。”

很明显,Sun 所提供的并不适合 Apache 他们自己的开放标准,因此这一争论可能还要延续一段时间。

查看英文原文: Sun Releases JCK to OpenJDK and its Derivatives

2007-08-13 00:071271
用户头像

发布了 150 篇内容, 共 49.8 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

啃碎并发(11):内存模型之重排序

猿灯塔

MySQL性能优化(一):MySQL架构与核心问题

xcbeyond

MySQL MySQL性能优化

为什么我们应该使用 Flutter?

环信

flutter

Spring配置类深度剖析-总结篇(手绘流程图,可白嫖)

YourBatman

spring springboot @Configuration 白嫖

面试官:如何决定使用 HashMap 还是 TreeMap?

爱嘤嘤嘤斯坦

Java 算法 hashmap

Doris 临时失效处理过程

石刻掌纹

实战技巧,Vue原来还可以这样写

前端有的玩

Java Vue 大前端 技巧

MySQL性能优化(二):选择优化的数据类型

xcbeyond

MySQL性能优化

计算机网络基础(二)---网络层-IP协议详解

书旅

php laravel 计算机网络 网络协议

CAP原理

李白

Malagu 框架的认证与授权【借鉴 Spring Security 和 aws iam 的设计】

木香丘

身份认证 权限系统

从需求到交付——论敏捷过程中的需求管理

华为云开发者联盟

敏捷开发 团队协作 需求管理 故事 持续交付

昨天、今天、明天

escray

doris临时故障恢复过程时序图

刘志刚

第六周总结

石刻掌纹

【面试题系列】——Java基础

Noneplus

Java

文档写作利器:Markdown

xcbeyond

markdown

震惊!ConcurrentHashMap里面也有死循环,作者留下的“彩蛋”了解一下?

why技术

Java 源码 jdk 后端 bug

腾讯的区块链为何败给了老干妈的“萝卜章”?

ToB行业头条

【进收藏夹吃灰系列】——Java基础快速扫盲

Noneplus

Java

从0开始设计Flutter独立APP | 第三篇: 一劳永逸解决全局BuildContext问题

渔子长

flutter 大前端 跨平台 React

静态代码检查完成代码分析和SonarQuber的初探

陈磊@Criss

架构师训练营作业 -- Week 6

吴炳华

极客大学架构师训练营

一致性协议算法

张瑞浩

API接口设计最佳实践

Man

Java 安全开发 设计实践 APi设计 接口管理

MySQL性能优化(三):深入理解索引的这点事

xcbeyond

MySQL 索引 MySQL性能优化

30岁+程序员职场攻略:找到自己的“职业锚”乘风破浪

华为云开发者联盟

程序员 AI 开发者 职场

6种快速统计代码执行时间的方法,真香!

王磊

Java

“Python的单例模式有四种写法,你知道么?”——孔乙己

BigYoung

Python 设计模式 单例模式

猿灯塔:spring Boot Starter开发及源码刨析(五)

猿灯塔

spring 猿灯塔

Malagu 框架开发 React 应用新体验

木香丘

Serverless 大前端 React 微应用 Malagu

Sun对OpenJDK及其衍生品发放JCK许可_Java_Andy Roberts_InfoQ精选文章