MySQL收费方式

2023-11-05

导读:

网络上多数朋友担心甲骨文会对MySQL软件采用收费模式,多数朋友也不清楚MySQL开源到底是什么模式,开源=免费嘛?是很多的疑问,MySQL是遵守双重协议的,一个是GPL授权协议,一个是商用授权协议(注释:为解决其他企业用MySQL软件牟利或引用了MySQL的源代码而不想开源),虽然www.mysqlops.com也有写关于MySQL版权的来龙去脉,但是这篇文章写更透彻与详尽,特转载ITPUB上的帖子,希望大家能够更加清晰!

最近刚把MySQL和GPL的玩法搞明白,很是惭愧,居然花了这么久的时间才想通。不过聊以自慰的是,搞明白这个玩法的人真是不多,尽管有些人已经搞了很多年。

看过GPL协议的人应该都会觉得一头雾水,究竟GPL在讲些什么。我看过好几遍,英文的原版、中文的各种译文,都没能真正理解,后来是从软件行业的历史等等方面综合考虑,才算是理解了。先总结一下我对GPL的理解,我认为GPL的精髓就是开源,和是否商用,是否收费完全没有关系。GPL(General Public License),其实从字面上就可以理解为公共许可证,也就是说遵循GPL的软件是公共的,其实不存在什么版权问题,或者说公众都有版权,GPL提出了和版权(copyright)完全相反的概念(copyleft)。而我经常听到的说法是如果你的程序或系统引用了别的GPL软件,并且向用户收费,那么你就需要向引用的GPL软件购买版权。听上去很合理,如果你用我的软件赚钱,那你当然应该向我支付一定的费用。但其实是错误的,正确的概念是如果你用了我的 GPL软件,那么必须你的软件也要开源,如果你不开源,那么就不能使用我的软件,你是否把你的软件商用和我没关系,如果你不能遵循GPL协议来开源,那么你付再多的钱也不能用GPL的软件,事实上很多GPL软件是很多人共同完成的,每个人在前人的基础上做出自己的贡献,如果收费的话你把钱交给谁?提出 GPL协议的GNU希望做到的是通过开源来使软件行业得到一个好的发展,试想如果你要做一个大型的软件,不在前人的源码基础上开发,那必然会是旷日持久的,也会有很多重复劳动,显然不利于软件技术的发展。所以理解了GNU的精神,也就能理解GPL在说些什么,其实就是开源。在现实生活中,我们受益于 GPL的地方,其实很多,几乎所有的操作系统,除了windows,其他的几乎都是基于linux开源代码改写的。

再来谈MySQL,这是个开源的数据库,做技术的应该都知道。MySQL最早是瑞典的一家叫做MySQL AB的公司开发的,它是以双授权的方式来发布MySQL。一种授权就是GPL,另一种授权就是商业授权。也就是如果你不能满足GPL,那么就走商业授权的路线,向这个公司交钱。我觉得这公司有挂羊头卖狗肉之嫌,想借着GPL快速传播它的软件,但又留着商业授权这个收费的口。后来这家公司以10亿美金的价格被Sun收购,接着Sun又被Oracle收购,MySQL成为了Oracle的东西。现在Oracle把MySQL分为三种产品,标准版、企业版和集群版。不谈其中具体的差异,但都是以年度订阅(subscription)的方式来卖的。这个subscription引起了我的疑问,如果用户购买了一年,那么第二年用户还要继续付费才能合法使用?这三种版本都包含了一年的服务,那么如果第二年用户只需要用软件而不需要服务,怎么办?Oracle官方没有一个说得过去的说法。后来我想通了,其实Oracle卖的不是软件的版权,也不是寂寞,而是技术服务。所有的GPL开源软件都不能卖版权,因为是公共版权,当然不能卖了。所以像redhat这类的开源软件都是用subscription的方式来赚钱的。赚钱其实是合法的,GPL协议里面写了“Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish)我们的GNU通用公共许可证决意保证你有发布自由软件的自由(如果你愿意,你可以对此项服务收取一定的费用)”。但现在大众的误区是觉得购买的是软件产品的版权而不是服务。其实你要用GPL软件在绝大部分情况下都是合法的,不存在版权问题,那么在什么情况下才算是非法的呢?

前文一直提到“用”GPL软件的情况,这个“用”可能并不合适,GPL的原文“the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program保证你的共享和修改自由软件的自由”。可以理解为你使用开源软件并不受GPL约束,只有在你基于开源软件,修改开源软件的源码的时候才受 GPL约束。MySQL作为一个开源数据库,几乎所有的用户都只是通过自己的程序去操作这个数据库,不涉及到改动源码的问题,根本不用去考虑是否要遵循 GPL的问题。只有在你修改MySQL源码的情况下,才需要考虑GPL。

