本文转载自 SkyWalking中文站
此文章为《The Statement for SkyWalking users on HashiCorp license changes》中文翻译,所有内容以英文原版为准
2023年8月10日,HashiCorp 宣布将从 Mozilla 公共许可协议 v2.0 (MPL 2.0) 转为商业源代码许可 (BSL),这是他们的博客文章 。
他们正式宣布,他们的所有开源产品的许可已从以前的 MPL 2.0 改为源代码可查看的许可,即 BSL 1.1。
同时,HashiCorp 的 APIs,SDKs 和几乎所有其他库将继续使用 MPL 2.0。
HashiCorp Inc. 是云原生领域和 Golang 生态系统中最重要的供应商之一。这种变化可能对 SkyWalking 产生潜在的影响,因为 SkyWalking 与云原生技术栈紧密集成。
结论
- 这对 SkyWalking 用户意味着什么?
SkyWalking 社区已经评估了我们从 HashiCorp 产品和库中的依赖,当前的结论是
SkyWalking 用户不会受到任何影响。SkyWalking 的所有组件都没有对 BSL 许可受影响的代码的强依赖。
SkyWalking 社区已经查明了所有相关库的所有下列依赖,所有许可都真实地保持不变,且与 Apache 2.0 许可兼容。
- OAP Server @kezhenxu94 @wu-sheng
- consul-client Apache 2.0 Repo archived on Jul 27, 2023
- BanyanDB @hanahmily @lujiajing1126
- Server @hanahmily
- hashicorp/golang-lru MPL-2.0
- hashicorp/hcl MPL-2.0
- CLI @hanahmily No HashiCorp Dependency
- Server @hanahmily
- SkyWalking OAP CLI @kezhenxu94
- github.com/hashicorp/hcl v1.0.0 MPL-2.0
- All under swck as transitive dependencies
- SWCK @hanahmily
- hashicorp/consul/api MPL-2.0
- hashicorp/consul/sdk MPL-2.0
- hashicorp/errwrap MPL-2.0
- hashicorp/go-cleanhttp MPL-2.0
- hashicorp/go-immutable-radix MPL-2.0
- hashicorp/go-msgpack MIT
- hashicorp/go-multierror MPL-2.0
- hashicorp/go-rootcerts MPL-2.0
- hashicorp/go-sockaddr MPL-2.0
- hashicorp/go-syslog MIT
- hashicorp/go-uuid MPL-2.0
- hashicorp/go.net BSD-3
- hashicorp/golang-lru MPL-2.0
- hashicorp/hcl MPL-2.0
- hashicorp/logutils MPL-2.0
- hashicorp/mdns MIT
- hashicorp/memberlist MPL-2.0
- hashicorp/serf MPL-2.0
- Go agent @mrproliu
- hashicorp/consul/api MPL-2.0
- hashicorp/consul/sdk MPL-2.0
- hashicorp/errwrap MPL-2.0
- hashicorp/go-cleanhttp MPL-2.0
- hashicorp/go-hclog MIT
- hashicorp/go-immutable-radix MPL-2.0
- hashicorp/go-kms-wrapping/entropy MPL-2.0
- hashicorp/go-kms-wrapping/entropy/v2 MPL-2.0
- hashicorp/go-msgpack MIT
- hashicorp/go-multierror MPL-2.0
- hashicorp/go-plugin MPL-2.0
- hashicorp/go-retryablehttp MPL-2.0
- hashicorp/go-rootcerts MPL-2.0
- hashicorp/go-secure-stdlib/base62 MPL-2.0
- hashicorp/go-secure-stdlib/mlock MPL-2.0
- hashicorp/go-secure-stdlib/parseutil MPL-2.0
- hashicorp/go-secure-stdlib/password MPL-2.0
- hashicorp/go-secure-stdlib/tlsutil MPL-2.0
- hashicorp/go-sockaddr MPL-2.0
- hashicorp/go-syslog MIT
- hashicorp/go-uuid MPL-2.0
- hashicorp/go-version MPL-2.0
- hashicorp/go.net BSD-3-Clause
- hashicorp/golang-lru MPL-2.0
- hashicorp/logutils MPL-2.0
- hashicorp/mdns MIT
- hashicorp/memberlist MPL-2.0
- hashicorp/serf MPL-2.0
- hashicorp/vault/api MPL-2.0
- hashicorp/vault/sdk MPL-2.0
- hashicorp/yamux MPL-2.0
- SkyWalking eyes @kezhenxu94
- none
- SkyWalking Infra e2e @kezhenxu94
- all under swck as transitive dependencies
- SkyWalking rover(ebpf agent) @mrproliu
- hashicorp/consul/api MPL-2.0
- hashicorp/consul/sdk MPL-2.0
- hashicorp/errwrap MPL-2.0
- hashicorp/go-cleanhttp MPL-2.0
- hashicorp/go-hclog MIT
- hashicorp/go-immutable-radix MPL-2.0
- hashicorp/go-msgpack MIT
- hashicorp/go-multierror MPL-2.0
- hashicorp/go-retryablehttp MPL-2.0
- hashicorp/go-rootcerts MPL-2.0
- hashicorp/go-sockaddr MPL-2.0
- hashicorp/go-syslog MIT
- hashicorp/go-uuid MPL-2.0
- hashicorp/golang-lru MPL-2.0
- hashicorp/hcl MPL-2.0
- hashicorp/logutils MPL-2.0
- hashicorp/mdns MIT
- hashicorp/memberlist MPL-2.0
- hashicorp/serf MPL-2.0
- SkyWalking satellite @mrproliu
- hashicorp/consul/api MPL-2.0
- hashicorp/consul/sdk MPL-2.0
- hashicorp/errwrap MPL-2.0
- hashicorp/go-cleanhttp MPL-2.0
- hashicorp/go-immutable-radix MPL-2.0
- hashicorp/go-msgpack MIT
- hashicorp/go-multierror MPL-2.0
- hashicorp/go-rootcerts MPL-2.0
- hashicorp/go-sockaddr MPL-2.0
- hashicorp/go-syslog MIT
- hashicorp/go-uuid MPL-2.0
- hashicorp/go.net BSD-3-Clause
- hashicorp/golang-lru MPL-2.0
- hashicorp/hcl MPL-2.0
- hashicorp/logutils MPL-2.0
- hashicorp/mdns MIT
- hashicorp/memberlist MPL-2.0
- hashicorp/serf MPL-2.0
- SkyWalking Terraform (scripts) @kezhenxu94
- No HashiCorp Dependency
- The scripts for Terraform users only. No hard requirement.
上面列出的GitHub ID为检查次依赖库的PMC成员
FAQ
如果我正在使用 Consul 来管理 SkyWalking 集群或配置,这种许可证变更会带来影响吗?
是的,任何使用其服务器端的人在 2023 年 8 月 10 日之后升级到更高版本时都会受到影响。
这是 HashiCorp 的声明
终端用户可以继续复制,修改和重新分发代码,用于所有非商业和商业用途,除非提供与 HashiCorp 竞争的产品。合作伙伴可以继续为我们的共享客户构建集成。我们将继续与云服务供应商紧密合作,以确保我们共享技术的深度支持。企业和云托管 HashiCorp 产品的客户将不会看到任何变化。
提供与我们社区产品构建的竞争服务的供应商将无法继续整合我们产品的未来发布版、错误修复或安全补丁。
所以,请注意,关于是否违反 BSL 1.1 的影响是由 HashiCorp Inc 根据确定的竞争关系状态来决定的。我们不能提供任何建议。
请参考 常见问题解答和联系方式 以获取官方解释。
SkyWalking 是否会继续使用 HashiCorp Consul 作为可选的集群协调器和/或可选的动态配置服务器?
短期内,是的,我们将保持那部分代码,因为 SDK 和 APIs 的许可仍然是 MPL 2.0。
但是,在评估过程中,我们注意到我们正在使用的 consul 客户端是 rickfast/consul-client,该客户端在 2023 年 7 月 27 日被所有者归档。所以,我们面临没有维护和无法升级版本的问题。
如果没有新的 consul Java 客户端库可用,我们可能必须删除此项以避免 CVE 或与新发布的服务器版本不兼容。