我们真的需要另一种非开源的源代码可用许可证吗?
创始人
2024-03-02 18:01:34
0

并不是,不过 “功能源代码许可证” 却更进一步混淆了开源许可证的界限。

回溯到我们还用打孔卡和磁带载入软件的那时,所有的程序都是 “自由软件” 和 “开源” 的。然而随后专有软件的出现,一切都变了。针对此状况,程序员们反抗并发展出了第一个正式的自由和开源软件的定义。

现如今,不开源的代码甚至成为了罕见的例外。然而,这并未阻止某些误将开源视为一种商业模式,而非开发模式的公司,试图将专有方法和 “开源” 代码相结合。最新的案例就是 Sentry 推出的 “ 功能源代码许可证 Functional Source License ”(FSL)。

沿袭 服务端公共许可证 Server-Side Public License (SSPL)、 公共条款 Common Clause 和 商业源代码许可证 Business Source License 的传统,FSL 表面上似乎重视开源的重要性,却对开源的核心理念进行嘲讽,形容其方式为“享有自由却无需付出努力”。

呵呵。

其实,Sentry 是一个面向开发者的应用代码监控服务,它源于对 Django(一款开源的,高级的 Python 网络框架)的少量代码开发。如今,它仍然主要用开源代码进行开发。不难看出,没有开源,Sentry 啥都不是。

这也同样适用于其他所有使用 “ 源代码可用 source-available ” 或其他半开源许可证的公司。它们都源自于开源公司,然后为了最大化利润,它们将免费获取的代码进行了重新许可,以锁定代码。

正如 开源倡议 Open Source Initiative (OSI)董事会副主席 Thierry Carrez 对我说的,“有些公司通过利用开源代码库作为主体建立了他们的软件,不需要在使用数百个开源软件包作为他们的依赖关系之前就请求许可。他们通过公开承诺遵守开源原则建立了口碑。但在试图追求更大价值的过程中,他们短视地放弃了最初带给他们成功的模式。”说的真对。

例如 Sentry、MariaDBRedisHashiCorp 这样一些前开源公司,之所以他们能做出这样的举动,可以归功于他们采用了侵犯了权利的 贡献者许可协议 Contributor License Agreements (CLA)。这些协议是一种法律文件,它定义了贡献者为他们的代码在开源项目中被使用所设定的条款。尽管有些 CLA,像 Apache 软件基金会的 CLA 或 Linux 的 开发者原创证书 Developer Certificate of Origin ,只是用来保护他们项目的法律权利。但其他一些,比如 MongoDB 的贡献者协议,却被用来占有你的代码及其版权。通过这样的 CLA,在任何他们喜欢的方式中使用和重新许可你的代码,对于他们来说易如反掌。

SourceHut 的创始人兼首席执行官 Drew Devault 在谈论 Elasticsearch 从开源向“源码可用”转变时表达了他的观点:“Elasticsearch 归其 1,573 名贡献者所有,他们自己保留着版权,并向 Elastic 授予了一个无条件分发他们作品的许可。当 Elastic 决定 Elasticsearch 不再开源时,他们就利用了这个漏洞,这个漏洞实际上一开始就被他们故意安插进去…… Elastic 对 1,573 的贡献者们、以及所有信任、忠诚于他们,给予他们支持的人们翻了脸。”

如今,我们看到企业 Sentry 和之前的案例如出一辙,换汤不换药。公正地讲,Sentry 很长一段时间以来都一直在使用源码可用许可证。在该公司创建并采用 FSL 前,自 2018 年以来就用了 BSL。如果还有人继续向 Sentry 捐献代码,那他们肯定知道自己在做什么。

那么为何还要做一个新许可证呢?Sentry 的开源负责人 Chad Whitacre 这样解释道:“BSL 存在两个显著的弊端。首先,预设的非竞争期为四年,对于软件行业来说,这简直就是个漫长的周期。这可能会让人产生一种感觉,即最后的开源转变只是一种象征性的举措。这几乎可以说是 100 年那么长。对于 Sentry,我们选择将这个期限缩短到三年,但我们也承认,可能连三年都过长了。”

该许可证期满后,这些代码将会使用 Apache 2.0 或者 MIT 许可证。但实际上,这并不像初听起来那么慷慨。根据 FSL,你可以将它的代码用在任何用途 —— “除了竞争性使用的情况下。所谓竞争性使用,指的是利用该软件开发或提供能够与我们的产品或服务竞争的商业产品或服务,不论是该软件本身,还是我们基于该软件提供的任何其他产品或服务,只要我们是在该软件发布之日或之前就已经提供了这类竞争产品或服务。”

换种说法,你可以查看代码,但不能用这些代码运营业务。如需更深入了解,你可以查看该公司的 FSL 版本的 Apache 和 MIT 许可证。就我个人而言,我认为这两个都不算是开源许可证。

Whitacre 进一步说明了,“更严重的缺陷是 BSL 有过多的参数:变更日期、变更许可证,以及额外使用授予。最大的问题在于额外使用授予,它是一项巨大的填空题,意味着每一个 BSL 实质上都是不同的许可证。”

我无法反驳这一观点。每个公司的 BSL 都不一样。同时,这也意味着当客户与使用 BSL 的公司签约时,他们很难确切知道法律上为他们保留了哪些权益。Sentry 希望通过 FSL 让其产品和服务对其客户更具吸引力。

也许这方法行得通。但我赞同 Carrez 所说的:“发布另一种能剥夺开发者在技术选择中的自主权的许可证变体并非新鲜事:他们其实就是要从整个软件生态系统中摧毁开发者的基本自由,从而明确自己对其专有软件及其许可使用权的所有权。这并不是开源:这只是包装在开源幌子下的专有门户。”

(题图:MJ/beb19f23-c230-4a3f-9bb3-210066ad749b)


via: https://www.theregister.com/2023/11/24/opinion_column/

作者:Steven J. Vaughan-Nichols 译者:ChatGPT 校对:wxy

相关内容

大模型的尽头是开源
文| 零态LT 大模型的战争,正悄然换牌。 闭源一度是顶尖玩家的...
2025-10-14 18:14:20
腾讯开源通用文本表示模型Y...
钛媒体App 10月14日消息,腾讯优图实验室正式开源Youtu-...
2025-10-14 17:44:27
破局“开源糖衣”与“管制枷...
曾几何时,美国软件厂商带着"开源共享"的甜糖敲门,不少人以为捡到了...
2025-10-14 16:46:47
中移智鸿·万联行动正式启动...
10月11日,中国移动在2025全球合作伙伴大会“泛全联盟智汇未来...
2025-10-14 15:44:36
开源鸿蒙6.1/8.1确认...
快科技10月14日消息,在开源项目生态建设中,版本生命周期管理是保...
2025-10-14 15:15:00
开源快讯 | 近期开源资讯...
开源生态建设加速技术创新,促进全球协作,是科技发展的强大驱动力,其...
2025-10-14 12:16:22

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何理解Apache 2.0许... 提要:Apache 2.0许可证中的专利许可条款使得开源代码可以安全使用,但它经常被误解。Apach...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...