为什么开源数据库改变许可证?

标签: Developer | 发表时间:2019-06-25 14:36 | 作者:
出处:http://www.ruanyifeng.com/blog/

CockroachDB 是一个开源的分布式数据库,最近 改变了代码授权,放弃了 Apache 许可证。

许多开源数据库这一两年都改变了授权,比如 ConfluentElasticMongoDBRedis LabsTimescaleDB。本文分析这种现象。

一、CockroachDB 的许可证变更

CockroachDB 以前的许可证是 Apache, 代码托管在 GitHub,任何人都可以访问。

现在的许可证改成了"商业源码许可证"(Business Source License,缩写 BSL)。

这段文字的意思是,三年以后的2022年10月1日,这些代码将变为 Apache 许可证,在此之前都属于商业源码许可证。多少人想用三年前的代码?因此,它实际上用 BSL 许可证取代了 Apache 许可证。

二、商业源码许可证的特点

BSL 许可证是 MariaDB 发明的,最大的特点有两个。

一是非商业性使用没有限制,商业性使用有限制。

二是许可证是模块化的,可以附加自己的条件(Additional Use Grant)。

比如,MariaDB 附加的条件是,一个项目最多只能使用两个数据库服务器实例,超过就要付费。

CockroachDB 附加的条件是,对外提供商业性的数据库服务需要付费。

简单说,商业源码许可证就是一种限制了云服务的开源许可证。

三、问题的由来

目前,许多开源数据库对云服务都有限制。这完全是由 Amazon 的 aws 云服务引起的。

aws 一直提供数据库服务,2009年推出 RDS MySQL 服务,2013年推出 PostgreSQL 服务,2015年推出 Amazon Elasticsearch 服务。大量企业购买这些服务,使得收入都向 Amazon 集中,它的 Elasticsearch 一个服务的收入已经高于原始开发商 Elastic 的所有收入。

这就相当于,开源开发者在为 Amazon 免费打工,为它创造利润。Elastic 当然很不爽,推出了付费版本。结果,Amazon 一不做二不休,把开源分支分叉了,自己把 Elastic 的所有收费功能写出来了。也就是说,Amazon 不仅拿走了利润,还创造出了一个竞争性产品。类似的情况还有,Azure 提供 MongoDB 兼容的 CosmosDB 服务。

其他开源数据库看到这种局面,都感到了云服务商的威胁,所以纷纷改变授权模式。

这里的根本问题是,云服务的出现改变了开源软件的生态。以前,开源软件有众多的使用者,会形成一个社区,从社区得到反馈和支持。现在,企业级开源软件很可能都有云服务,导致企业客户都流向了云服务商,软件自身形成不了社区,云服务商反过来会对软件产生巨大影响,许可证的变更只是抵抗云服务商的一种策略。

四、对策

目前,有三种变更许可证的策略。

第一种是采用 AGPL 许可证,任何对软件的修改(包括提供服务)都必须开源。这种策略的好处是防止云服务商对软件进行内部修改,坏处是不够灵活,可能打击企业采用该软件的积极性。

第二种是产品分层策略,同时提供免费的社区版和收费的企业版。这种策略可以保证收入,但是问题是,有些高级功能只在企业版提供,不利于软件的开源。

第三种就是 CockroachDB 的策略,软件依然开源,但是提供服务必须付费。我觉得,目前来看这种策略在开源和收费之间达到平衡,比较理想。

