Java语言毫无疑问已经成为软件社区的一个品牌和开放的产业标准。自从2010年Oracle收购了Sun Microsystems公司之后,很多人就担心这在某种程度上是软件开源产业的一次失败,甚至会造成软件发展的倒退。但是彼时Oracle选择了维持现状,使得收购事件对整个社区并没有造成非常大的冲击。但是在六年后的今天,Oracle终于按耐不住了,他们加大了对违反其许可协议的Java客户的审查力度。

    为什么Oracle选择在收购Sun公司六年之后才这样做呢?Gavin
Clarke认为这是因为Oracle的LMS需要这段时间以详细地了解Java
的各个方面并设计有针对性的审计方法。而现在LMS已经准备好了,所以他们开始对Java
SE的用户开枪了!“我预计Oracle在2017年会增加这方面的投入,” Guarente告诉The
Register,“所有的趋势都显示Oracle的LMS审计团队越来越咄咄逼人,他们正在积极地努力从这方面获取更多的收入。我不认为2017年大家将会看到一个仁慈绅士的Oracle。”

  
 拉里·埃里森的团队认为有很多Oracle的客户和合作伙伴在使用Java时违反了他们的许可协议,为此他们正在对这类用户进行约谈,并利用许可证管理服务(LMS)追缴付款。Oracle目前已经在全球雇佣了20个人,专门来负责对那些违反Java许可协议的企业进行追缴付款。

    作为回应,行业合规专家组织也在扩充人马,招聘更多的Java 专家并扩大预算以应对2017年可能增加的大量LMS 的诉讼。因为这其中牵扯了太多的金钱利害关系,每个客户可能涉及数万、甚至数十万美元的费用。

    为什么会是这样,之前难道没有这些问题吗?其实,根本原因是大家对Java的错误认知,都认为Java是免费的!这种认知可以追溯到Sun
Microsystems时代,在Sun时代Java是免费的,大家理所当然的认为Oracle 时代也是这样!但是其实Sun也曾对IBM
和制造蓝光播放器的厂商收取许可费用。之所以对绝大多数使用者免费,是因为Sun是以这种方式来销售其他的系统。现在Oracle的做法只是让Java商业化的步伐迈得更快一些而已。

    那么整个Java SE哪些内容是收费的,收费标准又是什么样的呢?其实,Java
SE的下载包包罗万象,它包括Oracle在2014年2月推出的Java SE Advanced Desktop,在2011年5月推出的Java
SE Advanced和Java SE Suite。其中Java SE是免费的,包含免费的JDK和JRE,但是Java SE Advanced
Desktop、Advanced、Suite,以及一些其他的额外功能(如Java Mission Control和Flight
Recorde)并不免费。另外,Oracle定义Java
SE是免费的前提是“通用计算”,指的是桌面电脑、笔记本、智能手机和平板电脑这些设备,而对移动电话、手持设备、网络交换机以及蓝光播放器等嵌入式设备并不免费。

    Java SE的收费标准从每用户40到300美元,或者每处理器5000到15000美元不等。例如,使用Java SE
Suite的用户需要为每个用户支付300美金的费用,同时还有66 美金的服务支持费用;如果是按处理器收费的话,单个处理器需要15000
美金的费用以及3300美金的服务支持费用。

    目前已经有用户收到了Oracle的催费通知,据The
Register统计,有一个拥有8万台PC的零售行业的客户被Oracle告知他们违反了Java许可协议,还有一个客户被Oracle告知他们欠费10万美元。另外,寻求Java许可协议帮助的客户正在增多,他们在2016年下半年就收到了LMS的通知。

    对于这一问题Oracle并没有区分客户和合作伙伴,专家们建议下载Java
SE时一定要谨慎,已经下载的用户在LMS打电话过来之前一定要对使用情况进行审查,做好充分的准备。但是目前并没有办法将需要付费的Java
SE产品和免费的Java SE产品分开,Oracle也没有提供独立的安装软件,所以无论用户是否需要,下载的Java
SE都将包含所有内容,也必须根据Oracle的要求进行付费。为此有合规专家建议用户“确保只安装有权使用的那部分,同时删除没用的内容”。

