热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

所以。Oracle希望通过Java赚钱。然后,TheRegister发表了一篇非常对立的文章,上面有一个超级吸引人的标题。根据他们的消息来源࿰

所以。 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



推荐阅读
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • Android系统启动过程分析一、Android平台架构首先贴一张Android系统架构图方便理解整个Android架构,这可以让我们从整体上对整个启动流程有个大概认知。可以看出整 ... [详细]
  • 原文:http:blog.linjunhalida.comblogpjaxgithub:https:github.comdefunktjquery-pjax ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • Windows简单部署Exceptionless
    部署准备Elasticsearch、Exceptionless.API、Exceptionless.UI、URLRewrite、.NET运行时 1、安装ElasticSearch1 ... [详细]
author-avatar
ys2011一号_139
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有