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. 使用 C# 进行 Outlook 2007 编程

    原文:使用 C# 进行 Outlook 2007 编程 探讨如何使用 C# 编程语言生成 Outlook 识别的应用程序和 Outlook 外接程序. 请从"Add References&q ...

  2. WINHTTP的API接口说明

    BOOL WINAPI WinHttpAddRequestHeaders(   _In_  HINTERNET hRequest,   _In_  LPCWSTR pwszHeaders,   _In ...

  3. C#/ASP.NET/AJAX

      C#/ASP.NET/AJAX ASP.NET 4.5新特性一:强类型数据绑定(Strongly-Type Data-Bindings) 摘要: 随着ASP.NET 4.5的发布提供了很多的新特性 ...

  4. ios中mvc的FormsAuthentication.SetAuthCookie(cookieUserName, false)失败

    如果楼主使用.net开发,要注意FormsAuthentication.SetAuthCookie 方法的使用会导致ios出现该问题.因为这个方法在ios设备上是把票据加入到url中,导致url和你的 ...

  5. 比Spring简单的IoC容器

    比Spring简单的IoC容器 Spring 虽然比起EJB轻量了许多,但是因为它需要兼容许多不同的类库,导致现在Spring还是相当的庞大的,动不动就上40MB的jar包, 而且想要理解Spring ...

  6. 动动手,写个knockout的分页模板

    最近一个项目用ASP.NET + knockout开发,很多列表页面都带分页,于是就有了写一个公共的分页模板的想法. 先把template写好: <script type="text/ ...

  7. Nginx+Tomcat+Memcached实现tomcat集群和session共享

    一.Nginx安装 详见前文:http://www.cnblogs.com/yixiwenwen/p/3574097.html 二.memcached安装和启动 详见前文:http://www.cnb ...

  8. c# 即使服务又是可执行程序的代码实现

    先看下代码 namespace UpdaterServer { class Program { static void Main(string[] args) { ) { ServiceBase[] ...

  9. Bug Tracker

    Bug Tracker 使用笔记(有图有真相)   目的:管理Bug,完善业务流程. 前提条件:BugTracker是基于IIS和SQL Server和Asp.Net的.相当于一个Web端的管理系统. ...

  10. 哞哞快的 C# 高斯模糊实现

    冲动来自于 bing best 这个小工具,非常短小精干,里边的设置界面非常精美而且背景是一张模糊效果的图片,十分养眼,遂想,收集一下实现方式放到类库里以后肯定用得上.一通百度.谷歌.博客园,换了好多 ...