你见过要求用户打疫苗的软件许可证吗?
Posted
《Linus 的“以喷治喷”不可取,但大家为什么又要抵制社区行为准则?》一文中,我们提到了一个关键人物 —— Coraline Ada Ehmke,但其实她的故事还没有说完。
除了是流行度最广的开源社区行为准则 Contributors Covenant(贡献者契约)的撰写者之外,她还干了一件大事。这件大事叫做“伦理开源运动”(Ethical Source Movement),这几乎在开源世界里掀起里一股“文化战争”。
简单来说,Coraline 觉得 Contributors Covenant 还是不够。于是,近两年来她又成立了一个道德源码组织(Organization for Ethical Source),搞了一个希波克拉底许可证(The Hippocratic License),想要进一步扩大这个方向的工作,不仅要让社区内的用户都讲文明了,还要让社区创造出来的东西用在“正途”上。
https://ethicalsource.dev/principles/
但这次,Coraline Ada Ehmke 受到的阻力就不止是个人开发人员了,像 OSI (Open Source Initiative)这样的权威机构也宣称,该运动与开源实践不符。2020年3月,Coraline 竞选了 OSI 的董事会席位,引起了一片热议,在她的竞选信息下有着数十条的评论和争议,而其他竞选人几乎就几条的样子。
最后,她没有竞选成功,希波克拉底许可证也没有得到 OSI 的官方认证。OSI 创始人 Eric S. Raymond 炮轰 Coraline 搞“身份政治”,OSI 另一个创始人 Bruce Perens 也委婉地说:“Ehmke 女士,很抱歉,行不通。”
希波克拉底许可证到底在说些什么?它为什么行不通?行不通的话,Coraline 为什么还要坚持去做?
其实,除了希波克拉底许可证,在“伦理开源运动”(Ethical Source)的运动中,他们还聚集起来了一批“道德源码许可证”(Ethical source License),其中就有大家比较熟悉的“996.ICU”。搞笑的是,他们在自己的网站上,还把“996”写成了“966”......
▲可能在外国人眼里966就已经很过分了?
这些许可证大多基于某个开源许可证,但又并不符合“开源精神”。与此同时,从法律和现实层面,他们其中不少都存在一定的硬伤。但是,从出发点来说,他们又都无可厚非。所以,我们也不管那么多,权当是一种态度的表达,就来盘盘这些“奇奇怪怪”、“骨骼清奇”的许可证吧。
01
希波克拉底许可证,技术是中立的吗?
2018年,包括 Palantir 和亚马逊在内的大型科技公司被曝出为美国政府组织,例如当地警察局和移民海关执法局 (ICE),提供数据和监控基础设施。
对此,拉丁裔和一些激进组织开始抨击这种行为。他们认为科技不应该服务于这类助长歧视和侵犯人权的行为。于是,他们发起了#NoTechForICE 运动。(在特朗普执政期间,ICE 对无人陪伴的未成年人的不人道待遇、在边境将家庭分开以及暴力驱逐出境等做法,引发了愤怒。)
当时,著名的开源贡献者、Chef 前雇员 Seth Vargo 发现 Chef 公司与 ICE 签订了合同后,站反对立场的他就从平台上删除了自己的代码,结果几个小时后又发现这些代码又被恢复了。作为这些代码的创建者,他似乎并没有权利去把控自己的代码被用于何处。
这一事件激发了 Coraline Ada Ehmke。2019年9月22日,在对 MIT 协议修改的基础上,她创建了希波克拉底许可证,这个许可证的命名来源于希波克拉底誓言,是传统上西方医生在行医前所起的“不作恶”誓言。除了通常的条款外,该许可还包含一个新条款,规定:
可以看出,希波克拉底许可证根据的并不是什么法律条文,而是《联合国世界人权宣言》这样的文件。因此,它的设计目的是不上法庭,而是要求根据海牙规则进行仲裁。
它的行不通,是被 OSD 撰写人 Bruce Perens 盖过章的:
撇开争议,通过希波克拉底许可证,Coraline Ada Ehmke 提出了这样一个值得思考的问题:技术真的是中立的吗?
02
996.ICU——宜早退,忌加班
Caroline 建立希波克拉底许可证的同一年,“反996运动”在我们这边几乎点燃了整个社会的情绪,当时媒体和公众对“996制度”的探讨热情相信大多数人都记忆犹新。
2019年3月26日,一位中国程序员 @996icu 创建了一个 GitHub 项目996.ICU,以此吐槽国内互联网公司毫无人性的996工作制,没想到此项目得到广大中国劳动者的热烈欢迎,大家对此表示感同身受,此项目仅3天就收获了10万+ 的赞,大家纷纷为此项目建言献策,并将此项目翻译为多国语言。由此,3月26日这天也成为了“ANTI-996DAY”。
2019年4月,伊利诺伊大学法学院法学博士顾紫翚在其程序员丈夫的影响下起草了“反996许可证”。这一许可证也是 MIT 协议的另一个变体(希波克拉底许可证也是),它要求项目软件的用户遵守符合当地劳动法和国际劳工组织标准。
▲GitHub 上,License 一栏排名第一的贡献者信息
在996.ICU 项目中,有一个黑名单。这个黑名单很明显就是一些被报告不遵守劳动法的公司们,这个名单一直往下拉不到底。相反,他们也有一个白名单,这个名单只有10家企业。按“反996许可证”的要求,如果程序员在自己的开源代码中加入证书,这些黑名单公司也无法使用这些开源代码了。
996.ICU 事件的爆发立即得到了国际上的广泛关注,包括编程语言 Python 之父 Guido van Rossum 和2019年图灵奖得主 Yoshua Bengio 等在内的大佬都为它发声。目前,该项目在 GitHub 获得了26.2W Star(2015年就开源的 TensorFlow 也不过16.4W Star),且被数百个项目所采用。
03
Do No Harm 许可证,是在蹭“开源”热度吗?
相较于996.ICU 的热闹,Do No Harm 许可证就显得冷清了许多。2018年9月11日创立的 Do No Harm 软件许可证项目在描述中,是为了“使世界变得更美好”而生的:
该许可证基于 BSD3条款许可证,并禁止许可代码用于:(i) 暴力、仇恨和分裂;(ii) 环境破坏;(iii) 滥用人权;(iv) 对人们身心健康的破坏。
Do No Harm 许可证也引起了一些争议,比如有人就质疑Do No Harm 许可证根本就不符合开源原则,但该许可证在 README 中的措辞(错误地)暗示了开源软件开发与“Do No Harm”许可项目的开发之间的依赖关系,而它会造成人们对开源精神的理解混淆。
目前,GitHub 上没有列出使用此许可证的项目,并且上面也说明了“许可证目前处于草稿阶段,应被视为不稳定”,其开发人员正在“致力于许可证的第1版”。因此,该项目获得关注有限,截至2022年4月,它仅获得364Stars 和35fork,成长缓慢。
04
疫苗许可证,为了孩子接种疫苗吧
尽管表明了道德源码运动行c不通,但 Bruce Perens 这位开源运动发起人还是以开玩笑的心态写了一个 Ethical License。这个许可证叫做“疫苗许可证”(The Vaccine License),用来要求用户接种疫苗。
最搞笑的是,Bruce Perens 还在自己的文章中点评了一番,认为这一系列许可证自己的“疫苗许可证”最专业,且对标的是 OSI 认证程序。但他也承认,这些个许可证似乎都不太可能在执行中获得法院的同意。
05
保护大气许可证,带有石油撤资条款的开源协议
2019年11月5日,由11258名科学家组成的小组发表了一份名为《世界科学家对气候紧急情况的警告》的新报告。这份报告警告:
在“伦理开源运动”和希波克拉底许可证的启发下,保护大气许可证(The Atmosphere Licenses)的概念诞生了。与希波克拉底许可证不能满足开源定义的情况不同,还许可证通过一种“巧妙”的方式,来符合开源定义:
首先,保护大气许可证带有 copyleft 特征,它包含 GPL 中的的许多条款,还包含了 AGPL 中的“远程网络交互”概念作为许可证合规性的触发器。其次,借鉴“双许可”模式中的先决条款,如果当用户想要进一步专有化(或者商业化),则必须满足一个先决条件:从石油化工燃料等领域撤资。
因此,保护大气许可证可以说是一种“带有化石燃料撤销条款的开源软件许可证”。
06
The JSON License,用于善而不是恶
JSON(JavaScript Object Notation)是一种非常灵活、轻量级的格式,用于交换各种数据。但是,某些 JSON 项目的使用受到 JSON 许可的限制。该许可证其他都没有任何问题,但就是加了一小行字:
凭这一条,它就已被踢出了开源许可证的范围之外了。毕竟 OSD (Open Source Definition)中的第6条规定:不得歧视任何应用领域。更何况,软件还有个明确定义,而“善”和“恶”都不是有明确定义的术语。
https://json.org/license.html
曾有人在 Black Duck 知识库中发现,有2300多个项目中嵌入了 JSON 许可组件,其中包括一些非常流行的项目,例如 Perl、Lucene 和 Solr。它还出现在某些版本的 Java 软件开发工具包和运行时环境的组件中。因此,如果你正在运行这些 Java 应用程序,请不要作恶(手动微笑)。
此外,2016年的时候,Apache 基金会也注意到了这个问题,并开始“排查”这一许可证。
07
非暴力公共许可证,反战、反暴力、反剥削
The Non-Violent Public License,简称 NPL,是一种不仅适用于软件还适用于其他类型的各种创意作品。它旨在为现代世界的作品提供基本的保护,以抵抗合作中的暴力、胁迫和歧视。
在官方的描述中,该许可证的面貌非常模糊,即使看了也不知道这个许可证要表达什么,但我们看一看它禁止的相关事项,也会有一个大致的感觉:
https://thufie.lain.haus/files/CNPLv7.html
除了限制以上用途, NPL 还采用了copyleft 的概念来作出以下规定:1)原始和修改作品不能用于专利申请;2)任何已发布的修改版本都必须在原始许可证下提供,如果是软件的话,则对修改版本提供“服务器端”访问就相当于发布修改版本(这一条借鉴的是 AGPL)。
08
结语
关于此类致力人道目的的许可证远不止这些。
早在上个世纪,加州大学伯克利分校的 SPICE 软件上,就有一个阻止了南非警方使用的许可证。当时,这个许可证是为了抗议在南非存在的种族隔离。而当南非早已取消这一政策,并且警察中都已经开始出现黑人警察后,这个软件许可证却没有及时撤回,导致多年后南非警察仍不能使用这个软件。
很明显,这个许可证是失败的,它的失败给 Bruce Perens 以深刻印象,使他意识到“许可证本质上是象征性的”。随后,当 Bruce Perens 撰写 Debian 自由软件指南(OSD 前身)时,他特意在里面加入规定:防止对个人、群体和应用领域的歧视。
从1998年被定义以来,开源软件发展迅猛。Coraline Ada Ehmke 在近几年掀起的“伦理开源”波浪,或许只是其中的一段插曲,但她提出的一些问题是值得我们思考的:
(举报)
来源: OSC开源社区公众号
此文章 短链接: http://dlj.bz/LzTdp7