JDK/Java 15 刚刚发布!Java 新增国家/地区使用限制条款引发争议,网友:不让我们用了?...

    点击上方 "程序员小乐"关注, 星标或置顶一起成长

    每天凌晨00点00分, 第一时间与你相约

    

每日英文

Mistake is temporary regret but missing is the forever one.

过错是暂时的遗憾,而错过则是永远的遗憾。

每日掏心

一张脸诉说千种情绪,却很容易掩饰心情。最快乐的面具下,也许是一颗最痛的心。

来自:开源中国 | 责编:乐乐

程序员小乐(ID:study_tech)第 998 次推文

往日回顾:SpringBoot 三招组合拳,手把手教你打出优雅的后端接口!

     

   正文   

JDK/Java 15 已经发布。

根据发布规划,这是一个短期版本,只会受到 Oracle 6 个月的支持,直到明年 3 月 JDK 16 发布。受到 8 年长期支持的 LTS 每 3 年发布一个,上一次是 18 年 9 月的 JDK 11,下一次则是 JDK 17,将于明年发布。

JDK/Java 15 的亮点包括加密签名、文本块、隐藏类、外部存储器访问 API、 ZGC、模式匹配和 Records 等。

339: Edwards-Curve Digital Signature Algorithm (EdDSA)

使用 Edwards-Curve 数字签名算法(EdDSA)实现加密签名。与其它签名方案相比,EdDSA 具有更高的安全性和性能,并且已在许多其它加密库(如 OpenSSL 和 BoringSSL)中得到支持。

360: Sealed Classes (Preview)

用于限制超类的使用,密封的类和接口限制其它可能继承或实现它们的其它类或接口。

384:Records (Second Preview)

Records 提供了一种紧凑的语法来声明类,以帮助开发者写出更简洁的代码,这些类是浅层不可变数据(shallowly immutable data)的透明拥有者。该特性主要用在特定领域的类,这些类主要用于保存数据,不提供领域行为。目前处于第 2 个预览版本阶段。

373: Reimplement the Legacy DatagramSocket API

重新实现旧版 DatagramSocket API,用易于维护和调试的更简单、更现代的实现来代替java.net.DatagramSocketjava.net.MulticastSocketAPI 的基础实现。

379: Shenandoah: A Low-Pause-Time Garbage Collector (Production)

Shenandoah 垃圾回收从实验特性变为产品特性。这是一个从 JDK 12 引入的回收算法,该算法通过与正在运行的 Java 线程同时进行疏散工作来减少 GC 暂停时间。Shenandoah 的暂停时间与堆大小无关,无论堆栈是 200 MB 还是 200 GB,都具有相同的一致暂停时间。

搜索公众号顶级架构师回复关键字“架构整洁”,送你一份惊喜礼包。

其中有一些特性已经在 Java 14 中有所体现,详情可以查看:JDK/Java 14 发布。

完整的更新信息可以查看:

https://openjdk.java.net/projects/jdk/15

Java国家/地区使用限制条款引发争议

JDK/Java 15 发布,在 RI 包里有开发者发现其标注了一则国际使用限制条款:

由于某些国家/地区的知识产权保护和执法有限,因此 JDK 源代码只能分发到授权的国家/地区列表中。如果要从不在此列表中的国家/地区进行下载,则将无法访问源代码。我们正在不断审查此列表,以添加其他国家/地区。

有开发者和知识产权专家指出,此条款意味着如果 JDK/Java(Oracle)认为有国家不能很好地进行知识产权保护,那么便可以限制其使用。

有人对此提出疑问:OpenJDK 根据 GPL 开源协议进行分发,这种限制类型的条款是否有悖 GPL 协议?

实际上,JDK/Java 15 使用的开源协议是 GPL v2,该版本下有一条与 JDK/Java 15 的国际使用限制条款类似:

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

卫Sir译:如果在某些国家因为专利或版权的问题难以分发,那么版权所有人在分发时,可以对分发的地区加以明确限制,以排除那些国家。在这种情况下,这些限制不认为是对本协议的修改。(译者注:算一种例外吧。)

所以理论上 JDK/Java 15 中这样做并没有违反 GPL v2 协议。而在 GNU 发布的最新 GPL v3 许可证中,已经没有了类似的国家和地区限制条款。

但也有业内人士指出,作为 OpenJDK 项目的实际管理者,Oracle 是否有足够依据和健全的评估体系,去判断国家/地区的专利或版权相关法规是否健全,并以此为理由对整个国家/地区做出限制呢?

值得一提的是,OpenJDK 中的这个国家限制条款并不是新增的,早在 6 年前就已经有开发者提出了质疑。这名开发者把该条款发在 GNU 论坛上,GNU 的管理者在当时还询问了 RMS 等权威。

GNU 咨询委员会成员 Jason Self 引用 FSF 章程中对自由软件的定义对此进行了答复:在国际上,有时政府的出口管制条例和贸易制裁会限制人们分发自由软件,软件开发者没有权力消除或推翻这些限制,但他们可以和必须做什么?就是拒绝将它们加入自由软件的的使用限制条款。这样一来,在这些政府的管辖范围之外,这些限制就不会对使用自由软件产生什么影响。“仅提及出口法规的存在,而不是将限制作为许可证本身的条件,是可以接受的,因为它不会直接限制到用户。”

在今天国际环境日趋严峻的情况下,这个话题相比 6 年前初次被提及,似乎得到了更多关注,当年这一问题没有被很好地讨论,如今重新被提出来,希望这一次能够引起足够的重视。也希望更多专业人士出来积极探讨。

以 6 年前那一帖子里 Jason Self 的一句话作为结语:

If an export regulation is actually trivial for free software, then requiring it as a condition is not an actual problem; however, it is a potential problem, since a later change in export law could make the requirement nontrivial and thus render the software nonfree.

如果出口管制对于自由软件的影响微不足道,那么限制条款或许不是什么问题,但是,潜在问题是,后续如果出口管制法律变更使得整体要求变得严苛,那么会使软件不自由。

欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,欢迎转发分享给更多人。欢迎加入程序员小乐技术交流群,在后台回复“加群”或者“学习”即可。

猜你还想看

阿里、腾讯、百度、华为、京东最新面试题汇集

当我们遇到100亿次请求?该如何设计后端架构?

牛逼!京东把 Elasticsearch 用得真牛逼!日均5亿订单查询完美解决!

打破国外垄断!华为被曝自研编程语言“仓颉”,南大教授冯新宇领衔

关注订阅号「程序员小乐」,收看更多精彩内容

嘿,你在看吗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值