如果我根据MySQL的源码开发出了一个新的数据库,我觉得自己开发的源码非常的优秀,想靠这个卖钱,不想公开源码。那么这种情况就无法满足GPL的规定,我没法发布我的数据库。好在MySQL有个非常流氓的双授权,我就可以购买其商业授权来达到我的目的。为什么说这是流氓行为?因为既然MySQL是根据GPL开源发布,多多少少有各路人马贡献自己的源码才成为今天的MySQL,卖别人的劳动成果来让自己受益,这就是流氓的做法。

所以GPL就是一个为了保护软件自由的一个协议,它强调的是开源,与钱无关。MySQL是一个双授权的软件,Oracle现在卖的是年度的服务(编者加注:另外主要收入来源是销售数据库维护工具),如果你只是使用MySQL而不是改写MySQL,那么在这些情况下你应该考虑购买Oracle的商业版本,一是Oracle的商用版本提供的附加组件(监控器、备份工具等)对你有价值,二是Oracle的年度技术支持是你需要的,三是各种潜规则。而不应该是你想合法的使用MySQL才去购买其商业版本。另外,如果你是基于MySQL的源码开发你自己的产品,那么你需要购买的是商业授权,而不是subscription这些商业版本。

前面正儿八经的分析了GPL和MySQL的问题,接下来要玩粗的了。狗日的Oracle原厂的人老是说用了MySQL而不开源就应该向Oracle购买 MySQL商业版本。他妈的搞了这么多年MySQL还没搞明白这个问题?这种说法根本不合逻辑也没法操作,我的系统可以定义一个子系统叫做数据库连接,里面的代码就是连接数据库,我把这子系统公开源码就符合你的逻辑了吧,这么不严谨的说法漏洞太多了,还他妈叫着要告谁谁的,你告告试试,看看出丑的是谁。可能有人觉得他们其实是明白的,只是在欺骗客户来牟利。不过真别高估了这帮人,他们真没搞明白也是完全有可能的。别老觉得redhat做的多成功,卖的多好,MySQL一定也能像redhat一样卖的好。redhat怎么做的我没仔细研究过。不过肯定存在两种可能,一是redhat提供了客户需要的技术服务,二是客户也是被欺骗的。如果是第一种情况,那么说明redhat原厂做的好,不管是自己原厂的技术服务还是代理的技术服务,肯定是有一套很不错的服务体制,MySQL有吗?如果是第二种情况,客户总有一天会变聪明,被redhat骗了一次还会被MySQL再骗一次吗?其实是可能的,比如各种运营商、政府部门等等机构。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL收费方式 的相关文章

  • MySQL错误处理--1146错误

    在MySQL的主从复制过程中 出现了1146错误 提示的错误原因是 在默认的数据中找不到指定的表 show slave status G 现实的同步状态 Slave IO Running YESSlave SQL Running NoLas
  • WebGL(二)——什么是WebGL

    WebGL 二 什么是WebGL 什么是WebGL WebGL 全写Web Graphics Library 字面意义理解就是web图像库 是一种3D绘图协议 也可以说是一个负责图形处理的JavaScript API 可在任何兼容的Web浏
  • 蒙特卡洛方法(入门详解)

    一 定义 蒙特卡洛又称统计试验法 是基于概率论的算法 其实质就是将问题转化为一个概率问题 并用计算机模拟产生一堆随机数 再对随机数进行统计工作 蒙特卡洛模拟方法 建立概率模型 计算机模拟 数理统计 二 原理 大数定理证明 在大样本的情况下
  • 顶刊IJCV 2022!基于深度学习的图像去模糊综述来了!

    点击下方卡片 关注 CVer 公众号 AI CV重磅干货 第一时间送达 点击进入 gt CV 微信技术交流群 转载 机器之心 本文提出了一个图像去模糊方向的综述 来自澳大利亚国立大学 中山大学 美国加州大学 Merced 分校 日本乐天研究
  • 前端不使用 i18n,如何优雅的实现多语言?

    前言 关于ERP管理系统的多语言 或者其他应用的多语言一直是我们比较麻烦的问题 大部分是使用 i18n 在代码里进行配置 如果想要修改语言就要自己去改代码 今天我们分享一下如何不使用 i18n 去实现多语言 用到以下的技术栈 ERP管理系统
  • [Python图像处理] 四十一.Python图像平滑万字详解(均值滤波、方框滤波、高斯滤波、中值滤波、双边滤波)

    该系列文章是讲解Python OpenCV图像处理知识 前期主要讲解图像入门 OpenCV基础用法 中期讲解图像处理的各种算法 包括图像锐化算子 图像增强技术 图像分割等 后期结合深度学习研究图像识别 图像分类应用 希望文章对您有所帮助 如
  • 安卓手机玩游戏卡顿怎么解决_告别卡顿 打造Android手机的“游戏模式”

    如今的手游 除了大型3D单机游戏以外 对硬件的需求其实谈不上太过苛刻 比如 王者荣耀 哪怕是骁龙430级别的处理器也能流畅运行 而之所以游戏过程中偶尔出现卡顿 可能还是一些细节设置没有优化到位 有的手机已经自带游戏模式了 问题是没有这个功能
  • 烂大街的 Spring 循环依赖问题,你真以为自己会了吗?

    什么是循环依赖 所谓的循环依赖是指 A 依赖 B B 又依赖 A 它们之间形成了循环依赖 或者是 A 依赖 B B 依赖 C C 又依赖 A 形成了循环依赖 更或者是自己依赖自己 它们之间的依赖关系如下 这里以两个类直接相互依赖为例 他们的
  • google GMS测试环境搭建详细教程

    1 解压jdk tar xvf jdk 8u172 linux x64 tar gz 2 配置java环境 sudo chmod 777 etc profile sudo vim etc profile 3 测试java java vers
  • 树莓派基础之嵌入式开发概述

    树莓派初见 一 嵌入式概述 二 树莓派开发笔记 三 Linux库引入之分文件编程 四 Linux库引入之动态库和静态库 五 静态库的生成和使用 六 动态库的生成和使用 一 嵌入式概述 1 什么是嵌入式 a 嵌入式即嵌入式系统 IEEE 美国
  • 边缘计算初探:什么是边缘计算,它能做什么?

    边缘计算是指在靠近智能设备或数据源头的一端 提供网络 存储 计算 应用等能力 达到更快的网络服务响应 更安全的本地数据传输 边缘计算可以满足系统在实时业务 智能应用 安全隐私保护等方面的要求 为用户提供本地的智能服务 边缘计算一般由云端管理
  • 比较C#和Java

    本文对比了C 与Java这两种编程语言 这两种语言都具有自动垃圾回收以及运行时编译执行的特点 并且两者的语法都有主要继承自C语言 C 因此二者有很多相似之处 但由于C 是作为C 和Java的混合体而在Java之后所创造的 因此C 相较Jav
  • Java位运算符详解

    按位与运算符 参加运算的两个对象 按二进制位进行 或 运算 运算规则 0 0 0 0 1 1 1 0 1 1 1 1 即 参加运算的两个对象只要有一个为1 其值为1 例如 3 5 即 0000 0011 0000 0101 0000 011
  • SQL_Case When 嵌套

    select psperdno 期数 count case when psperdno 1 then case when date datadate psduedt gt 0 then a custid end else case when
  • 第一次竞赛-E.找饭友

    中国幅员辽阔 来自全国各地的朋友的饮食口味也不尽相同 饮食喜好相同的人会组在一起吃饭 我们称其互为 饭友 而你意外得到了一份食堂的流水账单记录 想从中发现今天来食堂吃饭的人当中每个人究竟有多少名饭友 首先你对账单的记录进行了一番整理 把N个
  • Java 5-12、数据模型与接口规范

    5 12 数据模型与接口规范 一 常用数据模型 VO controller View Object Value Object 视图对象 值对象 最有争议的模型 规范写法只存在于controller层 因为swagger注解只作用于VO中的属

