开源云原生 SQL 数据库 CockroachDB 宣布修改开源协议,加入限制商业使用的条款。 情况与之前 MongoDB 因不满 AWS 等云厂商坐收渔翁之利而修改开源协议类似,Cockroach 官方表示,以往的开源软件与商业模式的结合规范是一家公司可以在没有大平台的情况下,围绕某个开源核心产品去构建其业务并以该产品提供服务(XX as a Service),然而现在的情况变了,一些大公司可以直接在业务中高度集成竞争对手的开源核心软件,并将其以服务的形式(XX as a Service)提供给用户。 为了回应这一类竞争对手,Cockroach 对核心源码的开源协议进行修改,从原本的 Apache-2.0 协议修改为 BSL(Bussiness Source License),该协议之下,CockroachDB 用户可以将 CockroachDB 扩展到任意数量的节点,可以使用 CockroachDB 或将其嵌入到他们的应用中,无论是将这些应用分发给客户还是将其作为服务运行,甚至还可以在内部将其作为服务运行。但是唯一不能做的是在没有取得授权的情况下以商业形式用 CockroachDB 提供数据库即服务(DBaaS)。
同时,BSL 还具有滚动时间限制,具体到 CockroachDB 中,其每一个版本在基于 BSL 发布三年后,License 将切换为标准定义的开源协议 Apache-2.0。这个举措一方面可以使 CockroachDB 官方维持一个有竞争力的 DBaaS,另一方面也保证了 CockroachDB 核心还是纯粹的开源项目。 BSL 是 MariaDB 公司的一个 License,它本质上是闭源和 Open Core 开源模式的“中间模式”,但也得到了 OSI 创始人 Bruce Perens 的认可。在 BSL 之下,源码始终是自由的,并且保证在某个时间点会变成“真的”开源(OSI 定义的开源),这个时间节点也就是前边提到的“滚动时间限制”,表现在 CockroachDB 中是版本发布三年。 BSL 中指定级别以下的使用总是完全自由的,超过指定级别的使用需要有商业授权,直到滚动时间限制到期,这时所有对项目的使用行为都是自由的。 CockroachDB 具体解释道:
关于 BSL 的详细信息,可以查看: |