6 月 19 日,SegmentFault 思否就“博云违反 Apache 2.0 开源协议被要求整改”一事作出报道(相关阅读),希望借此事能够引起开发者对于开源协议的重视。
事后,博云市场部与 SegmentFault 思否技术编辑联系,我们了解到博云并非恶意隐瞒使用 Apache SkyWalking,内部对这一事件也高度重视,已第一时间与 Apache 基金会取得联系、道歉并进行整改。
SegmentFault 思否团队认可博云实事求是的态度,和第一时间做出整改的行动,我们愿意配合博云团队发布针对本次事件的官方声明。也希望这一事件可以给社区开发者带来启示。
以下为《博云积极与 Apache SkyWalking 项目合作的声明》全文
Apache SkyWalking 由国内开源爱好者吴晟先生开源(原始地址:https://github.com/wu-sheng/s...),经过国内社区的发展,Apache 孵化,目前是 Apache 软件基金会顶级项目,项目支持多语言探针和 Service Mesh,目前已获得众多用户的认可和使用。
近日,博云 PaaS 技术中台的微服务治理平台产品 BeyondMicroService 发布了最新版本的更新,该产品在“监控中心/应用拓扑”功能上选用了 Apache SkyWalking 技术,并进行了增强开发。
经与 Apache SkyWalking 项目核心团队沟通确认,博云 BeyondMicroService 已遵循 Apache 2.0 LICENSE 的相关规定,得到了社区的认可,当前博云已经出现在 Apache SkyWalking 官方 github 的用户墙上。博云与 Apache SkyWalking 项目组核心成员达成了共同合作提升 Apache SkyWalking 项目影响力的意向,后续将探讨进一步的拓展计划。
(图1:博云已加入Apache SkyWalking官方名单)
博云作为一家软件公司一向十分重视知识产权保护,拥护开源软件行业,支持各个开源项目,并积极将自己的知识、经验反馈给包括 Kubernetes、Isito 等开源社区,截止到今天,在 CNCF 下的 Kubernetes 社区,博云的贡献度排名位列全球第 12 位(数据来源:https://www.stackalytics.com/...)。
由于宣传工作失误,我公司于 6 月 17 日晚间发布的微信宣传稿“从资源到应用的全方位监控能力,博云 PaaS 推出最新增强版”中,未能在相关位置显著标明 Apache SkyWalking,以及公司网站上一段短视频未能显著标注使用了 Apache SkyWalking 的情况。以上问题已于当晚立即得到改正。此外,我公司借此机会立即布置了对遵循开源软件合规问题的检查、整改工作。
在 Apache SkyWalking 开源组件的使用方面,经初步检查,在我公司的产品中,凡是使用到 Apache SkyWalking 开源技术的,我公司自始遵循了 Apache 2.0 LICENSE 的要求,在产品代码中明确包含了 LICENSE 信息;我公司在商业营销过程中,从未隐瞒使用 Apache SkyWalking 开源技术的情况,并且向客户明确说明了使用 Apache SkyWalking 开源技术的情况。
以上情况,我公司已于 6 月 18 日当晚书面回函 Apache SkyWalking 项目组吴晟先生,并通过微信与 Apache SkyWalking 项目组的核心人员进行了友好的沟通,取得了 Apache SkyWalking 项目组成员的谅解与认可。Apache SkyWalking 项目组成员表示欢迎和期待与博云一起推广 Apache SkyWalking。
那么,博云用 Apache SkyWalking 做了什么呢?
BoCloud 博云是国内领先的 PaaS 技术中台即应用管理平台提供商,在微服务、云原生和面向容器的分布式系统等方面拥有大量企业客户。
博云的 PaaS 技术中台 BeyondPaaS 是一款包含弹性容器云,微服务治理,DevOps 等组件的一体化、应用全生命周期管理平台产品。其中博云的微服务治理产品 BeyondMicroService 在“监控中心”中选择了基于 Apache SkyWalking 开源技术来进行“应用拓扑”功能的实现。Apache SkyWalking 支持多种插件,UI 功能较强,接入端无代码侵入,是目前应用性能监控(APM)领域功能很强的开源项目之一。
在使用 Apache SkyWalking 过程中,由于技术和业务的需要,BeyondMicroService 增加了许多实际落地的功能:
- 我们在 Apache SkyWalking 之上增加了告警规则配置的实时生效,增加了告警规则指标,以及业务组织能力;
- 在微服务治理平台中,我们使用租户、应用,对服务做业务的隔离和分组,为方便业务的展示,我们将租户和应用的概念通过标签注入 Apache SkyWalking,以便于服务治理平台的展示;
- 我们通过研发响应插件,加强了对于 SpringCloudGateway2.X 的支持,完美支持 Gateway2.0 的数据采集;
- 我们对 cxf-3.x(一种 webservice 协议)做了适配和改动,开发了专门支持 cxf-3.x 协议的插件。
良好的可视化的应用拓扑功能,可以直观的展示服务间通信,在服务、通信的性能上可以展示更丰富的信息。BeyondMicroService 的监控中心支持业务监控、服务监控和熔断监控,并通过采用 Apache SkyWalking 技术绘制的拓扑图,可以提供全链路的业务追踪和性能监控,清晰地展示出服务间的业务调用关系。
(图2:BeyondMicroService 技术架构图)
微服务架构之所以在近些年越来越受到青睐,皆因其具有的可独立开发、独立部署、灵活响应、可扩展、可重用等优点,在帮助公司实现业务敏捷、IT 敏捷方面可以发挥重要作用。但微服务要真正帮助到管理人员、业务人员和开发人员,需要微服务治理平台提供相应的功能模块。
基于 Apache SkyWalking,又进行了功能增强的“应用拓扑”功能为 BeyondMicroService 增色不少,博云研发团队在 BeyondMicroService 诞生之初赋予了它同时兼容 Spring Cloud和Dubbo 微服务框架能力,可以提供统一的服务监控和治理。而对于不同的微服务框架,BeyondMicroService 深度关注其运行中的服务治理问题,提供负载均衡、路由控制、访问控制、黑白名单、容错屏蔽等功能。并且 BeyondMicroService 提供了统一的 Apollo 配置中心,来进行 Zookeeper、Consul、Eureka 等注册中心组件的统一纳管,Hystrix 熔断器治理,以及 Apache SkyWalking 监控组件、任务调度组件的使用。
BeyondMicroService 产品中使用了 kubernetes、isito、Apache SkyWalking、Eureka、Consul、Apache ZooKeeper、Apache Dubbo、 Apollo、Hystrix、sentinel、Kong、Swagger、PB、MariaDB、RabbitMQ、Redis、ElasticSearch 等开源技术,在此一并致谢。
(图3:BeyondMicroService功能架构图)
为此,我们感谢这个伟大的时代,为当今的技术型创业公司提供了开放、包容的环境,丰富而精彩的开源技术在程序员的指尖穿梭、流淌,让每一个技术开发者可以专注于自己最擅长的领域,让充满才华的创造不被埋没。
BoCloud 博云将一如既往的怀着开放、创新等心态,积极地投身到用数字技术造福社会的事业之中,在这漫长的征程上,广大开源社区必将是我们最亲密的战友。