Mattermost 的薛定谔式开源许可证的八年争吵
如果你的软件许可证里写着「你也许可以被授权使用这段代码」,你的第一反应是什么?这是在给你权利,还是在让你签免责条款?亦或是某种薛定谔的授权状态,只有当你被起诉的那一刻,波函数才会坍缩?
这不是段子,而是 Mattermost —— 也就是大家熟知的开源 Slack 替代品,在 GitHub Issue #8886 中引发长达八年争吵的核心导火索。
最近,这个古老的 Issue 终于由 Mattermost 团队成员关闭了,理由是:「我们不打算做任何修改。」
这句话一出,Hacker News 上的讨论区直接炸开了锅,大家的吐槽犀利得简直能把屏幕划穿。作为一名开发者,看着这种把法律当儿戏的操作,确实让人头大。
一个单词引发的「血案」
事情的原委很简单。Mattermost 在其仓库的 LICENSE.txt 文件中写下了一句令人费解的话:
“You may be licensed to use source code…”
注意这里的 may be licensed。在英语里,这既可以是表示「给予许可」的情态动词,类似于「你可以用了」;也可以是表示可能性的被动语态,类似于「你(也许、可能、大概)会被授权」。
用户 onlyjob 早在 2018 年就指出,这种措辞是典型的「承重式模糊性」。对于法律文件来说,含糊不清就是最大的清晰——它意味着:如果你不知道自己到底有没有权用,为了安全起见,请默认自己没有权利,或者赶紧掏钱买个商业版。
这就像你去参加婚礼,牧师对新郎说:「你也许可以吻新娘。」这时候新郎敢动手吗?这就是开发者面对这份文件时的真实心态。
许可证界的弗兰肯斯坦
如果仅仅是一个单词的措辞问题,可能大家咬咬牙也就忍了。但 Mattermost 的骚操作在于,他们构建了一个堪称「缝合怪」的许可大杂烩。
根据网友深入挖掘,这份许可证的逻辑简直让人怀疑人生:
- 二进制文件是 MIT 协议: 如果你直接用 Mattermost 官方编译好的软件,那是 MIT 协议——超宽松。但等等,MIT 允许你修改和反向工程,那么我反编译这个 MIT 二进制文件,是不是就拿到了源码?
- 源代码是 AGPL v3.0 协议: 如果你自己编译源码,规则立马变了,变成了 AGPL 协议。这是一种非常严格的「病毒式」许可证,要求你修改代码后必须开源。
- 部分文件是 Apache 2.0 协议: 仓库里的某些配置文件、前端部分又是 Apache 协议。
- 外加一张「承诺书」: 文件里还写着一段「我们承诺不执行 AGPL 的某些条款」。
这种混搭在法律上极其混乱。通常来说,开源许可证讲究的是「标准声明」,直接甩一个标准文本最能避免歧义。而 Mattermost 这种写法,在 Hacker News 看来,几乎就是故意写出来为了吓唬公司法务的。
这种「模糊」是故意的吗?
最让社区感到愤怒的是 Mattermost 官方的态度。面对长达八年的质疑,他们不是没有机会修改,而是拒绝修改。
一位 Hacker News 评论者一针见血地指出:这很可能是一种商业策略。
这被称为「Open Core(开放核心)」模式的变异:表面上打着开源的旗号享受社区贡献和口碑,实际上利用法律上的模糊地带(FUD,即恐惧、不确定性、怀疑),逼迫企业为了规避潜在的法律风险,不得不购买商业授权。
如果你是一家大公司的法务,看到这种「自己编译是 AGPL 协议,官方编译是 MIT 协议,但还有各种例外条款」的许可证,你会怎么做?你肯定不敢用,直接建议老板买商业版保平安。
这就解释了为什么他们不修。 一旦写清楚了「就是标准 AGPL 协议」,那些本来因为怕麻烦而准备掏钱的公司,可能就会安心地去用免费的 AGPL 版本了。
用户用脚投票
虽然 Mattermost 有权制定自己的商业规则,但这种「既想要开源的名声,又想要闭源的钱」的做法,显然得罪了核心开发者群体。
在讨论中,不少人表示正在弃坑。大家纷纷开始寻找替代品,提及最多的就是 Zulip。Zulip 被夸赞为真正的开源,且处理复杂对话的 UI(用户界面)设计非常出色。还有开发者调侃说,折腾了半天,不如回去用 IRC 或 Matrix,至少协议简单透明。
总结:别拿法律玩文字游戏
对于开发者来说,这件事的教训很简单:如果你的许可证不清晰,那它就等于不存在。
在 Mattermost 这个案例中,may be licensed 这种奇怪的措辞,或许在律师眼里是某种精巧的商业陷阱设计,但在技术社区眼中,这只能被视为缺乏诚意和职业素养的表现。
开源世界最宝贵的资产是信任。当一个项目为了那一点点商业利益,开始在「是否允许我使用代码」这种基础问题上开始玩文字游戏时,它失去的可能是成千上万潜在贡献者的心。
毕竟,谁愿意在一个你甚至不确定自己是否有权运行的代码库上开发业务呢?在这个问题上,Mattermost 给业界上了一堂生动的反面教材课。如果你对具体细节感兴趣,可以去围观一下 Hacker News 上的吐槽大会,绝对开眼界。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)