在收购Sun六年后,Oracle终于瞄准了Java的非付费用户的更多相关文章

  1. 【解决方案】cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'. One of '{"http://java.sun.com/xml/ns/javaee":run-as, "http://java.sun.com/xml/ns/javaee":security-role-r

    [JAVA错误] cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'. One o ...

  2. Oracle数据库中调用Java类开发存储过程、函数的方法

    Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日  浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL, ...

  3. 在linux下修改oracle的sys和system的密码和用户解锁

    修改oracle的sys和system的密码和用户解锁 1.再linux系统上sqlplus '/as sysdba' 进入sqlplus后就可以修改sys和system的密码了 2.alter us ...

  4. 【转】Oracle - 数据库的实例、表空间、用户、表之间关系

    [转]Oracle - 数据库的实例.表空间.用户.表之间关系 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机 ...

  5. 关于利用动态代理手写数据库连接池的异常 java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection

    代码如下: final Connection conn=pool.remove(0); //利用动态代理改造close方法 Connection proxy= (Connection) Proxy.n ...

  6. oracle中数据类型对应java类型

    地址: http://otndnld.Oracle.co.jp/document/products/oracle10g/102/doc_cd/Java.102/B19275-03/datacc.htm ...

  7. 把Oracle由归档模式改为非归档模式

    把Oracle由归档模式改为非归档模式 开始–>运行命令cmd进入命令行模式 1. 使用命令sqlplus以无日志形式打开如下: sqlplus /nolog; 2. 连接数据库dev.worl ...

  8. oracle 非sys用户创建新用户 授权后 plsql看不到视图

     问题: oracle 非sys用户创建新用户 授权后  plsql看不到视图 答案: 新用户查询视图时,视图名称前需要添加 视图所属用户. 如user用户新建newUser用户,newUser用户查 ...

  9. Python写代码的时候为什么要注释?Sun因此被Oracle收购

    导读: 此块分为:1.注释的重要性 2.如何正确注释 注释的重要性 在我们看代码的时候,会遇到很多看不懂得代码,特别是在做项目的时候,代码的注释以及命名习惯的重要性就有了为什么这么说呢? 因为在很多情 ...

随机推荐

  1. NET Web开发

    .NET Web开发初学者必知的四个网站   No.1 W3school 链接: http://www.w3school.com.cn/ 预览: 介绍: 全球最大Web前端技术教程网站.内容涵盖从基础 ...

  2. [Android] Volley源代码分析(五岁以下儿童)Q \\ u0026一个

    Volley源代码分析系列那里一段时间,告诉我,有许多私人留言,同时一些问题抛出.对于一些简单的问题,我们跳,这两天被连接到朋友@smali提出的问题.告诉我你不得不赞叹查看源代码时的详细程度,大家一 ...

  3. Grub启动配置文件

    和许多其他linux发行版一样,Fedora使用Grub作为32位和64位X86系统的启动加载器(bootloader).grub的配置文件主要是/boot/grub/grub.conf,而/boot ...

  4. [译]Java 设计模式之命令

    (文章翻译自Java Design Pattern: Command) 命令设计模式在进行执行和记录的时候需要一个操作及其参数和封装在一个对象里面.在下面的例子中,命令是一个操作,它的参数是一个Com ...

  5. Solr 教程

    1.Solr安装 下载jdk-8u111-windows-i586_8.0.1110.14 下载solr-6.3.0.zip 2.配置JAVA_HOME 在"系统变量"中,设置3项 ...

  6. 3DMax的OFusion插件的使用问题

    使用OFusion将3D max导出到现场Ogre的Mesh该方法是经常使用的非.的一些问题,在这里为方便摘要. 1.OFusion得到: http://download.csdn.net/detai ...

  7. php-fpm介绍及配置

    php-fpm是什么 全称是php fastcgi process manager即php fastcgi进程管理器,相比fastcgi静态的唤起cgi,fpm能根据访问的压力动态的唤起cgi进程和销 ...

  8. memcached与.NET的融合使用2

    memcached与.NET的融合使用(二) memcached部署完成之后,对当前缓存中数据的监控就显得比较迫切,这里看到网上开源的memadmin比较小巧好用,决定用它来查看监控memcached ...

  9. 迁移Model元数据设置项

    .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序) 阅读目录: 1.需求背景介绍(Model元数据设置项应该与View绑定而非ViewModel) 1 ...

  10. 统计学习方法(三)——K近邻法

    /*先把标题给写了.这样就能经常提醒自己*/ 1. k近邻算法 k临近算法的过程,即对一个新的样本,找到特征空间中与其最近的k个样本,这k个样本多数属于某个类,就把这个新的样本也归为这个类. 算法  ...