中易网

如何看待Oracle开始对java进行收费

答案:1  悬赏:10  
解决时间 2021-01-13 03:17
  • 提问者网友:川水往事
  • 2021-01-12 18:52
如何看待Oracle开始对java进行收费
最佳答案
  • 二级知识专家网友:由着我着迷
  • 2021-01-12 19:04
首先,Oracle提供的Java SE在“通用计算”使用范围内仍然是完全免费的。在这个范围内再怎么用Oracle也找不了茬。
  其次,Oracle提供的Java SE Advanced系列的产品是收费的。The Register的文章里没提,但其实很简单的判断方式就是:使用了 -XX:+UnlockCommercialVMOptions 的功能都是收费的。
  再次,如果将Oracle Java SE系列产品使用在“特殊嵌入式计算系统”中的话,则不算在通用计算的范围内,而必须要向Oracle付费。但这是个坑颇大的地方:一台台式机,装着普通的Windows或者Linux,在上面跑Java SE是属于通用计算的范围内。但如果这样一台台式机被包装到一个像ATM那样的柜子中,平时只运行某些特定的Java程序给客户提供服务的话,那就有可能要被归类到“嵌入式领域”。
  最后就是,Oracle的Java SE系列产品只提供包含上述所有功能的安装包,而没有提供只包含免费Java SE功能的安装包。所以用户下载了Oracle JDK后,是需要自主决定只使用其中的免费功能还是使用其中的收费功能。
  长话短说,要想使用Oracle JDK但不被Oracle的法务找茬的话,要:
  避免使用需要 -XX:+UnlockCommercialVMOptions 才可以开启的功能。例如说Java Flight Recorder。这个参数就是明明白白让用户知道自己是否踏入了“收费领域”用的,如果用了这个参数然后被找茬,那不能怪人家宰割,只能说是愿打愿挨。
  只在“通用计算”范围内使用Oracle Java SE
  其实就这么简单而已。
  当然,要是不放心的话,大家可以来使用鄙司Azul Systems发布的Zulu产品线中的Java SE产品。
  Zulu是Azul Systems对OpenJDK的打包、测试、发布与支持。它没有Oracle JDK对使用场景上的诸多限制,可以放心免费下载和使用。
  它的核心部分就是原汁原味的OpenJDK,没有任何额外的改动——Azul有时候也会对OpenJDK做bug fix,但这些都是通过提交回到OpenJDK去然后再进入到Zulu Java SE产品中的。
  它与“自己下载OpenJDK源码,自己build”的最大区别是:Azul会在每次发布Zulu产品之前进行充分的测试,build出来的二进制版本符合Java的兼容性测试;同时,Azul有与Oracle签订合作协议,在critical security fix的方面会比公开发布的OpenJDK源码要更早获得补丁,提前做好build与测试工作,基本上可以跟Oracle在同一时间发布打了security patch的版本,解决zero-day漏洞问题。
  为了尽可能让Zulu与Oracle JDK兼容,Zulu系列的产品在核心的Zulu Java SE之外,还额外免费提供了Zulu Commercial Compatibility Kit,将OpenJDK与Oracle JDK少量兼容性不够的地方加以改善,例如说某些字体之类的。
  这部分OpenJDK没有提供,Azul提供的ZCCK也没有开源(主要是因为其中涉及的源码购买自不愿意开源的第三方,跟Oracle JDK没有开源这些部分的原因一样),但Azul的ZCCK的使用许可证是保证它可以免费使用的。
  只有在希望购买Azul的技术支持的时候,Zulu的商业技术支持部分才是收费的;不购买收费的技术支持的话,Azul也有为Zulu提供免费的社区技术支持。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息