Oracle开始严查Java许可!

news/2024/9/18 14:49:01/ 标签: python, javascript, java, node.js, github, 开发语言, oracle

0x01、

前段时间在论坛里就看到一个新闻,说“Oracle又再次对Java下手,开始严查Java许可,有企业连夜删除JDK”,当时就曾在网上引起了一阵关注和讨论。

这不最近在科技圈又看到有媒体报道,Oracle再次严查,对于Java许可和版权的审查越来越严格了。

其实很早之前就有看到新闻报道说,甲骨文公司Oracle已经开始将Java纳入其软件许可审查中,并且对一些公司的Java采用情况开启审计,目的是找出那些处于不合规边缘或已经违规的客户。

之前主要还是针对一些小公司发出过审查函件,而现在,甚至包括财富200强在内的一些组织或公司都收到了来自Oracle有关审查方面的信件。

0x02、

还记得去年上半年的时候,Oracle就曾发布过一个PDF格式的新版Java SE收费政策《Oracle Java SE Universal Subscription Global Price List (PDF)》。

打开那个PDF,在里面可以看到Oracle新的Java SE通用订阅全球价目表:

表格底部还举了一个具体计费的例子。

比方说一个公司有28000名总雇员,里面可能包含有23000名全职、兼职、临时雇员,以及5000其他类型员工(比如说代理商、合约商、咨询顾问),那这个总价格是按如下方式进行计算:

28000 * 6.75 / 月 ∗ 12 个月 = 2268000 /月 * 12个月 = 2268000 /12个月=2268000/年

合着这个新的收费标准是直接基于公司里总的员工数来进行计算的,而不仅仅是使用Java SE的员工数。

这样一来,可能就会使企业在相同软件的的使用情况下会多出不少费用,从而增加软件成本。

看到这里不得不说,Oracle接手之后把Java的商业化运作这块整得是明明白白的。

0x03、

众所周知,其实Java最初是由Sun公司的詹姆斯·高斯林(James Gosling,后来也被称为Java之父)及其团队所研发的。

并且最开始名字并不叫Java,而是被命名为:Oak,这个名字得自于 Gosling 想名字时看到了窗外的一棵橡树。

就在 Gosling 的团队即将发布成果之前,又出了个小插曲——Oak 竟然是一个注册商标。Oak Technology(OAKT)是一家美国半导体芯片制造商,Oak 是其注册商标。

既然不能叫Oak,那应该怎么命名好呢?

后来 Gosling 看见了同事桌上有一瓶咖啡,包装上写着 Java,于是灵感一现。至此,Java语言正式得名,并使用至今。

1995年5月,Oak语言才更名为Java(印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名),并于当时的SunWorld大会上发布了JAVA 1.0,而且那句“Write Once,Run Anywhere”的slogan也是那时候推出的。

此后,Java语言一直由Sun公司来进行维护开发,一直到早期的JDK 7。

2009年4月,Oracle以74亿美元现金收购了Sun公司,至此一代巨头基本没落。

与此同时,Java商标也被列入Oracle麾下,成为了Oracle的重要资源。

众所周知,Oracle接手Java之后,就迅速开始了商业化之路的实践,也于后续推出了一系列调整和改革的操作。

其实Oracle早在2017年9月就宣布将改变JDK版本发布周期。新版本发布周期中,一改原先以特性驱动的发布方式,而变成了以时间为驱动的版本迭代。

也即:每6个月会发布一个新的Java版本,而每3年则会推出一个LTS版本。

而直到前段时间,Java 22都已经正式发布了。

0x04、

那针对Oracle这一系列动作,以及新的定价策略和订阅问题,有不少网友讨论道,那就不使用Oralce JDK,切换到OpenJDK,或者使用某些公司开源的第三方JDK。

众所周知,OpenJDK是一个基于GPL v2 许可的开源项目,自Java 7开始就是Java SE的官方参考实现。

既然如此,也有不少企业或者组织基于OpenJDK从而构建了自己的JDK版本,这些往往都是基于OpenJDK源码,然后增加或者说定制一些自己的专属内容。

比如像阿里的Dragonwell,腾讯的Kona,AWS的Amazon Corretto,以及Azul提供的Zulu JDK等等,都是这类典型的代表。

