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而接 ...
随机推荐
- sudo -E的意思
1.sudo -E -E选项在man page中的解释是: -E The -E (preserve environment) option indicates to the security poli ...
- jquery 复选框全选/全不选切换 普通DOM元素点击选中/取消选中切换
1.要选中的复选框设置统一的name 用prop() prop() 方法设置或返回被选元素的属性和值. $("#selectAll").click(function(){ $(&q ...
- CSV转PDF(C++)
CSV : Comma Separate Values 特点: 每条记录占一行 以逗号为分隔符 逗号前后的空格会被忽略 字段中包含有逗号,该字段必须用双引号括起来 字段中包含有换行符,该字段必须用双引 ...
- 利用Fiddler或Charles进行mock数据
使用场景:服务器数据不符合测试条件时,我们可以通过在本地创建虚拟数据来打到测试用例所描述的条件. fiddler使用方法 1.首先在本地创建txt数据:将抓到的response中的json数据拷贝到记 ...
- 如何使用C#操作WinAPI
Windows API是对Windows操作系统的API函数,在C#中调用Windows API的实质是托管代码对非托管代码的调用. 主要使用的格式就是: using System.Runtime.I ...
- 表达式求值(java)
今天去面试,考了这个,短时间没想出来... 太笨了! 后来想用栈和递归做 但是看了网上才知道,可以将中缀表达式转为后缀表达式,就极其方便了. import java.util.Scanner; imp ...
- 调试SVO_edgelet
感谢白巧克力亦唯心提供的SVO_edgelet代码,作者博客:https://blog.csdn.net/heyijia0327/article/details/61682150 程序地址: http ...
- JDK源码分析之concurrent包(三) -- Future方式的实现
上一篇我们基于JDK的源码对线程池ThreadPoolExecutor的实现做了分析,本篇来对Executor框架中另一种典型用法Future方式做源码解读.我们知道Future方式实现了带有返回值的 ...
- k8s更新Pod镜像
实际使用k8s中,如果使用RC启动pod可以直接使用滚动更新进行pod版本的升级,但是我们使用的情况是在pod里面启动有状态的mysql服务,没有和RC进行关联,这样更新的时候只能通过 更新pod的配 ...
- 并发编程5 操作系统&进程
一.今日大纲 1.multiprocessing模块简单应用 2.for循环创建进程 3.进程传参方式和创建方式2 4.join方法 5.操作系统基础 二.今日内容 (1)操作系统简单介绍 多道技术: ...