随机推荐

  • 7.1-系统调用和 UNIX Shell

    复习 状态机模型 程序 多线程程序 操作系统 操作系统是状态机的管理者 本次课回答的问题 Q 我们是操作系统的用户 但操作系统提供的 API 并不是 我们 作为人类用户能直接使用的 那 我们 到底怎么用操作系统 本次课主要内容 UNIX S
  • late_initcall_sync、late_initcall 和 module_init 的区别及其优缺点

    late initcall sync late initcall 和 module init 都是 Linux 内核中用于模块初始化的函数 它们各自有优缺点 具体如下 1 late initcall sync 优点 late initcal
  • vs 警告当前源代码跟内置的版本不一致解决办法

    vs 警告当前源代码跟内置的版本不一致解决办法 我在网上搜了一圈 各种方法都试过了 还是不行 编译出来的可执行文件用的还是旧的代码 把代码删了还是不行 我就奇怪了vs在哪里保存了原来的版本 后来我删除掉 我的文档 visual studio
  • 网络数据管理协议(NDMP)--网络大典

    网络数据管理协议 NDMP 是一种基于企业级数据管理的开放协议 NDMP 中定义了一种基于网络的协议和机制 用于控制备份 恢复 以及在主要和次要存储器之间的数据传输 NDMP 第5版 结构基于客户机 服务器模型 文件备份管理软件用作客户机
  • Android中定时执行任务的3种实现方法

    在Android开发中 定时执行任务的3种实现方法 一 采用Handler与线程的sleep long 方法 不建议使用 java的实现方式 二 采用Handler的postDelayed Runnable long 方法 最简单的andr
  • Python关于requests.exceptions.ProxyError异常的问题(已解决)

    前言 文章中间所提到的解决方案皆可一试 能解决大部分人的问题 只是我的问题比较离谱所以一开始没解决 正文 今天上午在爬取b站视频弹幕时 抛出了这样一个异常 requests exceptions ProxyError HTTPSConnec
  • 内存芯片解析

    常听人们说到 内存颗粒 其实这是港台地区对内存芯片的一种称呼 仅对内存 其他的芯片 港台则称为 晶片 两者的意思是一样的 至于大家怎么称呼 看个人习惯了 目录 1 内存芯片是什么 2 内存芯片的原理 3 内存芯片的结构 4 内存芯片的作用
  • 根据文件头信息来判断文件类型

    常用的判断文件类型的方法 有 根据文件类型 文件后缀 这里有一种方法 根据文件头信息来判断文件类型 我把多余的getAllFileType 给注释掉了 可以根据使用来选择 这个参考了 忘了地址了 import java awt image
  • 【论文笔记】:PP-YOLO、PP-YOLOv2、PP-YOLO Tiny

    Title PP YOLO An Effective and Efficient Implementation of Object Detector 2020 PP YOLOv2 A Practical Object Detector 20
  • 热门AI开源项目

    目录 DiffusionBee 免费使用Stable Diffusion生成AI绘画软件 开源免部署 Chat2DB 开源AI智能数据库客户端工具 能够将自然语言转换为SQL RoomGPT AI自动生成房间设计图 AI 法律助手 基于Ch
  • 【数模/预测】灰色预测

    声明 文章参考数学建模清风的网课编写 文章目录 简介 符号说明 适用条件 准指数规律检验 残差检验 级比偏差检验 GM 1 1 模型求解 简介 灰色预测是对既含有已知信息又含有不确定信息的系统进行预测 就是对在一定范围内变化的 与时间有关的
  • 前端面试题整理—Vue篇

    1 对vue的理解 有什么特点 vue为什么不能兼容IE8及以下浏览器 vue是一套用于构建用户界面的渐进式框架 核心是一个响应的数据绑定系统 vue是一款MVVM框架 基于双向绑定数据 当数据发生变化时候 vue自身会进行一些运算 特点
  • 老猿学5G扫盲贴:移动边缘计算(Mobile Edge Computing, MEC)

    版权声明 本文为CSDN博主 魏晓蕾 的原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接及本声明 原文链接 https blog csdn net gongxifacai believe article detai
  • win10系统解决HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容。解决方案!!

    全网付费课程欢迎咨询QQ 3388486286 今天IIS发布网站 给我报错HTTP 错误 403 14 Forbidden Web 服务器被配置为不列出此目录的内容 如图 是怎么回事呢 根据我自己找资料 摸索 找出了这个错误得解决方案 本
  • qt ui文件生成对应头文件_UI 文件设计与运行机制

    上一篇通过一个 Hello World 实例 演示了在 Qt Creator 里创建应用程序 设计窗体界面 编译和运行程序的基本过程 这一篇将介绍可视化设计的 UI 界面文件的原理和运行机制 本篇目录 1 项目文件组成 2 项目管理文件 3
  • 方差分析:不同组间的差异真的显著吗

    http www datasoldier net post chayi html 在数据分析中 按照具体维度将数据分组进行组间比较是十分常见的 例如在零售业态中 按照性别 城市 收入水平将消费者进行分组进行对比分析 看似简单 其实这其中经常
  • Android手机定位恶意代码,基于动态特征的Android恶意代码检测和定位方法

    Android Malicious Code Detection and Localization based on Runtime Feature Wang Songhe 1 王淞鹤 1994年 男 硕士 主要研究方向为安卓安全 Guo
  • ChromeDriver淘宝镜像地址

    https npm taobao org mirrors chromedriver
  • java队列中的offer、poll方法

    首先 这个方法所在的包是java util Queue 1 offer boolean offer E e 将指定的元素插入此队列 如果立即可行且不会违反容量限制 当使用有容量限制的队列时 此方法通常要优于 add E 后者可能无法插入元素
  • MySQL收费方式

    导读 网络上多数朋友担心甲骨文会对MySQL软件采用收费模式 多数朋友也不清楚MySQL开源到底是什么模式 开源 免费嘛 是很多的疑问 MySQL是遵守双重协议的 一个是GPL授权协议 一个是商用授权协议 注释 为解决其他企业用MySQL软