当前位置:C++技术网 > 资讯 > [MySQL] MySQL数据库社区版是否免费和使用问题

[MySQL] MySQL数据库社区版是否免费和使用问题

更新时间:2017-04-28 15:43:14浏览次数:1+次

    1.MySQL数据库社区版是否完全免费?

    经过网络查询:

    MySQL数据库社区版是GPL协议。

    有部分网友认为不是完全免费。

    1-1:

    属于免费。

    1-2:

    不是免费,违反协议。


    本人是法盲,不知道以上网友所说的是否属实?


    2.MySQL的最新使用方法不是很能理解,希望C++技术网能指引一下学习方法。

    3.小疑问,不知道至今免费的数据库还有哪些,能够适合中小型企业就好,最好能附带使用方法。


    最后感谢C++技术网的回答。


C++技术网会员解答:

    您好,感谢您对C++技术网的信任与支持。不妨将解答分享给朋友们哦。

第一个问题:

    先来看看GPL协议的说明:


    在自由软件所使用的各种许可证之中,最为人们注意的也许是通用性公开许可证(General Public License,简称GPL)。
    GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。
    GPL还规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的 整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制。因此,一项遵循GPL流通 的程序不能同非自由的软件合并。GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左”。

GPL协议最主要的几个原则:
1、确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。任何一套软 件,只要其中使用了受 GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受 GPL 保护并且约束的实体。也就是说,此时它必须开放源代码。
2、GPL 大致就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。你可以去掉所有原作的版权 信息,只要你保持开源,并且随源代码、二进制版附上 GPL 的许可证就行,让后人可以很明确地得知此软件的授权信息。GPL 精髓就是,只要使软件在完整开源 的情况下,尽可能使使用者得到自由发挥的空间,使软件得到更快更好的发展。
3、无论软件以何种形式发布,都必须同时附上源代码。例如在 Web 上提供下载,就必须在二进制版本(如果有的话)下载的同一个页面,清楚地提供源代码下载的链接。如果以光盘形式发布,就必须同时附上源文件的光盘。
4、开发或维护遵循 GPL 协议开发的软件的公司或个人,可以对使用者收取一定的服务费用。但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售。


    GPL协议是用于确保开源的代码不被其他商业公司拿去赚钱,否则开发者就相当于替这些公司打工了。为了开源代码好的发展,使用GPL协议,让源码对外开源,大家都可以免费使用它,而不是作为某个公司盈利的东西。

    所以,如果我们作为一个公司,如果想使用GPL开源代码是没有问题的。但是要注意使用方法。我们最基本要做到,不要直接将开源代码(软件)简单包装,然后卖给用户使用来收费。因为协议规定,使用代码的代码,相当于直接基于这个代码的软件是必须免费开源的。如果免费开源,你也就无法收费。

    GPL主要是限制代码的免费开源发布。如果你的软件跟GPL软件以对等的地位存在,而不是直接基于GPL软件,那么你的软件不属于GPL的范围。当然,包装GPL的部分需要开源。对于这类使用GPL的软件,你不能对包含GPL协议的部分进行收费,但是你可以对不包含GPL协议的部分进行收费,或者收服务费。图1-1就属于收取服务费。你提供的客户端、存储服务都是经过自己的开发的,只是最基础的存储使用了GPL的数据库而已。那么你可以将数据库这部分含GPL协议的代码开源,其他部分依然是可以收费的。图1-2属于建立在GPL协议软件上的软件,需要开源免费。不过如果你使用RPC或者DLL方式包装GPL软件代码,被包装的部分需要免费开源,但是其他部分调用的,理应就不属于GPL的范畴了。最后一句,不能变相捆绑销售,应该可以理解为不要去销售GPL软件本身,你可以将GPL携带着,但是GPL部分不能收费。与GPL无关的部分是可以收费的。

    RedHat系统基于Linux系统,也是遵守GPL协议的。系统本身是开源免费的,但是在上面的软件是定制开发的,调用了系统的API,但是属于非GPL保护的范畴了,可以收费。只是不能对系统本身进行收费行为。

第二个问题:

    MySQL使用方法最好的文档就是对应的文档了。不过最通用的还是SQL语言,各种数据库都一样。如果MySQL最新加入什么特性的话,我们不做相关的开发,也不得而知。不管是MySQL还是MSSQLSERVER还是Oracle,学好SQL语言就可以了。如果再是具体的数据库,看具体数据库的帮助文档,了解各个数据具体对SQL支持的程度和差异即可。这些差异也因数据库版本不同而不同,可能低版本不支持的特性,新版本就支持了。这个需要在使用过程中查询官方文档,别无他法。

第三个问题:

    要说免费数据库,现在应该是MariaDB了。下面是MariaDB的介绍:

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
    MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存储引擎。
    MariaDB发展自MySQL,操作也都一样,是MySQL的替代品,可以尝试使用,使用方法和mysql差不多。

    SQL SERVER Express/ORACLE Express/DB2 Express都是免费版,限制大约都是1 Core/1G RAM/10G HDD

    PostgreSQL和MongoDB也都可以免费商用。

    使用方法就看官网的使用文档了,也可以搜索其他人使用的方法,网上资料会比较多。