运维123 - 商业开源
type: channel
link: https://www.sddts.cn/index.php/tag/%E5%95%86%E4%B8%9A%E5%BC%80%E6%BA%90/
items: 商业源码协议为何得到 HashiCorp 等企业的垂青

商业源码协议为何得到 HashiCorp 等企业的垂青
type: item
date: 2026-01-19T06:25:42+00:00
description: 商业源码协议为何得到 HashiCorp 等企业的垂青一、事件概述1. 新闻背景当地时间 2023 年 8 月 10 日，知名开源软件公司 HashiCorp 发布公告，宣布其原先在 Mozilla Public License 2.0 协议下发布的 Terraform、Consul 和 Vault 等多款软件，将在未来的版本中改为使用商业源码协议（Business Source License 1.1）来发布。2. 核心内容商业源码协议（Business Source License，简称 BSL 或 BuSL）是由 MariaDB 公司创建的一种带有商业保护条款的源码公开协议。该协议当前版本为 1.1，在 Linux 基金会的 SPDX 标准中以 BUSL-1.1 作为标识符。3. 涉及企业除 HashiCorp 外，还有多家知名企业采用了商业源码协议：MariaDB 公司的 MaxScale 数据库代理CockroachLabs 公司的 CockroachDB 数据库Lightbend 公司的 Akka 框架Materialize 公司的 Materialize 流数据库Outline 公司的 Outline 知识库二、商业源码协议详解1. 协议特点BuSL 1.1 协议在实际使用时具有以下两个核心特点：A. 生产环境使用限制协议授权接收方复制、修改、衍生和重新分发被许可软件的权利，但只能在非生产环境下使用该软件。许可方可在附加使用条款中允许其他受限的生产环境使用条款。由于 BuSL 1.1 不授权接收方使用不同协议分发的权利，因此生产环境使用的限制将传递到所有直接或间接的下游。B. 时间限制与协议变更协议约定一个不超过四年的期限。在该期限过后，接收方将获得许可方指定的变更协议授予的权限，同时生产环境使用限制条款终止。变更协议必须与 GPL 2.0 或更高版本兼容。2. 与开源协议的区别BuSL 1.1 协议并非开源协议，因为它限制生产环境的使用，这不符合开源定义中的第六条"不得歧视特定领域的使用"。BuSL 1.1 在协议文本说明中也直接说明了这一点。3. 协议模板性质与同类型的 Elastic License 2.0（ELv2）协议相比，BuSL 1.1 更像一个协议模板。使用时需要决定：是否约定一个小于四年的协议变更期限是否在附加使用条款中允许客户在其他特定生产环境使用三、商业源码协议应用案例分析1. MaxScale（MariaDB）作为协议诞生之地，MaxScale 约定了最长的四年变更期限，并以 GPL 2.0 or later 作为变更协议。生产环境使用条款：You may use the Licensed Work when your application uses the Licensed Work with a total of less than three server instances in production.分析：允许单个应用部署不超过三个节点，限制了大规模集群场景，允许个人用户和小企业使用，促使需要维护大集群的更有实力付费的用户购买商业许可。2. CockroachDB（CockroachLabs）CockroachLabs 起初使用 Apache License 2.0（ALv2），后续开发了 CockroachDB Community License Agreement 来发布高级功能，几年后发现仍无法达成商业目标，最终将核心部分改用 BuSL 1.1 协议。配置：变更期限：三年半变更协议：ALv2生产环境使用条款：You may make use of the Licensed Work, provided that you may not use the Licensed Work for a Database Service.分析：不限制一般意义上的集群使用，仅限制下游使用 CockroachDB 提供数据库服务。这属于禁止竞争条款，因为 CockroachLabs 本身以提供数据库服务盈利。3. RedpandaRedpanda 全面复刻了 CockroachLabs 的策略：创建自己的 Community License Agreement，同时使用 BuSL 1.1 许可核心代码。配置：变更期限：四年变更协议：ALv2生产环境使用条款：You may make use of the Licensed Work, provided that you may not use the Licensed Work for a Streaming or Queuing Service.分析：限制与 CockroachDB 类似，允许用户内部使用，但禁止向外部用户提供消息队列功能…