我们先来看一下MySQL的版权问题。当前,MySQL采用双重授权(Dual Licensed),他们是GPL和MySQL AB制定的商业许可协议。如果你在一个遵循GPL的自由(开源)项目中使用MySQL,那么你可以遵循GPL协议使用MySQL。否则,你需要购买 MySQLAB制定的那个商业许可协议。这里最重要的一点就是要想免费使用MySQL,你所开发的软件必须是遵循GPL的自由(开源)软件,虽然被批准的自由(开源)许可协议有很多个。
        MySQL是一套客户端/服务器(C/S)结构的系统。双重许可机制对两大块同时进行约束,但是并不绝对。MySQL AB(MySQL的出品公司)考虑到便于人们使用,客户端是完全遵循GPL许可。也就是说,在事实上MySQL的双重许可机制这一双重的特点是对服务器端而言的。我想,我恐怕会把一些人搞糊涂,这里所说的客户端指的是MySQL AB开发的那个命令行下的客户端工具(mysql.exe)。 
        使用MySQL数据库如果按商业授权方式,购买MySQL的许可证按照计算机台数计算,一台机器一个,cluster版(集群版)的按cpu数量计算。如果你将程序部署到一个庞大集群服务器上,势必要付出不少的费用。
      使用MySQL数据库如果服按照GPL协议的授权方式,那么当你开发了一些应用软件,即使是公司内部使用的特殊的系统,你也要遵循GPL协议将你的源代码公布!也就是一旦你的系统被使用,源代码必须公开,不公开就违反了GPL协议,违反了相关法律。

再来看一看Java的版权问题。谷歌的Android操作系统可以说是目前全球最流行的智能手机平台。而甲骨文于2010年起诉谷歌,称谷歌的Android系统侵犯了其Java编程语言专利,并同时要求谷歌赔偿约10亿美元的损失。理由是:甲骨文认为谷歌在安卓系统中侵犯了其Java APIs版权。不过,最后法院判定,甲骨文APIs并不受版权保护,要求甲骨文接受谷歌0赔偿。不过,现在CAFC否决了此前判决,判定甲骨文APIs是受版权保护的。

   甲骨文发言人表示:“我们很高兴联邦法院否决谷歌试图大幅限制计算机编程的法律保护。我们认相信,地方法院未来也将应用‘合理使用原则’(fair use doctrine)。”法院的这项判决是依靠版权保护来激发创新的计算机产业的胜利。

谷歌则坚持认为,软件只能受专利保护,不应受版权保护,这项判决将扼杀计算机科学创新和软件开发。但法官凯瑟琳·奥马利则表示,专利保护同样适用于软件。
        在此,我们可以清晰的看到法院的判决意味着,软件公司未来在编写计算机程序时可能面临侵犯甲骨文版权的风险。你使用了Java语言就要为相应的版权付费!这是一件多么恐怖的事情,编程语言竟然都来谈版权,还能不能让全世界苦逼的程序猿们一起愉快的玩耍啦!难道oracle没有看出为什么这么多年c#语言一直没有被广泛推开吗?如果API能够被认定为版权法保护的对象,那就会引发大量无聊的诉讼,并且不利于开发人员去开发使用API的应用。更重要的是,如果甲骨文胜诉,整个软件行业都会受到其影响,因为如果它们的API模仿了热门计算机程序尤其是Java的API,很多软件公司就会成为版权侵权诉讼的对象。很多公司必须投入大量资源来开发自己的API,而不是免费使用更成熟编程语言的API。
        其实这种战役对双方都造成了相应影响,在美国股市周一交易中,谷歌和甲骨文的股价双双下跌。谷歌股价较上一交易日下跌了约1.91%,至521.52美元;甲骨文股价下跌了约1.39%,至40.42美元。在今年的早些时候,美国最高法院就是否受理谷歌的上诉还征询了奥巴马政府意见,后者建议最高法院不要受理。奥巴马政府表示,由于甲骨文Java编程语言获得版权保护可能对软件开发造成影响,这起诉讼受到有关各方严重关注,但这些问题可以通过谷歌“合理使用”的抗辩加以解决。 
        谷歌的Android操作系统目前支持Java作为其一类语言,据消息来源说,Swift并不是要取代Java,至少在最初阶段。大概与oracle长期进行的诉讼是导致谷歌做出这一决定的可能原因,据说谷歌考虑Swift是认为其可能有比Java更广阔的发展空间。Swift也是开源的,这意味着谷歌可以采用它作为Android的语言,而无需改变自己的开源手机结构。 
        这就引发了我们关于就业培训的思考,假如现在学习Java-Android方向,哪天Google由于版权等原因真的改用了Swift语言作为Android 的开发语言,是不是现在去学Swift走ios方向更好一些。
        总之,oracle收取Java语言版权费用着实令人恶心,搞开发的还是不要把全部精力放到Java上为好。

