标签 JDK 下的文章

自 JDK 17 开始 Oracle JDK 又可以免费商用了

Oracle 最新发布的 NFTC 许可 中撤回了 2018 年制定的要对 Oracle JDK 收取商用费用的决定,并且也将继续提供 Oracle OpenJDK 发行版。最新 NFTC 适用于最近发布的 Oracle JDK 17 和后续版本。Oracle 对此解释称,“在 GPL 下提供的 Oracle OpenJDK 构建版本是非常受欢迎的,但来自开发者、学术界和企业的反馈是,他们也希望在一个明确的自由条款许可下获得值得信赖、坚如磐石的 Oracle JDK。”并明确表示,新版 NFTC “包括商业和生产用途”,而且“只要不收费,允许再分发”。但调查表明,甲骨文的 JDK 发行版已不再是最受欢迎的 Java 发行版。开发人员们更喜欢 AdoptOpenJDK、亚马逊、微软等其他供应商的 OpenJDK 发行版。

老王点评:早知今日何必当初。但是即便如此,我也不看好他们对开源方面的态度。

科学家开发出可存储 138 亿年的 5D 光盘

南安普顿大学的研究人员“开发了一种快速和节能的激光写入方法,用于在硅玻璃中生产高密度的纳米结构,这些微小的结构可用于长期的 五维光学数据存储,其密度是蓝光光盘存储技术的 10,000 倍以上。”数据存储在玻璃光盘中三层纳米级的点上,这些点的大小、方向和位置(在三个维度上)提供了用于编码数据的五个“维度”。研究人员说,5D 光盘可以在 138 亿年后仍然可读,并且在较短的时间内被加热到 1000 摄氏度后也可以继续保持数据。写入数据速率大约为每秒 230 KB,一张 5D 光盘可存储 500 TB 数据。这项工作仍处于早期阶段。

老王点评:有趣的技术,就是不知道这些光盘怎么保存 138 亿年。

麦当劳开源了薯条字体

上周,麦当劳授权薯条体在 GitHub 上开源。该字体带有薯条和番茄酱设计风格,可以免费下载,只要标注 “#麦当劳薯条体”字样就能自由使用,包括商业用途。

老王点评:感觉这字体适合在万圣节、密室逃脱中使用。

80% 的 Oracle JDK 用户正在考虑其他支持选项

在 2019 年,Oracle 决定更改许可模式,从提供免费的 Java 更新转变为要求付费订阅。据 Azul Systems 的一项新调查显示,目前有 80% 的 Oracle JDK 用户正在考虑其他选择。Azul Systems 透露,对 Oracle JDK 的首选使用率已从 70% 下降至 34%,大部分现有用户都选择了免费或受支持的基于 OpenJDK 的部署。不过在目前愿意支付支持费用的企业中,Oracle 仍然是赢家,占有 55 %的市场份额。红帽(17%)、IBM(16%)和 Azul(12%)则紧随 Oracle 之后。

来源:开源中国

硬核老王点评:习惯了免费的开源软件,对于收费,很多企业和人还没做好准备;而另外一方面,很多免费的 JDK 看起来也完全能取代 Oracle JDK 的作用。

开发者将 GCC 的 JIT 库移植到 Windows

libgccjit 是一个实现 GCC JIT 编译的嵌入式库,它可以动态链接到字节码解释器和其它程序中,在运行时生成本机代码。目前 GCC 开发者实验性地将 libgccjit 移植到了 Windows,并提交了补丁。GCC 代码库使用的是具有“传染性”的 GPLv3 许可,因此就算 libgccjit 移植到 Windows,那预估也不会有多少基于 Windows 的程序使用,因为有必须将新程序也开源的要求。

来源:开源中国

硬核老王点评:GPL 的传染性在捍卫了自由的同时,也让很多软件望而生畏。另一方面,随着计算机技术的变化和互联网的发展,许可证也需要与时俱进。

3 月 21 日在阿里云峰会·北京上,阿里巴巴旗下的阿里云当天即发布多款重磅产品,涵盖了超级计算、云原生数据库,以及SaaS 加速器,包括神龙异构超算集群、新版本 Polardb 可兼容 Oracle 数据库、轻量级 GPU 异构计算产品——VGN5i 实例等。阿里云总裁兼阿里巴巴 CTO 张建峰称,阿里云已经成为阿里巴巴经济体的技术基石,将继续加大投入,扩大核心技术的代际领先优势。