它们都是各自根据自身的业务场景和业务需求并基于OpenJDK来打造推出的开源JDK发行版本,像这些也都是可以按需去选用的。

文章的最后,也做个小调查:

大家目前在用哪款JDK和版本来用于开发环境或生产环境的呢?

注:本文在GitHub开源仓库「编程之路」 https://github.com/rd2coding/Road2Coding 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。


http://www.ppmy.cn/news/1516933.html

相关文章

【树的最长路径】

题目 错误代码&#xff08;18过15&#xff09; #include <bits/stdc.h> using namespace std; const int N 1e410, M N << 1; const int null -0x3f3f3f3f; int h[N], e[M], ne[M], w[M], idx; int v[N]; int maxx; int res; int twice; void add(int a, int …

C语言占领游戏

目录 开头程序程序的流程图程序的效果结尾 开头 大家好&#xff0c;我叫这是我58。 程序 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <Windows.h> void pri…

windows核心编程:5章:将一个进程放入一个作业中,以限制此进程具体能够做那些事情

windows核心编程&#xff1a;5章&#xff1a;将一个进程放入一个作业中&#xff0c;以限制此进程具体能够做那些事情 windows核心编程&#xff1a;5章&#xff1a;将一个进程放入一个作业中&#xff0c;以限制此进程具体能够做那些事情 文章目录 windows核心编程&#xff1a;…

Linux的yum包管理工具(在线安装)

Linux的软件从哪里下载&#xff1f; 我们用的Linux系统都是国外的&#xff0c;所以下载软件自然从国外下载。但是访问国外网址太慢了&#xff0c;有没有什么办法快一点呢&#xff1f; 有&#xff01; 啊&#xff0c;还有这么美的事情&#xff1f;快点告诉我&#xff01; 好…

【Redis】RDB和AOF持久化

RDB和AOF持久化 一、什么是持久化&#xff1f;二、RDB三、AOF 一、什么是持久化&#xff1f; 数据一般写在内存上&#xff0c;但是当重新启动计算机内存数据是会丢失的&#xff0c;而硬盘中的数据是不会丢失的&#xff0c;所以&#xff0c;当我们把数据从内存放到硬盘中的话就…

andorid动画之呼吸效果

目录 效果图实现方式一 &#xff1a;使用 ObjectAnimator 实现呼吸效果方式二&#xff1a;使用 ValueAnimator 实现呼吸效果 总结 在 Android 中实现呼吸效果的动画可以通过多种方式来实现&#xff0c;最常见的方法是使用 ObjectAnimator 和 AnimatorSet。呼吸效果通常指的是一…

Vivado 编译固件后时序报告查询

随笔记录 目录 1. 背景介绍 2. 查看时序 2.1 Vivado tcl 模式编译固件&#xff0c;查看时序报告 2.1.1 时序报告路径 2.1.2 查看时序报告内容 2.2 Vivado GUI 模式编译固件&#xff0c;查看时序 1. 背景介绍 硬件源码&#xff0c;需要编译固件生成 bit/bin 文件后&…

Python3.11使用labelimg

标注工具labelImg的作者转战label-studio&#xff0c;并把它归档不再继续开发了&#xff0c;所以新版Python是不被支持的。 使用Python3.11通过pip的方式安装labelImg后&#xff0c;使用时会报xxx的错误&#xff0c;可以通过如下方式解决&#xff1a; pip uninstall labelimg…

配电房挂轨机器人巡检系统的主要优点包括

背景 配电房是724h工作的封闭环境&#xff0c;人工巡检无法在时间上和空间上对配电室进行全量监控。有限的巡检时间&#xff0c;必然带来设备运转的黑盒时间&#xff0c;设备故障和隐患无法及时监控与消缺。因而不可避免存在漏检、误检的情况&#xff0c;不仅容易隐藏电力系统…

pikachu-ssrf_redis

目录 SSRF 1、SSRF漏洞介绍&#xff1a; 2、SSRF漏洞原理&#xff1a; 3、SSRF漏洞利用手段&#xff1a; 4、SSRF漏洞绕过方法&#xff1a; SSRF(curl)用法 1、通过网址访问链接 2、利用file协议查看本地文件 3、dict协议扫描内网主机开放端口 4.gopher&#xff1a;威…

