写点什么

不再是开源产品,分布式数据库 CockroachDB 修改代码授权协议

2019 年 6 月 06 日

不再是开源产品,分布式数据库CockroachDB修改代码授权协议

2019 年 6 月 4 日,CockroachDB 官方博客更新了一篇名为《Why We’re Relicensing CockroachDB》的文章,文中指出:CockroachDB 核心代码的授权协议将从 Apache License version 2 (APL)变更为 Business Source License(BSL)。


CockroachDB 是一款分布式数据库,其思路源自 Google 的全球性分布式数据库 Spanner。CockroachDB 既具有 NoSQL 对海量数据的存储管理能力,又保持了传统数据库支持的 ACID 和 SQL 等,还支持跨地域、去中心、高并发、多副本强一致和高可用等特性。支持 OLTP 场景,同时支持轻量级 OLAP 场景。


CockroachDB 修改开源协议

据 CockroachDB 官方博客称,CockroachDB 的核心代码授权协议将采用 BSL,用户可以将 CockroachDB 扩展到任意数量的节点,可以随意使用 CockroachDB,也可以将其嵌入到应用程序中(无论是将这些应用程序发送给客户,还是将其作为服务运行),甚至可以在内部将 CockroachDB 作为服务运行。唯一不能做的事情是,在没有购买许可证的情况下,提供商业版 CockroachDB 作为服务。


但好消息是该限制并不是无限期的,而是有失效性的:CockroachDB 每个版本在发布三年之后,许可证将转换为 APL。CockroachDB 官方表示,之所以会设置时间限制的再许可,主要有两个目的,一是想要创建一个具有竞争力的数据库即服务(DBaaS),二是为了保证核心产品是纯粹的开源产品。


更改协议的原因

从首次出现在 GitHub 上,CockroachDB 一直走的是比较典型的开源路线,即核心代码保存在 Apache 2.0 许可证之下,启动了托管服务,并根据企业许可证为已建立的公司提供一些功能。为什么突然就转变路线,想要变更协议呢?


变更协议的主要原因是 CockroachDB 团队对于开源商业模式有了重新的认识,之前他们认为公司可以基于强大的开源产品来建立业务,并不需要其它更大的技术平台,提供相同的产品即服务。现在,他们发现现行法律允许竞争对手提供其它公司的 OSS 产品即服务,而这一举动伤害到了原本的开源产品。


前段时间,AWS 推出的 Elasticsearch 开源发行版就是一个典型案例,该 Elasticsearch 发行版不仅可以作为免费软件来使用,同时还将提供 Elastic 只向付费客户提供的高级功能,例如传输加密、用户身份验证、详细审计、基于角色的细粒度访问控制、事件监控和警报、深度性能分析和 SQL 支持等。


在博客中,CockroachDB 团队表示这次软件许可条款的更改就是为了回应这一类竞争对手。事实上,开源软件和云厂商的矛盾早已存在,之前 Redis Labs、Confluent 和 MongoDB 等公司先后修改了开源协议,并明确表示修改的原因是阻止像 AWS 这样的大型云服务提供商将其开源软件作为一项服务来接受和销售。


在这场交锋中,双方都在朝着更加“利己”的方向改变策略,例如越来越多的开源产品转向更强势的许可方式,而云厂商针对新的许可方式也有自己的应对方法,例如自研兼容开源产品的相关产品、推出相应的增强开源发行版等等。


关于 BSL 协议

CockroachDB 更改为的 BSL 协议到底是什么?BSL 全称是 Business Source License,它不是一个开源协议,用户虽然可以拿到源代码,但是使用时会受限。使用 BSL 协议的软件在发布的最多 4 年之后(开发者可在协议中自定义开源时间)会将协议变更为开源协议,也就是说,使用 BSL 协议的软件,最终都会变成开源软件。


BSL 协议是在经历了 MySQL 被收购之后,MariaDB 公司新定义的一种协议,是开源软件与商业公司对抗的一次新的探索。它介于开源和闭源之间,在非生产环境中,BSL 协议的软件可以不受限制的使用,如果用于商业目的,那么会有所限制。


协议变更后的 CockroachDB

BSL 许可证应用于 CockroachDB 的核心版本(即目前在 Apache 2.0 许可证下的代码),这意味着 CockroachDB 核心不再开源,但完整的源码仍然可用,除了构建 DBaaS 之外,也允许用于其它商业用途。对于绝大多数用户来说,CockroachDB 仍然可被自由使用,而且三年之后就又变成无任何附加条件的开源产品。


CockroachDB 数据库从 19.2 版本开始重新授权,企业功能继续沿用 Cockroach Community License (CCL),使用企业功能需要与 Cockroach Labs 签订许可协议,并且此许可证在三年之后不会转换为开源。而之前的版本不受此许可证更改的影响,即 CockroacheDB 19.1 仍使用 APL,19.1.x 系列中当前和将来的所有补丁版本也将使用 APL。


