所以。 Oracle希望通过Java赚钱。 然后,The Register发表了一篇非常对立的文章,上面有一个超级吸引人的标题。 根据他们的消息来源,“ Oracle正在大力加强对其声称违反其许可证的Java客户的审计”。 当Twitter诗句对人们批评甲骨文的行为持批评态度时,我想花点时间回顾一下为什么我反对这种方法并澄清一下,普通的开发人员和用户不必担心!

Oracle网站的屏幕截图

抱怨甲骨文的人正在伤害社区

多年来,您在Oracle领域内和周围都了解我。 目前,发推文可能是您获取有关我的最新消息的最重要部分。 我最近很少在此博客上发布文章,因为有很多事情要做,而且我已经为我的雇主做了很多文章。

我发送的推文基本上是The Register文章的标题,而答复和反应表明,仅仅散布FUD文章,就对社区造成了伤害。 让我们来看看细节。

Java开发人员会受到影响吗?

注意:首先,我不是律师。 这并不是要成为法律建议! 如果您对遵守BCL有疑问,请与许可律师,您当地的Oracle用户组或Oracle联系。

没有。 我们被覆盖。 二进制代码许可证(BCL)明确提到:

“ Oracle授予您无排他,不可转让的有限许可,而无需付费即可在内部复制和内部使用完整且未经修改的软件,以设计,开发和测试程序。”
( BCL,2013年4月 )

在某些情况下,您应该注意。

“您不得使用商业功能在内部业务运营中运行程序,Java applet或应用程序,或出于任何商业或生产目的,或出于本补充协议第B,C,D和E节规定的目的以外的任何目的使用商业功能条款。”
( BCL,2013年4月 )

–如果您在本地环境中使用商业功能并将其分阶段进行测试,则可能无法获得覆盖。

–如果要访问oracle.jrockit.management和bea.jrockit.management下的任何JMX MBean,以独立于监视解决方案来观察正在运行的JVM,则不会涉及。

–飞行记录器,任务控制和以下链接的PDF中提到的所有内容均为商业用途,您只能在本地计算机上使用它们。

Java SE产品版本说明(PDF)的第5页的表1-1中列出了商业功能的完整列表。 作为一般经验法则,请确保不要使用-XX:+ UnlockCommercialFeatures选项。

这主要影响那些已经是Oracle客户并可以访问最有趣的商业功能的公司(例如MSI Enterprise安装程序)。 有趣的是,例如WebLogic包含Java SE许可证( 随机产品链接 )。

我仍然很害怕,还有哪些选择?

您可以选择多种选择。 首先,有OpenJDK本身。 Windows版本有些棘手,因为它们不能直接从项目中获得。 Windows仅提供最新的开发版本。 但是您也可以从Azul( Zulu )和Red Hat获得二进制文件。 如果您是任何JBoss中间件产品的Red Hat客户,您也将获得他们的支持。

为什么我不喜欢Oracle做什么?

我确实喜欢Oracle赞助Java开发,并且我承认他们为该项目投入了大量人力。 但这并不能使他们无所事事地摆脱一切。

我主要的批评意见是,Oracle使意外使用商业功能变得容易。 是的,正如Twitter上的人指出的那样,您应该已经阅读了许可证并了解了许可证。 但实际上,我认为关注点分离是一个好的设计决策。 不要将潜在的客户和用户从OpenJDK站点引导至java.oracle.com,并带有注释“它们主要基于相同的代码”,甚至没有远距离提及,而是包含确实不允许您使用的商业功能。 ,拥有独立的商业版本和开源版本会更容易。

如果您在Oracle Java网站上单击一下,您将获得有关许可证的一些提示。 但是他们并不能为您提供全面的信息。

Java SE许可证概述页面

我个人的观点是,社区停止改善可能并不健康。 进步并非来自沉默。 不幸的是,Oracle在聆听其社区方面没有悠久的历史,这有时可能会导致一些引人入胜且不合适的标题。

不过,让我们保持警惕,并保持沟通以改进需求。 从长远来看,它将为社区带来的好处多于伤害:开放式沟通是社区健康的标志,它处理反馈和批评的方式是衡量社区价值的标准。还有许多其他例子。 例如,来自(我个人化的)Google的“ Java许可业务”排名第一的搜索结果指向该页面 。 我认为,关于误导性信息,这是一个很好的例子。 如果许可证条件不为人所知,则更改许可证条件也更加容易。 自从BCL PDF链接的最新更新时间为2013年4月2日以来,情况可能并非如此。