五、参考链接

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名( 创意共享3.0许可证
  • 发表日期: 2019年6月25日

相关 [开源 数据库 改变] 推荐:

为什么开源数据库改变许可证?

- - 阮一峰的网络日志
CockroachDB 是一个开源的分布式数据库,最近 改变了代码授权,放弃了 Apache 许可证. 许多开源数据库这一两年都改变了授权,比如 Confluent、 Elastic 、 MongoDB、 Redis Labs、 TimescaleDB. 一、CockroachDB 的许可证变更.

Facebook开源闪存数据库RocksDB

- - IT经理网
本周四Facebook宣布开源其嵌入式数据库 RocksDB(一种嵌入式Key-value存储系统),该数据库能够充分利用闪存的性能,大大提升应用服务器的速度. Facebook用RocksDB来驱动一些面向用户的应用,这些应用由于需要通过网络访问外部存储而性能低下,此外Facebook还用RocksDB来解决固态硬盘IO利用率不高相关的一些问题.

开源地理位置数据库:tile38

- - 标点符
Tile38是地理定位数据存储,空间索引和实时地理围栏. 它支持多种对象类型,包括纬度/经度点,边界框,XYZ平铺,Geohashes和GeoJSON. 地理空间索引,支持类似附近、包含、相交... 通过 webhooks或 pub/sub channels实现实时地理围栏. 支持多种对象: lat/lon,  bbox,  Geohash,  GeoJSON,  QuadKey, and  XYZ tile..

开源网站分析软件Piwik的数据库表结构

- sun - 标点符
Piwik是一套基于Php+MySQL技术构建,能够与Google Analytics相媲美的开源网站访问统计系统,前身是phpMyVisites. Piwik可以给你详细的统计信息,比如网页浏览人数, 访问最多的页面, 搜索引擎关键词等等,并且采用了大量的AJAX/Flash技术,使得在操作上更加便易.

年度技术回顾之数据库、NoSQL、开源软件

- kezhuw - DBA Notes
本文已经首发于InfoQ中文站,版权所有,原文为年度技术回顾之数据库、NoSQL、开源软件,如需转载,请务必附带本声明,谢谢. InfoQ中文站是一个面向中高端技术人员的在线独立社区,为Java、.NET、 Ruby、SOA、敏捷、架构等领域提供及时而有深度的资讯、高端技术大会如QCon、免费迷你书下载如《架构师》等.

开源网站分析软件Piwik的数据库表结构

- Michael - IT技术博客大学习
标签:  Piwik  表结构.     Piwik是一套基于Php+MySQL技术构建,能够与Google Analytics相媲美的开源网站访问统计系统,前身是phpMyVisites. Piwik可以给你详细的统计信息,比如网页浏览人数, 访问最多的页面, 搜索引擎关键词等等,并且采用了大量的AJAX/Flash技术,使得在操作上更加便易.

淘宝自主研发的海量数据库OceanBase开源

- beralee - cnBeta.COM
OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务,由淘宝核心系统研发部、运维、DBA、广告、应用研发等部门共同完成. 在设计和实现OceanBase的时候暂时摒弃了不紧急的DBMS的功能,例如临时表,视图(view),研发团队把有限的资源集中到关键点上,当前 OceanBase主要解决数据更新一致性、高性能的跨表读事务、范围查询、join、数据全量及增量dump、批量数据导入.

35个非主流开源数据库(1)

- - inJava
几乎每个Web开发人员都有自己喜欢的数据库,或自己最熟悉的数据库,但最常见的无外乎以下几种:.    或是更简单的XML,文本文件等. 这些数据库有优秀的文档,背后有强大的社区支持,大部分流行的CMS都使用了其中之一或多个,它们都易于使用,大多数 托管服务供应商都提供了相应的产品,因此它们的使用量很多,名气也很大.

11个面向文档的开源NoSQL数据库

- - CSDN博客数据库推荐文章
面向文档的数据库主要设计用来存储、获取以及管理基于文档的或者叫半结构化的数据,也属于 NoSQL 数据库的一种类别. 数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的,数据可以使用 JSON、XML 等多种格式存储. MongoDB是一个介于关系数据库和非关系数据库之间的产品, 是非关系数据库当中功能最丰富、最像关系数据库的.

走进Affinity:VMware开源数据库Affinity介绍

- - NoSQLFan
本文由 VMware中国研发的工程师林文(@ 傍槐闲士)提供,林文目前从事 affinity数据库的相关工作. 本文是一篇affinity的背景及特性介绍文章,后续林文的affinity系列文章还会在NoSQLFan陆续发布,对affinity感兴趣的同学可以多关注. 原文地址: http://blog.csdn.net/woody107/article/details/7348690.