在本次峰会上,阿里巴巴还宣布开源 OpenJDK 长期支持版本 Alibaba Dragonwell,为全球 Java 界开发者提供了一个新的选择。该版本广泛应用于阿里巴巴旗下业务,在大规模 Java 应用部署下的稳定性、效率以及性能优化有突出的优势。

Java 是全球应用最广泛的语言技术栈。据统计,全球 Java 开发工程师超过 1000 万名。而 JDK 作为 Java 语言的软件开发工具包,是整个 Java 应用的核心。当前,在 JDK 全球市场份额中,Oracle JDK 占 70%、OpenJDK 约占 21%。但 2019 年 1 月之后,Oracle 不再提供 Oracle JDK 8 免费商业版本更新。

阿里巴巴一直不遗余力地推动全球 Java 技术进步。自 2010 年起,阿里就开始基于 OpenJDK 开源软件进行开发与定制。作为全集团 Java 应用的基石,Alibaba Dragonwell 支撑了阿里经济体内所有的 Java 业务,保证了多年来“双 11”的平稳运行,积累了大量业务场景下的实践经验。在大规模 Java 应用部署情况下,Alibaba Dragonwell 可以大幅度提高稳定性、效率及性能。

2018 年,阿里巴巴还作为首家且唯一的中国企业,获邀加入 Java 全球管理组织 Java Community Process(JCP)的最高执行委员会,为 Java 语言规范作出贡献。

“Dragonwell 中文译为龙井,象征着中国的茶文化,又恰好是杭州特色。well 一词通常被描述为水源汇聚在一起供大家分享,这也是我们开源的初衷,希望可以集合开发者的力量,不断完善该项目并最终贡献给所有用户。”阿里云智能资深技术专家李三红在采访中表示,阿里本身就是 Alibaba Dragonwell 的最大用户之一,未来一定会持续维护,这是毫无疑问的。同时也希望有更多的开发者参与贡献,让 Java 变得更好。

作为世界顶尖技术舞台上最活跃的力量之一,阿里巴巴始终积极拥抱开源,回馈社区。截止目前,阿里巴巴已经参与了 9 家全球开源基金会及组织,包括 Linux Foundation、Cloud Native Computing Foundation、Apache Software Foundation、Continuous Delivery Foundation 等,是 Linux、MySQL、JVM、Kubernetes、etcd、containerd、Flink、Envoy 等知名开源项目的核心贡献者和维护者,并主导开源 400 多个项目,涉及中间件、框架、组件、数据库、存储、工具领域等。

就此次 Dragonwell 开源的一些情况,记者采访了阿里巴巴相关负责人。

Dragonwell,龙井?是寓意像龙井一样的品质吗?背后的想法是什么呢?

Java 本身就是一种咖啡的名字,AWS 开源的 Corretto 也是一种咖啡名。

在取名字的时候,我们也考虑了很多。中国的 Java 开发者将是 Alibaba Dragonwell 重要的用户群体,所以想从一些有中国特色的饮品名中寻找灵感,既能代表中国的文化,同时也希望这个名字中能有非常宏大的意愿,能够诠释她包容一切。所以我们想到了杭州的绿茶——龙井。而它的英文名字 Dragonwell 也正好符合我们想要表达的意思。其中的 well 这个单词,就有着将很多水源汇聚在一起,一同享用的寓意,正好贴合开源的协作分享的精神理念,这也是阿里开源 JDK 的初衷,希望将许多开发者的贡献汇聚在一起,让大家能够一起免费使用 Java,一起推动 Java 的进步。

为什么要去做 Dragonwell?是否可以分享一下相关背景?

大家都知道 Java 一直是由 Oracle 主导的,早从 2017 年开始,Oracle 开始陆陆续续转变了一些 Java 的策略。去年也宣布了将从今年开始不再提供 OracleJDK 的免费更新。

阿里可以说是全球最大的 Java 用户之一,而 JDK 又是 Java 的一个基础设施。我们其实早从 2010 年开始,就已经基于 OpenJDK 开源软件进行开发与定制,9 年来,支撑了阿里经济体内所有的 Java 业务,历经多年的“双 11”考验,积累了大量业务场景下的实践经验。

阿里作为一家这么大体量的 Java 用户,我们有一份责任,就是把我们的 JDK 开放出去,给所有的 Java 用户一个新的选择。同时,对于阿里自身来说,Alibaba Dragonwell 会针对 LTS 的两个版本 Java8 和 Java11 随阿里云 VM 镜像发布,免费提供给阿里云客户使用。