翻译自: https://www.javacodegeeks.com/2016/12/no-wary-doesnt-hurt-java-comment-java-licensing.html

不,保持警惕不会伤害Java。 关于Java许可的评论。相关推荐

  1. java unlimited_具有无限参数的Java方法(Java method with unlimited arguments)

    具有无限参数的Java方法(Java method with unlimited arguments) Spring框架使用方法,您可以根据需要传递尽可能多的参数. 我想写一个函数,也可以采取无限量的 ...

  2. 介绍java -cp java -jar的区别

    java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号";" java -cp &am ...

  3. 【Java】Java连接Mysql数据库的demo示例

    [Java]Java连接Mysql数据库的demo示例 1.安装mysql数据库 2.下载java-mysql-connector.jar包 3.完成java配置 4.写java代码运行测试 1.安装 ...

  4. java抓取网页标题内容_[Java教程]java 网页页面抓取标题和正文

    [Java教程]java 网页页面抓取标题和正文 0 2014-07-10 09:01:30 import java.io.BufferedReader;import java.io.IOExcept ...

  5. Java基础-Java中的堆内存和离堆内存机制

    Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 转载于:https://www.cnblogs.com/yinzhengjie/p/9 ...

  6. Java 异常java.lang.IllegalArgumentException: Illegal group reference

    Java 异常java.lang.IllegalArgumentException: Illegal group reference 参考文章: (1)Java 异常java.lang.Illegal ...

  7. Java基础-JAVA中常见的数据结构介绍

    Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...

  8. 4.6 W 字总结!Java 11—Java 17特性详解

    作者 | 民工哥技术之路 来源 | https://mp.weixin.qq.com/s/SVleHYFQeePNT7q67UoL4Q Java 11 特性详解 基于嵌套的访问控制 与 Java 语言 ...

  9. 做了6年的Java,java视频教程传智播客

    JAVA基础 JAVA异常分类及处理 异常分类 异常的处理方式 Throw和throws的区别 JAVA反射 动态语言 反射机制概念 (运行状态中知道类所有的属性和方法) Java反射API 反射使用 ...

  10. java demo在哪里下载_[Java教程]Java学习 (一)、下载,配置环境变量,第一个demo...

    [Java教程]Java学习 (一).下载,配置环境变量,第一个demo 0 2016-03-01 22:00:18 一.在 http://www.oracle.com 下载java JDK 安装到自 ...

最新文章

  1. 30道linux面试题与答案(21-30)
  2. 帝国cms万能通用api二次开发核心包使用说明
  3. hw叠加层开还是不开_HW叠加层是什么?
  4. 有源则至清——我读《移山之道》
  5. Oracle:sqlplus查询出的中文是乱码问题的解决(转)
  6. sp_executesql介绍和使用 转
  7. Onvif客户端与服务器通信时鉴权的自实现
  8. [哈希/字典树/kmp]Exercise Week15 A~C
  9. 单片机(51) 什么是编码器?什么是译码器?
  10. 【数据结构】人名查询哈希表设计(线性探测法)
  11. c 抓取百度页面html,搜索引擎百度蜘蛛详解,百度蜘蛛IP分析
  12. python常见容器操作:字符串的增删改查循环、列表的增删改查循环、元组的查循环、字典的的增删改查循环等常规操作
  13. 爬取巨潮资讯网中与“贵州茅台”相关的公告的标题和网址。
  14. c语言error语句错误,【资料】C语言错误信息中文解释
  15. 海绵宝宝和派大星[三国演义姓名的重复]
  16. 多径信道下的LMS、RLS均衡算法研究(三)
  17. ThinkPad_E570 拆机清灰换硅脂
  18. python版openvino使用
  19. 华为鸿蒙系统p50,华为p50自带鸿蒙是什么意思_华为p50是鸿蒙系统吗
  20. Linux下各压缩方式测试(压缩率和使用时间)

热门文章

  1. 对Java的URL类支持的协议进行扩展的方法
  2. 字符串substring方法在jkd6,7,8中的差异
  3. methods中axios里的数据无法渲染到页面
  4. 使用Servlet上传多张图片——实体层(ProductInfo.java)
  5. 单片机中存储器扩展位地址线怎么算_51单片机存储器小结
  6. Eclipse导入他人的Maven工程报错
  7. 布隆过滤器速度_详解布隆过滤器的原理、使用场景和注意事项
  8. (转)Spring Boot通过ImportBeanDefinitionRegistrar动态注入Bean
  9. java动态代理和cglib动态代理
  10. 使用MRUnit,Mockito和PowerMock进行Hadoop MapReduce作业的单元测试