GPL协议本身就是剥削,oracle维权玩的让人恶心的更多相关文章

  1. GPL协议的MySQL数据库

    网络上多数朋友担心甲骨文会对MySQL软件采用收费模式,多数朋友也不清楚MySQL开源到底是什么模式,开源=免费嘛?是很多的疑问?MySQL是遵守双重协议的,一个是GPL授权协议,一个是商用授权协议( ...

  2. 关于GPL协议的理解(开源与商用、免费与收费的理解)

    编者:请特别注意看暗红色粗体标注的那几句话,总结下来有下面几点: 如果你用了我的 GPL软件,那么你的软件也必须要开源,否则就不能使用我的软件,你是否把你的软件商用和我没关系 Oracle 卖的不是软 ...

  3. GPL协议

    GPL-General Public License 它是自由软件许可(Free Software Licence),保证最终使用者能够自由的引用,学习,拷贝,甚至修改软件.在理解这之前需要了解什么是 ...

  4. 为什么越来越少的开源项目使用 GPL 协议

    原文出处: opensource   译文出处:oschina/王练    前段时间,我在 RedMonk 上看到了一篇来自 Stephen O’Grady 的有趣推文,介绍了开源许可证目前的状态,以 ...

  5. GPL协议中国第一案尘埃落定,相关开源软件应如何风控?

    导读:2019年11月6日,数字天堂(北京)网络技术有限公司(以下简称 “数字天堂公司”)诉柚子(北京)科技有限公司.柚子(北京)移动技术有限公司(以下简称 “柚子公司”)侵犯计算机软件著作权纠纷一案 ...

  6. [转帖]Oracle 裁员史:技术人死于重组,卒于云计算

    Oracle 裁员史:技术人死于重组,卒于云计算 https://www.infoq.cn/article/tm-mcdHCPCI4eEwr6dbY 大厂裁员 我妈妈也总担心我没工作了 怎么还房贷 田 ...

  7. ef6 code first with Oracle 试玩记录

    对于oracle 使用code first 这边文章不错: http://www.cnblogs.com/wlflovenet/p/4187455.html 补充一下: 文章中提到machine.co ...

  8. ORA-12560: TNS: 协议适配器错误(oracle service 已启动)

    如果是安装完 oracle 客户端之后才出现的这个问题,请往下看 安装 oracle client 时,会配置一个客户端的监听,如果电脑上之前安装过 oracle service 就会和服务的监听冲突 ...

  9. http协议本身能获取客户端Mac地址问题

    http 位于网络应用程 应用层 会话层 表示层 传输层 网络层 数据链路层 物理层 数据在最高层开始传输 没经历下面一层加一层的头,然后传入目的电脑再进行一层层的解刨,所以http本来没有mac而接 ...

随机推荐

  1. [转]NBehave行为驱动测试关于story和scenarios

    原文: Behavior-Driven Development with NBehave 这里模拟了一个"银行账户"的类 一个余额属性,一个存款方法,一个撤销账户的方法,一个转账的 ...

  2. 用用匿名函数和闭包加apply强制待定函数调用时使用特定上下文

    <button id="test">点我</button> <script> var button={ clicked:false, click ...

  3. QT国际化,中英文等多语言界面显示的方法

    在网上学习了一下QT的国际化使用方法,最后将自己试成功的方法总结例如以下: 当中遇到的问题有:生成的ts文件里 代码中的中文 有的不显示,有的显示乱码.   步骤1: 生成.ts文件,在pro项目文件 ...

  4. ASP.NET中Dictionary基本用法实例分析

    本文实例讲述了ASP.NET中Dictionary基本用法.分享给大家供大家参考,具体如下: //Dictionary位于System.Collections.Generic命名空间之下 /*  * ...

  5. (转)使用 PyInstaller 把python程序 .py转为 .exe 可执行程序

    最近使用Python为项目开发一款绘图工具(绘出 声场三维模型).因为希望能把Python脚本发布为脱离Python平台运行的可执行程序,比如单个的exe文件.PyInstaller恰满足这个需求.本 ...

  6. JZOJ.5230【NOIP2017模拟8.5】队伍统计

    Description 现在有n个人要排成一列,编号为1->n .但由于一些不明原因的关系,人与人之间可能存在一些矛盾关系,具体有m条矛盾关系(u,v),表示编号为u的人想要排在编号为v的人前面 ...

  7. 复制新项目 ,tomcat部署时名字还是旧项目名

    基于一个就项目 copy 成新项目   关于项目名注意点: 在工作空间下  copy一份新项目 1首先在目录将项目名字更改. 2.在新项目下 找到 [.project]文件  将里面的nama更改 3 ...

  8. 修改jquery.automeplete,使其支持value匹配

    原生只会去匹配label,可在实际使用中,可能需要匹配的值并不需要显示在label中,经过添加一个matchType属性解决 1.加入matchType选项,并默认为原生匹配 $.widget(&qu ...

  9. iOS核心动画详解(一)

    前言 这篇文章主要是针对核心动画(Core Animation)的讲解,不涉及UIView的动画.因为内容较多,这篇文章会分为几个章节来进行介绍.本文主要是介绍核心动画的几个类之间的关系和CAAnim ...

  10. 转!!java泛型

    介绍java泛型的一篇文章,通俗易懂! 原文地址:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html 一. 泛型概念的提出(为什么需要泛型)? 首先,我 ...