信息安全——密码学基础

密码学主要由密码编码密码分析俩个部分组成 密码编码学&#xff1a;研究信息的交换处以实现信息的安全保护 密码分析学&#xff1a;研究密文获取对应的明文信息 《中华人民共和国密码法》 2020年1月1日起实施。2005年4月1日起国家施行《中华人民共和国电子签名法》 密码…

基于微信小程序的电动车租赁系统---附源码97332

摘 要 本文旨在介绍基于Spring Boot框架的电动车租赁系统在微信小程序平台上的设计与实现。随着城市出行需求的不断增长和绿色出行意识的提升&#xff0c;电动车租赁系统作为一种便捷、环保的出行方式逐渐受到关注。通过本系统&#xff0c;用户可以通过微信小程序实现用户导航…

Kafka·Producer

Producer发送原理 拦截器进行拦截 对key和value进行序列化 org.apache.kafka.clients.producer.KafkaProducer#doSend 分区选择 计算消息要发送到topic的哪个分区上 若指定了分区&#xff0c;则使用指定的值没有指定的话则使用分区器计算得到或者使用hash取余的方式 暂存…

window 安装 anaconda教程(含安装包)

在Windows系统中安装Anaconda的步骤可以概括如下&#xff1a; 下载Anaconda&#xff1a; 访问Anaconda的官方网站或使用国内的镜像站点下载适合Windows的安装程序。例如&#xff0c;清华大学开源镜像网站提供了快速下载选项 。免费下载地址 启动安装程序&#xff1a; 双击下载…

Python-进阶-Excel基本操作

文章目录 Excel 基本操作1. 概述2. 写入2.1 使用 xlwt2.2 使用 XlsxWriter 3. 读取4. 修改 Excel 基本操作 1. 概述 在数据处理方面&#xff0c;Python 一直扮演着重要的角色&#xff0c;对于 Excel 操作&#xff0c;它有着完整且成熟的第三方库&#xff0c;使用也较为简单。…

STM32 HAL SDADC DMA

1、简介 由于项目需要使用STM32F373单片机的SDADC功能对电位计进行检测,网上资料比较少,踩了很多坑,下面进行总结。 2、STM32CubeMX配置 2.1 RCC配置 2.2 SYS 配置 2.3 SDADC 2 配置 2.3.1 Parameter Settings配置 SDADC共有三种输入模式,分别为差分模式、 单端偏移模…

网络协议的基础知识

了解OSI模型和TCP/IP模型 在上一篇关于互联网的工作原理的数据传输中&#xff0c;我们了解到&#xff0c;两台计算机之间传输数据时&#xff0c;需要将数据封装成数据包。这些数据包中不仅包含我们实际要传输的信息&#xff0c;还包括很多额外的内容&#xff0c;比如目标地址、…

川崎机器人维修请开启马达电源报警故障

‌川崎机器人故障代码主要用于指示机器人的不同运行问题和状态&#xff0c;帮助快速识别和解决这些问题。‌Kasawaki机械手故障代码通常以字母和数字的组合形式出现&#xff0c;其中字母代表故障的类型&#xff0c;而数字则是具体的代码编号。这些代码可以分为‌P‌代表操作错误…

【网络安全】服务基础第一阶段——第三节:Windows系统管理基础----服务器远程管理与安全权限

服务器远程管理是一种技术&#xff0c;服务器远程管理是指通过远程连接来监控、配置和维护服务器的过程&#xff0c;而无需直接在物理服务器前操作。它允许IT管理员在不同的地点对服务器进行配置、监控和维护&#xff0c;无需物理上接触到服务器本身。这种能力对于管理分布在多…

android关于binder的简单通信过程

文章目录 简述aidl文件服务端的实现客户端的实现验证过程 简述 主要实现的是两个应用之间跨进程通信的过程&#xff0c;client端调用server端的具体实现&#xff0c;然后server端给client回调数据&#xff0c;详细如下所示 aidl文件 以下的文件需要在服务端与客户端都配置一…