在某个 IRC 频道上,我卷入了一场关于 The Filthy Human Hands (FHH) License 的讨论。这不是那里第一次讨论奇怪的许可证:Reticulum 的许可证也引发了一些有趣的讨论。
让我们从头说起。
如果你不想读维基百科上关于自由软件的文章,那么几年前,我在学校作为“英语口头表达”课程的一部分做过一个简短的演示,那是一个(粗糙的)用蛋糕来讲解该主题的说明。长话短说,自由软件是具备 4 项自由的软件:
按你的意愿为任何目的运行程序的自由。研究程序如何运作,并修改它使其按你的意愿行事的自由。获取源代码是这一自由的前提。重新分发副本以帮助他人的自由。分发你修改后版本的副本给他人的自由。这样做,你就能让整个社区有机会从你的修改中受益。
- 按你的意愿为任何目的运行程序的自由。
- 研究程序如何运作,并修改它使其按你的意愿行事的自由。获取源代码是这一自由的前提。
- 重新分发副本以帮助他人的自由。
- 分发你修改后版本的副本给他人的自由。这样做,你就能让整个社区有机会从你的修改中受益。
还有“开源”这个术语,它或多或少就是自由软件,但没有其社会政治层面,这就像没有橄榄的披萨,或者没有背景的艺术:某种缺乏意义的东西,一个面向商业的产品而非创造物。如同每一项社会政治事业,人们有时会有分歧,从而导致细微但重要的差异。自由软件运动中最重要的分歧之一一直是 copyleft 的问题:自由软件的衍生作品是否应当以相同的许可证授权?有些许可证,例如 GPL 说是的,这包括所有建立在 GPL 代码之上的东西;LGPL 说只有 LGPL 下的代码需要以 LGPL 发布;还有其他被称为宽松许可证的,比如 BSD 和 MIT,不施加此类限制。
自由软件运动始于 1986 年,所以现在大约 40 年后,图景相当黯淡:从技术上讲,有人可以争辩说它赢了,因为世界上每一家使用计算机的公司都以某种方式依赖自由软件:Firefox、Linux、VLC、Chrome、Ubuntu、Apache、nginx、Wikipedia、Open Street Map、Open Food Facts、……以及更基础的软件组件,如 curl、libxml、busybox、OpenSSL、GCC、clang、……
然而它们中几乎没有哪个回馈这些公共资源,其中一些还由内布拉斯加州的某个随机人物无偿维护。更糟的是,少数与计算机相关的公司(“云提供商”)通过出租运行自由软件的基础设施赚取巨额财富,大多数智能™设备都在运行自由软件,每一家生产/销售软件的公司都依赖自由软件,而再一次,几乎没有哪家做出有意义的回馈。少数公司试图赞助它们所依赖的一些项目,但这往往感觉像是对那些作为爱好维护的软件的一种粗暴举动:“你能不能把花园打理得更高效一点,并在你的小花园里再加 150 棵苹果树?我们的业务需要它,这是一次性支付的 1000€”
随着 AI 让一切变得更糟,自由软件维护者现在正把时间浪费在处理无法审查的无用拉取请求上,淹没在大量不提供修复的低质量错误报告中,被那些 vibe-coded 的 fork 搞得士气低落,这些 fork 添加了闪亮的功能,却永远无法上游化,因此也从未被上游合并。真的感觉好像没有人甚至在考虑做出那种寻常的努力,去避免杀死下金蛋的鹅。
Copyleft 确实能在一定程度上缓解这些行为,因为公司通常并不乐意被迫公开自己的秘密源代码。Asahi Linux 项目最近将其软件的许可证从 MIT 改为 LGPL,从而——哪怕只是象征性地——让人们更难在不给予任何回报的情况下从他人的劳动中获利。不幸的是,有一些技巧可以绕过 copyleft:
- 别用 copyleft 许可证下的软件,这不是明摆着的嘛。
- 使用强边界,就像 Android 那样:内核用 Linux,但运行在其之上的一切可以采用任何许可证
- 把软件租给用户,每家云服务商都这么干,大多数 ISP 也是如此。
- 提供一份脱离上下文的修改内容转储,并阻止用户修改其设备上运行的代码
- 干脆无视许可证,因为有人起诉你的概率很低,但大公司确实在意这类事情,这还不错。
如果 copyleft 不是答案,也许是时候寻找更好的许可证了?在我看来,自由 0——即能够出于任何目的运行程序——可能正是问题的症结所在。Reticulum 的许可证包含以下段落,因为一个去中心化的安全通信网络当然能帮助更高效地杀人:
本软件不得用于任何在其功能中包含故意伤害人类能力的系统。
这在理论上听起来合理,但这意味着它不再自由了。我们在意吗?嗯,Linux 发行版在打包哪些软件时通常有严格的政策(debian、fedora 等),非自由软件要么被禁止,要么被放在各自默认不启用的专用仓库中。
更进一步的是 The Filthy Human Hands(FHH)许可证,其中规定:
本许可证下作品的任何部分,均不得以任何方式被拥有超过五十(50)名雇员的组织或企业使用或复制。特此授予一项例外,允许 ISP 和其他托管服务为展示和分发目的复制该作品。本许可证下作品的任何部分,均不得以任何方式被用于或复制于宣扬任何形式偏执的内容。这包括但不限于法西斯主义、种族主义、性别歧视、厌女、健全主义、跨性别恐惧症(包括抹除和/或否认非二元身份)、恐同、年龄歧视、健全至上主义(包括否认多重性和/或多元性),以及对非人类身份的歧视。
本许可证下作品的任何部分,均不得以任何方式被拥有超过五十(50)名雇员的组织或企业使用或复制。特此授予一项例外,允许 ISP 和其他托管服务为展示和分发目的复制该作品。
本许可证下作品的任何部分,均不得以任何方式被用于或复制于宣扬任何形式偏执的内容。这包括但不限于法西斯主义、种族主义、性别歧视、厌女、健全主义、跨性别恐惧症(包括抹除和/或否认非二元身份)、恐同、年龄歧视、健全至上主义(包括否认多重性和/或多元性),以及对非人类身份的歧视。
从技术角度看,有趣之处在于,从法律上讲,这实际上并不可执行,因为大多数条款都相当模糊。我认为这是有意为之,必须被当作一种声明来看待。人们可以使用任何其他可供解读的条款并取得相同的效果,即任何设有法务部门的实体都不会使用它,而那些小到没有法务部门的实体也无法将其出售/出租给那些设有法务部门的实体。它的美妙之处在于,它完美契合了小网络、拥有定制治理的小社区、拼凑式创作,以及通过设计排除威权主义/资本主义/蠢货/……的理念。
奇怪的许可证与新的开源
鉴于世界当前严峻的形势,我认为是时候认识到自由软件已经不够了,并且不希望代码最终落入任何轰炸儿童和家庭的战争机器之中,并不比40年前自由软件诞生时的理念更激进。我希望 Linux 发行版里能有奇怪许可证的仓库,里面装着各种定制的一次性许可证下可爱、古怪、有用、无用、手工打造的软件。