数据库制造商 Redis Labs 本周将公司开发的 Redis 模块从 AGPL 迁移到将 Apache v2.0 与 Commons Clause 相结合的许可证,对销售许可证涵盖的软件作了限制。许可证的变更意味着自研 Redis 模块 - RediSearch,Redis Graph,ReJSON,ReBloom 和 Redis-ML 将不再是开源软件,而是源码可用(source available)。
新许可证限制了云提供商向客户提供这些 Redis 模块的能力,Redis Labs 可能会成为包含这些附加组件的唯一服务销售商。 但是,Redis 数据库代码仍属于 BSD 许可证。
Redis Labs 并不是唯一一家做出这样改变的公司。5月,Neo4j 图数据库在其 AGPL 许可证中添加了 Commons Clause。
Redis Labs 的联合创始人兼首席技术官 Yiftach Shoolman 表示:“多年来,云提供商通过销售基于开源项目的云服务,可从中获利数亿美元,可这些项目实际上并不是他们自己开发的,如 Docker,Elasticsearch,Hadoop,Redis 和 Spark。这阻碍了社区投资开发开源代码,因为任何潜在的好处都归云提供商而不是代码开发人员或他们的赞助商。”
根据 The Register 的报道,美国爱达荷州国立实验室提供咨询的开源许可专家 Paul Berg 认为,这么做是为了将合作开发 Redis 模块的开发人员的成果交由 Redis Labs 来控制,而不单单是帮助开源开发者。
Paul 说:
这是一种传统的专有软件许可证,旨在支持传统的商业软件销售商业模式。由于近期没有成功型企业对其进行使用,使其面临着过时的危险 虽然云服务对开源许可证的原则提出了挑战,但这些原则并不涉及软件开发者是否能从中获利。开源许可证的广泛采用,使得限制性原则遭受固有的经济劣势,如 Commons Clause 的采用。 开源许可证的存在消除了垄断,用户可以自己支配软件。但云服务带来的问题是,云提供商并非通过知识产权取得垄断,而是通过物流优势(logistical advantages),注重知识产权的许可证无法解决这个问题。
OSI(开源项目组织)VM Brasseur 副总裁吐槽 Commons Clause 的销售禁令表述不明晰,可能会面临法律问题。OSI 总裁则认为,这种许可证剥夺了软件自由。
一位开源开发者表示:“自己无法从自己的开源工作中获利,却让其他企业利用你的开源成功谋取暴利,这听起来的确很糟糕。但 Commons Clause 并未给出支持开源软件的解决方案,而是将开源软件变成了专有软件。”
Commons Clause 开发者兼 FOSSA 创始人 Kevin Wang 回应道:“起草 Commons Clause 是为了抵御一些不良行为。如那些使用源代码,却不对开源代码维护做出补偿的公司。”
而 Google 软件工程总监 Daniel Berlin 反驳道:“这不是不良行为。倒是这种协议误解了开源经济模式,它只是想从中为己牟利。”
Paul Berg 认为,开源分摊了技术成本,就像云计算公司分摊了基础设施成本一样,正因如此,开源项目才会更占优势。Redis Labs 未必能在 Commons Clause 保护下获得更多好处。对此你怎么看?
领取专属 10元无门槛券
私享最新 技术干货