Alibaba Dragonwell 是基于哪个版本的 JDK?什么时候 GA,目前有没有各个阶段具体的发布时间表?

此次发布的 Alibaba Dragonwell 8 预览版本对应于上游的 OpenJDK 8 的版本。Alibaba Dragonwell 作为 OpenJDK 下游,是一款免费的 JDK 发行版。它提供长期支持,包括关键修复和安全更新。

Alibaba Dragonwell 支持 x86-64/Linux 平台。Alibaba Dragonwell 的特点,或者说她所注重和强化的是:在数据中心大规模 Java 应用部署情况下,稳定性、效率以及性能的优化与提高。

目前发布的版本是预览版。 Alibaba Dragonwell 将每季度发布一个更新。目前计划是预览版的三个月后发布 GA。Alibaba Dragonwell 11 预计年底发布。

以后会更注重 Java 新特性的跟进还是保证提供支持呢?对它今后的发展有什么设想或者目标?

Alibaba Dragonwell 的前身是阿里巴巴内部使用的 AJDK。作为 AJDK 的开源版本, Alibaba Dragonwell 将沿袭 AJDK 的技术优势以及实践场景下的技术经验。AJDK 有众多的技术创新, 包括多租户、Wisp 协程技术、ZenGC 等。 我们希望逐步把阿里巴巴内部积累的技术创新开源出来贡献给 OpenJDK 社区, 并在 Dragonwell 沉淀下来。

最近出现了一些开源软件变更开源协议问题,那目前/将来 Dragonwell 会不会加入一些支持限制条款呢?

不会。Alibaba Dragonwell 是 OpenJDK 下游,我们会严格遵循 OpenJDK 社区相关原则及协议。

前阵子 AWS 也推出了自己的 OpenJDK 发行版 Corretto,背后甚至有 Java 之父“站台”;再往前,其实 Azul、Red Hat 等厂商也有提供 OpenJDK 版本。那么阿里的 Dragonwell 有什么优势、特点呢?

具体来说:

  • 紧密与 OpenJDK 社区保持合作,保持对社区工作的跟踪,及时同步上游更。
  • Alibaba Dragonwell 发行版与 Java SE 标准兼容。
  • AJDK 上孵化的创新技术,会逐步贡献 OpenJDK,并在 Dragonwell 沉淀。比如这次版本包含的 JWarmUp 功能。 具体技术细节可以参考我们的用户手册。
  • 基于阿里工程实践,Alibaba Dragonwell 会选择移植高版本Java的重要功能,这些移植功能已经在阿里内部被大规模部署,用户都可以免费使用,而不用等下一个 LTS 版本。比如这次版本移植了上游 Java 11 的 Java Flight Recorder (JFR)功能,Java 开发人员可以通过 JFR 收集 JVM 运行过程中的详细的 profiling 信息,配合 Java Mission Control(JMC),大幅提高 Java 应用的问题诊断及性能优化效率。这对于仍然停留在 Java8 的客户来说,还是非常有意义的。

很多开发者使用的都是 Oracle 官方的 OracleJDK,大家什么情况下会去使用 OpenJDK 发行版,具体到 Dragonwell 是怎样呢?

在 2018 年 CodeOne(原 JavaOne)大会上,来自 Java Platform Group 的首席架构师 Mark Reinhold 做了“The Future of Java is Today”的主题演讲,重点阐述了 Java 发布模式的变化,重点是:从 Java11 (包含)以及以后的版本,Oracle 将不再提供免费的长期支持。如果你需要长期支持,可以通过向 Oracle 付费的方式获得。而 Java8 的更新也将会在 2019 年 1 月份停止。

所以除非你是 Oracle 的付费客户,否则唯一的选择就是社区维护的 OpenJDK 版本。可以预见 Java 开发者从 Oracle JDK 切换到开源 OpenJDK 会越来越多。

阿里作为世界顶尖技术舞台上最活跃的力量之一,始终积极拥抱开源,回馈社区。我们本身就是世界上最大 Java 用户之一,未来会持续与 OpenJDK 社区的紧密合作,做好 Alibaba Dragonwell 的维护与开发工作。对于广大的 Java 开发者而言,Alibaba Dragonwell 是一个免费的新选择同时我们也希望有更多的开发者能参与到社区里来、让 Java 变得更好!