GPL协议本身就是剥削,oracle维权玩的让人恶心
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是受版权保护的。
谷歌则坚持认为,软件只能受专利保护,不应受版权保护,这项判决将扼杀计算机科学创新和软件开发。但法官凯瑟琳·奥马利则表示,专利保护同样适用于软件。
在此,我们可以清晰的看到法院的判决意味着,软件公司未来在编写计算机程序时可能面临侵犯甲骨文版权的风险。你使用了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维权玩的让人恶心的更多相关文章
- GPL协议的MySQL数据库
网络上多数朋友担心甲骨文会对MySQL软件采用收费模式,多数朋友也不清楚MySQL开源到底是什么模式,开源=免费嘛?是很多的疑问?MySQL是遵守双重协议的,一个是GPL授权协议,一个是商用授权协议( ...
- 关于GPL协议的理解(开源与商用、免费与收费的理解)
编者:请特别注意看暗红色粗体标注的那几句话,总结下来有下面几点: 如果你用了我的 GPL软件,那么你的软件也必须要开源,否则就不能使用我的软件,你是否把你的软件商用和我没关系 Oracle 卖的不是软 ...
- GPL协议
GPL-General Public License 它是自由软件许可(Free Software Licence),保证最终使用者能够自由的引用,学习,拷贝,甚至修改软件.在理解这之前需要了解什么是 ...
- 为什么越来越少的开源项目使用 GPL 协议
原文出处: opensource 译文出处:oschina/王练 前段时间,我在 RedMonk 上看到了一篇来自 Stephen O’Grady 的有趣推文,介绍了开源许可证目前的状态,以 ...
- GPL协议中国第一案尘埃落定,相关开源软件应如何风控?
导读:2019年11月6日,数字天堂(北京)网络技术有限公司(以下简称 “数字天堂公司”)诉柚子(北京)科技有限公司.柚子(北京)移动技术有限公司(以下简称 “柚子公司”)侵犯计算机软件著作权纠纷一案 ...
- [转帖]Oracle 裁员史:技术人死于重组,卒于云计算
Oracle 裁员史:技术人死于重组,卒于云计算 https://www.infoq.cn/article/tm-mcdHCPCI4eEwr6dbY 大厂裁员 我妈妈也总担心我没工作了 怎么还房贷 田 ...
- ef6 code first with Oracle 试玩记录
对于oracle 使用code first 这边文章不错: http://www.cnblogs.com/wlflovenet/p/4187455.html 补充一下: 文章中提到machine.co ...
- ORA-12560: TNS: 协议适配器错误(oracle service 已启动)
如果是安装完 oracle 客户端之后才出现的这个问题,请往下看 安装 oracle client 时,会配置一个客户端的监听,如果电脑上之前安装过 oracle service 就会和服务的监听冲突 ...
- http协议本身能获取客户端Mac地址问题
http 位于网络应用程 应用层 会话层 表示层 传输层 网络层 数据链路层 物理层 数据在最高层开始传输 没经历下面一层加一层的头,然后传入目的电脑再进行一层层的解刨,所以http本来没有mac而接 ...
随机推荐
- java关键字及含义
http://blog.csdn.net/hfmbook/article/details/7634385
- Oracle起步---创建临时表空间/表空间/创建用户/授权
1. 安装: 百度一下你就知道 2. sqlplus登录/sqlplus命令登录 在安装Oracle时,你需要记住设置的“全局数据库名”(默认为orcl) 和 口令,在以两种方式登录时: 用户名: s ...
- select循环读取数据
<select id="srType" name="srType" value="test"> <c:forEach va ...
- Java基础数据类型的默认值
1.整数类型(byte.short.int.long)的基本类型变量的默认值为0. 2.单精度浮点型(float)的基本类型变量的默认值为0.0f. 3.双精度浮点型(double)的基本类型变量的默 ...
- jpa关联映射
参考:http://www.cnblogs.com/printN/p/6408818.html 官方文档:http://docs.jboss.org/hibernate/orm/5.2/usergui ...
- 160711、Java 多线程核心技术梳理
本文对多线程基础知识进行梳理,主要包括多线程的基本使用,对象及变量的并发访问,线程间通信,lock 的使用,定时器,单例模式,以及线程状态与线程组. java 多线程 基础知识 创建线程的两种方式:1 ...
- java操作mongoDB数据库的简单实例
首先导入mongoDB的jar包 http://pan.baidu.com/s/1bnGMJRD //DataBase.java package com.mongodb.test; import ja ...
- SET NAMES 'charset_name'
设置写入db和db返回读出结果的字符集character set https://dev.mysql.com/doc/refman/5.7/en/charset-connection.html SET ...
- HTTP缓存实现的原理
浏览器是如何知道使用缓存的,其实这都是通过http中,浏览器将最后修改时间发送请求给web服务器,web服务器收到请求后跟服务器上的文档最后修改的时间对比,如果web服务器上最新文档修改时间小于或者等 ...
- log4j 日志相关
1.log 打印异常信息 Logger logger = Logger.getLogger(LoggerTest.class); //追踪产生此日志的类 Logger extends Categor ...