CockroachDB改用授权BSL取代Apache 2.0

向蟑螂生命力致敬的CockroachDB更改授权,从CockroachDB 19.2开始,将以宽松的商业原始码授权(Business Source License,BSL)取代原本的Apache 2.0(Apache License version 2),使用者仍然可以继续免费的使用CockroachDB,但是云端服务供货商日后便不能在没有购买许可授权的情况,以CockroachDB提供商业服务。不少云端供货商利用成功的开源项目,经重新包装后使其成为能获取暴利的专有服务商品,这样违反开源软件理念的例子一再发生,不少开源项目纷纷修改授权,以保护项目利益不受滥用。Redis Labs在去年的时候,修改为Redis开发的多个模块授权,开始采用以Commons Clause修改的Apache 2.0授权许可,限制现有云端服务供货商,不能再以单纯提供Redis Labs模块的Redis托管服务收费。

而Cockroach Labs修改授权的原因,就是要防止AWS分叉Elasticsearch项目事件重演。在今年3月的时候,Elasticsearch原厂批评AWS分叉Elasticsearch项目,以开放的名义推出自有版本,但其实全为私利。AWS指控原厂在开源的Elasticsearch项目中混杂私有程序代码,会造成贡献者混乱,而原厂则表示,他们一直以来就以可插拔和干净的实作方式建构项目,AWS是因为项目发展不如预期,才自行分叉Elasticsearch。Cockroach Labs提到,由于许多供货商,利用其特殊的地位,提供开源产品即服务,而为了维持开源和获利的平衡,他们决定将CockroachDB核心的授权从Apache 2.0更换成BSL。CockroachDB用户仍然可以在任意数量的节点扩展CockroachDB,或是在应用程序中嵌入CockroachDB,将应用程序交付给客户或是作为服务运作都可以,唯一禁止的就是提供数据库即服务(DBaaS)的商业版本。不过,也为了能继续建构CockroachDB的开源核心,BSL授权有时间限制,在每个版本发布后三年,授权许可会从BSL转换为标准的Apache 2.0,云端服务供货商此时就能够利用CockroachDB,创建商业数据库即服务,并保证其核心产品为单纯的开源状态。

Cockroach Labs解释,BSL是参数化的授权许可,项目可以依照需求加入不同的附加使用同意条件,CockroachDB的附加使用同意条件就是,只要不提供商业数据库即服务,要在多少节点使用CockroachDB都没关系,而发布版本三年之后即解除此限制,原始码恢复完全开源,且可用于任何目的。预计在2019年10月发布的CockroachDB 19.2,是第一个应用BSL授权的版本,而在这个授权之下,根据OSI的开源定义,尽管原始码仍然对外开发,但CockroachDB 19.2就已经不是开放原始码的项目,要一直到三年后2022年10月,CockroachDB 19.2包括其间的修补程序代码,才都会转为Apache 2.0。旧版本的CockroachDB不受新授权政策影响,19.1的其他小版本更新以及未来的修补程序,都仍为Apache 2.0授权。

转载于:https://my.oschina.net/u/3820994/blog/3059233

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CockroachDB (蟑螂数据库)是一个可伸缩的、支持地理位置处理、支持事务处理的数据存储系统,和谷歌的F1系统类似,支持分布式事务等特性。。CockroachDB 提供两种不同的的事务特性,包括快照隔离(snapshot isolation,简称SI)和顺序的快照隔离(SSI)语义,后者是默认的隔离级别。        为了保证在线的百万兆字节流量业务的质量,Google开发了Spanner系统,这是一个可扩展的,稳定的,支持事务的系统。许多参与开发CockroachDB的团队现在都服务于开源社区。就像真正的蟑螂(cockroach)一样,CockroachDB可以在没有数据头、任意节点失效的情况下正常运行。这个开源项目有很多富有经验的贡献者,创始人们通过社交媒体、Github、网络、会议和聚会结识他们并鼓励他们参与其中    蟑螂是一个分布式的K/V数据仓库,支持ACID事务,多版本值存储是其首要特性。主要的设计目标是全球一致性和可靠性,从蟑螂的命名上是就能看出这点。蟑螂数据库能处理磁盘、物理机器、机架甚至数据中心失效情况下最小延迟的服务中断;整个失效过程无需人工干预。蟑螂的节点是均衡的,其设计目标是同质部署(只有一个二进制包)且最小配置。    蟑螂数据库实现了单一的、巨大的有序映射,键和值都是字节串形式(不是unicode),支持线性扩展,理论上支持4EB的逻辑数据)。映射有一个或者多个Range组成,每一个Range对应一个把数据存储在RocksDB(LevelDB的一个变种,Facebook贡献)上的K/V数据库,并且复制到三个或者更多蟑螂服务器上,Range定义为有开始和结束键值的区间。Range可以合并及分裂来维持总大小在一个全局配置的最大最小范围之间。Range的大小默认是64M,目的是便于快速分裂和合并,在一个热点键值区间快速分配负载。Range的复制确定为分离的数据中心来达到可靠性(比如如下分组:{ US-East, US-West, Japan }, { Ireland, US-East, US-West}, { Ireland, US-East, US-West, Japan, Australia })    Range有一种变化,通过分布式一致性算法实例来调节确保一致性,蟑螂所选择使用Raft一致性算法。所有的一致性状态存在于RocksDB中。项目官网地址:http://www.cockroachdb.cn/ 标签:蟑螂数据库  国人开源

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值