OpenJDK
单纯的OpenJDK指的是JDK的源码,以GPL协议开源,由企业和社区开发者共同维护和开发。
Oracle's OpenJDK
Oracle started providing open source licensed OpenJDK builds as of Java 9, using the same license model as the Linux platform.
从JDK 9开始,Oracle开始发布基于GPL协议的开源构建版本。但当时的Oracle's OpenJDK和Oracle JDK之间还存在一些商业特性的区别。
但从JDK 11开始,Oracle's OpenJDK和Oracle JDK在功能上几乎完全一致,由于Oracle商业支持策略改为订阅版本,Oracle's OpenJDK可以理解为Oracle JDK的试用版或者尝鲜版。
Oracle's OpenJDK发布周期为6个月,JDK 11今年9月发布,免费支持到明年3月份就发布JDK 12,所以对于企业应用来说,如果需要长期使用某个稳定版本并且有补丁升级需要,只能选择Oracle JDK。
Oracle JDK
Oracle JDK是JDK商业版本,发布周期3年,每3年发布一次LTS长期支持版,JDK 11是第一个LTS版本,下一个Oracle JDK是JDK 17 LTS。
两个版本的意义
Oracle's OpenJDK的特点是更新频繁,实现快速迭代和高效试错,为Oracle JDK LTS版本打下基础。
Oracle JDK的特点是单版本长期支持,提供稳定可用的商业版本,商用收费,学习研究免费。
两者的关系类似Fedora和RHEL,前者是后者的试验田,个人觉得Oracle的这种商业策略是一种良性循环,好的东西还是应该收费才能持久。