具体来说,CockroachDB 19.2(暂定 2019 年 10 月)是使用新许可方案的第一个版本,它包括在 BSL 和 CCL 许可下的代码。2022 年 10 月(发布三年后),CockroachDB 19.2 中 BSL 下的部分代码将转换为 APL,补丁版本也会随之转变为 APL。其它版本的协议转换时间以此类推,例如 CockroachDB 20.1 计划在 2020 年 4 月发布,于 2023 年 4 月成为开源软件。



开源和商业的关系绝不是简单的对立:没有开源的基础技术是没有生命力,很难被广泛应用;而商业体现了开源项目的价值,也反向推动了开源项目的发展和生态的建立。所以,开源项目如何在开源和商业找到一个平衡点,是很多开源团队在思考的问题,希望 CockroachDB 团队的尝试能够给大家更多启发。


相关文章:


敲山震虎?继 MongoDB 之后,AWS 又对 Elasticsearch 下手了


玩大了,开源协议修改引发 MongoDB“大动荡”?


Kafka 团队修改 KSQL 开源许可,怒怼云厂商


AWS 回击了:推出兼容 MongoDB 的 DocumentDB


2019 年 6 月 06 日 07:008305
用户头像
田晓旭 InfoQ 编辑

发布了 471 篇内容, 共 214.0 次阅读, 收获喜欢 1457 次。

关注

评论

发布
暂无评论
发现更多内容

Serverless 架构到底要不要服务器?

Serverless Devs

Java 云计算 Serverless 运维 云原生

组织部干部信息管理系统开发方案,智慧党建平台建设

WX13823153201

智慧党建平台建设

在函数计算中到底该不该使用 VPC?

donghui

Serverless

避免短信接口被黑客刷取的方法

香芋味的猫丶

短信防刷 接口安全 短信验证码 短信防轰炸 短信防火墙

流行的后台管理系统模板总结

老魚

程序员 建站 web全栈

解决Windows2012 R2下安装PostgreSQL报错的问题

PostgreSQLChina

数据库 postgresql 开源

干货来袭!拼多多首推全新微服务进阶指南(全彩版)简直不要太香

程序员小毕

Java 架构 微服务 springboot SpringCloud

红牛交易所app系统开发

威掂l8929545452

区块链 系统开发 APP开发 红牛交易所

即构微信小程序直播组件是什么?有哪些功能?哪些小程序类目可以使用?

ZEGO即构

Linux网络之 从 C10K 到 DPDK

赖猫

c++ Linux linux编程 C10K DPDK

开发老人笔记:Git 常用命令清单

华为云开发者社区

git 代码 bug

比特币矿机工作原理

v16629866266

比特币 比特币区块链

如何利用策略模式避免冗长的if-else/switch分支判断代码?

码农架构

Java 学习 设计模式

53w字!阿里首推系统性能优化指南太香了,堪称性能优化最优解

程序员小毕

Java 架构 性能优化 JVM 代码优化

Redis 学习笔记 03:字典

架构精进之路

redis 七日更 28天写作

OpenYurt v0.3.0 重磅发布:全面提升边缘场景下应用部署效率

阿里巴巴云原生

阿里巴巴 容器 云原生 k8s 开源项目

百度智能小程序打造购票观影一站式体验,影视宣发新玩法助力行业复苏

DT极客

Java Optimizing 读书笔记(一)

绝影-大数据

百度研究院的追星逐浪,中国科技的奋发自强

脑极体

量化策略交易软件开发|量化策略交易系统APP开发

开發I852946OIIO

系统开发

高并发架构---TCP

赖猫

TCP 后端 高并发 TCP/IP 服务器开发

区块链轻节点:“身”轻,责任重

华为云开发者社区

区块链 数据 数据隐私 轻节点

TypeScript 渐进迁移指南

LeanCloud

JavaScript typescript nodejs

为什么说“5G是第四次工业革命”,到底有哪些推动和影响?

一只数据鲸鱼

5G 物联网 数据可视化 工业物联网

数据库表数据量大读写缓慢如何优化(2)「查询分离」

我爱娃哈哈😍

数据库 大数据 架构 后端 优化

BI项目失败?看看是不是缺少了这几项闭环!

博文视点Broadview

Intel首次公布11代酷睿桌面处理器性能:8核i9斩落锐龙12核

科技新消息

自动驾驶汽车的发展史

anyRTC开发者

人工智能 自动驾驶 AI

量化交易系统开发

威掂l8929545452

区块链 系统开发 量化交易系统 交易所

开发更便捷 阿里云推出一站式应用研发平台EMAS 2.0

应用研发平台EMAS

阿里云 Serverless AI 低代码 移动研发平台

【HTML】已经废弃的align(图像对齐方式)

学习委员

html html5 Web html/css 28天写作

4月17日 HarmonyOS 开发者日·上海站

4月17日 HarmonyOS 开发者日·上海站

不再是开源产品,分布式数据库CockroachDB修改代码授权协议-InfoQ