Oracle如何对JDK收费
今年4月16日,Oracle发布了新的JDK 8的更新,版本号为8u211和8u212。与以往不同的是,新版本的许可协议从BCL换成了OTN,这就意味着,你不能在生产环境使用这个版本了。如果你想继续使用8u211/8u212,或者之后发布的新版本,就需要给Oracle交钱了。
当然,并不是你用了新版本的JDK就要交钱,这个时候要区分私用和商用:
私用,是我总结的一个词,它包括”Personal Use”和”Development Use”,前者表示一些个人用途,比方说在自己的电脑上写一些小工具,做一些数据分析等等;后者表示开发用途,比如日常开发、做测试、做演示等等。商用不太好界定。我的理解就是拿来赚钱就是商用,比方说把网站部署到生产环境,在公司内部系统使用等。
我用的JDK使用什么协议?
BCL协议,即Oracle Binary Code License Agreement,协议规定你可以使用JDK,但是不能进行修改。私用和商用都可以,但是JDK中的某些商业特性,是需要付费才可以使用的。OTN协议,即Oracle Technology Network License Agreement,目前新发布的JDK用的都是这个协议,可以私用,商用需要付费。从下图可以看出各个版本对应的协议:
我不想掏钱怎么办?
商用的话使用上面BCL协议的版本,私用怎么着都行。很多时候,开发者会对什么版本用了什么协议比较迷惑,懒得搞清楚,那么可以直接使用OpenJDK。
OpenJDK是一个基于GPLv2+CE协议的开源JDK实现,他由OpenJDK社区来运作,作为OpenJDK社区的主导者,Oracle也在尽量减少OpenJDK和Oracle JDK的差别(source),将一些商业特性移植到了OpenJDK上,比如Java Flight Recorder,Java Mission Control和ZGC等等。对于普通开发者,两者差异可忽略不计。OpenJDK同样会每6个月发布一个新版本,不过每次新的版本发布后,旧的就不维护了,比如OpenJDK 12发布之后,11版本便停止更新,停留在11.0.2版本,没有LTS一说了。
除了Oracle的OpenJDK,还有很多免费OpenJDK实现可以用,比如 Zulu,AdoptOpenJDK,Amazon的Corretto和阿里巴巴的dragonwell等等。具体他们有什么区别,我们以后再说。
我们大厂愿意掏钱怎么办?
可以通过订阅Java SE Subscription来付费,桌面用途每人每月2.5刀,服务器用途每个处理器每月25刀,量多还有优惠。Oracle以前还提供Java SE Advanced, Java SE Advanced Desktop和 Java SE Suite等一次性授权,不过现在都建议新老付费用户换成订阅制了。
Oracle为什么这么做
当然是赚钱,OTN协议的Oracle JDK现在允许私用也只是想让开发者养成习惯,将来开发者搞公司项目的时候,非常有可能会习惯性去Oracle官网下载JDK,这样就导导致了商用项目未经许可违规使用。Oracle法务部的刀肯定老早就磨好了。
参考资料:
- BCL许可协议内容
- OTN许可协议内容
- GPLv2+CE协议内容
- Oracle官方关于许可协议的FAQ
- Oracle官方关于Java SE Subscription的FAQ
- Java SE Subscription价格表
- Oracle的Java SE技术支持路线图
- Java is Still Free 2.0.3-社区大佬们对于Java免费与否的解释
作者:闷瓜蛋子
链接:https://juejin.im/post/5ccce2006fb9a032143770e4
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Oracle如何对JDK收费相关推荐
- Oracle要对Java收费了,SAP基于Java技术栈的那些产品的客户怎么办
今年年初的时候,所谓"Oracle要对Java收费"的新闻,在网上传得沸沸扬扬.这个新闻被专业人士视为标题党,而国内众多技术论坛,比如知乎社区上,有很多大神对"Java收 ...
- Java 17 正式发布,Oracle推出免费JDK许可证,Spring 6 以 Java17为基准
一个小时前,JAVA 17 正式发布,这是一个LTS(长期支持)版本,带来了不少有用的新特性.关于Java 17 的一些新特性,胖哥已经在往期的文章中进行了介绍,这里就不再赘述了,有兴趣的可以移步文章 ...
- Oracle数据库管理›oracle内部的jdk版本
相看他的自定义版本还是想看兼容SUN的那个版本? 如果是前者,那查询视图:dba_registry, 要是后者就不用查了,ORACLE已经说得很清楚了: oracle8i JVM 兼容 jdk1.2 ...
- Oracle账号分享[JDK下载使用]
Oracle账号分享[JDK下载使用] 前言 开发过程中需要使用java环境时需要下载jdk,但是需要Oracle账号才可以下载,所以分享一个账号供大家下载使用,切记勿修改密码及违规使用,且用且珍惜. ...
- oracle配置jdk版本号,升级oracle中的JDK版本
Oracle自8i起就全面支持java,但各个版本的oracle中默认jdk版本均不相同,oracle8i中为jdk1.2,oracle9i中为jdk1.3,oracle10g中为jdk1.4~~至笔 ...
- 2023年JDK收费临时解决方案
从2023年的1月23日起,javaSE突然大幅涨价,订阅Java SE不再按用户数量收费,而是改为按公司员工人数收费. 以下是知乎相关的文章 https://zhuanlan.zhihu.com/p ...
- oracle数据库如何授权收费吗,如何减少Oracle数据库的License和支持费用
大家知道,Oracle的数据库License和支持费用是很贵的,但是,Oracle又是很多企业关键业务的首选,不得不用.今天,我们就简单聊一下,从服务器和存储的角度,特别是从存储的角度,如何帮助大家减 ...
- Android Studio 自带的 jre 和甲骨文(Oracle)的 JDK
Android Studio安装后自带jre,这个自带jre的版本号肯定比最新的版本号要小. 但是如果项目中没有用到新版本jdk的特性功能,那么可以直接使用Android studio自带的jre,不 ...
- oracle数据库如何授权收费吗,Oracle数据库如何授权收费
在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 展开所有 1,首先以管理员身份来连接到数据库,输入sqlplus,然后输入管理员用户名(系统)和密码以成功连接. 2 ...
- Java JDK 1.8 下载及其版本说明 8u202(最后一个免费版)
我们可以从Oracle官网下载我们想要的JDK版本 打开官网下载地址: https://www.oracle.com/technetwork/java/javase/downloads/index.h ...
最新文章
- 谷歌出现新冠肺炎确诊病例,限制员工出行;比尔·盖茨:可能成百年不遇的大流行病...
- C++ string类中的find()函数的简单使用
- 请详细描述listview与gridview的异同点_三种聚类分析的异同
- CRT中的时间(time_t和tm)
- boost::contract模块实现loop的测试程序
- android 解决小米手机上选择照片路径为null的问题
- 一个静态库框架模板: iOS Universal Framework Mk 7
- java dubbo jsf_cubelink
- 广播信道的数据链路层和CSMA/CD协议
- 冯诺依曼结构和哈佛结构01
- Appnium学习日记一(下载安装Appnium)
- hua图软件 mac_sai mac中文版|sai绘画软件 For Mac下载 v3.0 官方版 - 121苹果网
- 写入img虚拟软盘镜像_codestorm_新浪博客
- 1.7 COMS边沿触发器
- C#使用 MailKit获取邮件中的附件(QQ邮箱/163网易邮箱)
- 手撸Spring系列10:Spring AOP(实战篇)
- BART model
- 解决NativeCat能连接的上,但是IDEA连接不上
- 6G:典型应用、关键技术与面临挑战
- ThundeRex中美专递