杨晓峰:开发者其实不太需要关注 Java 收不收费

CroWall2019-02-13 14:17:27

点击这里查看原文

重点内容:

杨晓峰一开始就直接来了一句:Java 还是免费的。话是这么说,但实际上这并不足以打消疑虑,也存在一些更加具体的问题需要解释,具体是怎么回事呢?

首先要理清一些概念,一方面是 Oracle JDK 面向的用户类型:

  • Oracle客户,主要是指那些购买了 Oracle Java SE 相关服务支持的用户,比如,通过前边讲到的订阅模式购买服务的客户。
  • 商业用户,免费使用 Java 用于商业目的的实体。
  • 个人用户,在个人电脑上,免费使用 Java SE,以及不用于商业目的开发人员。 当前大部分使用 Oracle Java 的开发者/所在公司是属于哪一种类型的用户呢?是第二种——商业用户。

再来看看关于“Oracle 的 Java”。一方面,Oracle 主导着 OpenJDK 社区,它本身自己做了一个叫 Oracle JDK 的产品,这是它的商业产品,也是目前最为广泛使用的 JDK;另一边,Java SE 9 以来,Oracle 也提供 Oracle 的 OpenJDK 发行版 Oracle’s OpenJDK,而这个 Oracle's OpenJDK 就是完全开源免费的,可以用于商业用途。

杨晓峰解释:

OpenJDK 是基于 GPL v2 的开源项目,从 Java 7 开始,就是 Java SE 的官方参考实现。狭义上的 OpenJDK 往往是指基于 OpenJDK 构建的发行版,各个主流厂商的 JDK 产品基本上都是基于 OpenJDK 源码,或多或少增加自己的定制内容。

Oracle JDK 是 Oracle 提供的商业 JDK 实现,是目前应用最广泛的 JDK,在 JDK 11 之前,Oracle JDK 与 Oracle's OpenJDK 除了一些强大的商业特性,还有 CA 根证书等便利性内容和细微差别。

从 JDK 11 开始,Oracle JDK 使用原来的商业 BCL License,而 Oracle's OpenJDK 开始独立改用 GPL v2+CPE License,二者提供同样的功能,本质上没有不同,但是不同的 License 针对不同用户。

0 回复 | 截止 2019-05-25 23:45:10
Top ↑