大多数人习惯于忽视软件许可,就像在安装新程序或注册服务时一样。但在 AI 领域工作时,考虑这些因素很重要,因为我们使用的所有工具的默认设置都是开源的,而且通常我们会协作工作,在别人的劳动成果之上构建自己的产品,同时也希望有人会使用我们构建的产品。
链接:http://marble.onl/posts/software-licenses-masquerading-as-open-source.html
未经允许,禁止转载!
作者 | Andrew Marble 译者 | 弯月
责编 | 夏萌
出品 | CSDN(ID:CSDNnews)
一般,我都不会深究术语,但最近机器学习社区对于“开源”的叫法非常混乱。在本文中,我想介绍几种不同的许可,尝试区分出真正的开源和这个术语的攀附者,并解释一下为什么区分它们很重要。各个公司可以自由选择如何发放许可,但如果没有向开源工具做贡献,就不应该给人留下这样的印象。
当前的人工智能(AI)热潮以消费者为中心,任何人都可以使用 AI 生成文本 (ChatGPT) 或图像 (Dall-E 2) 。消费者不习惯处理的一个方面就是许可。大多数人习惯于忽视软件许可,就像在安装新程序或注册服务时一样。但在 AI 领域工作时,考虑这些因素很重要,因为我们使用的所有工具的默认设置都是开源的,而且通常我们会协作工作,在别人的劳动成果之上构建自己的产品,同时也希望有人会使用我们构建的产品。如果这条链中卷入可疑的许可,就有可能影响到别人的工作,引入责任并不必要地将权力移交给第三方。
简单来说,AI 工具之类的软件通常分为专有和开放模型。在使用 OpenAI 的 ChatGPT 时,默认你同意了他们开发的专有软件的使用条款,而且他们保留对这些软件的所有权。另一方面,访问 HuggingFace 模型 Hub,你会发现许多类似的生成式 AI 工具,你可以下载这些工具,并在自己的硬件上运行,也可以查看源代码。所以说,这些都是“开放”的,是吗?
随着消费者的关注高涨,我认为一些做法具有欺骗性,就好像广告中的小字附加说明,谁都知道天下没有这样的好事。最近我发现两个让人很恼火的例子:
1. 一家私营公司(我不想公开公司的名字)发布了一种生成式 AI,他们在宣传中标榜自己是“开源”,其许可中的一个条款说,如果将这款工具用于商业用途,则需要获得发布商的许可,而且需要支付10%的收入费用,并共享各种其他信息。
2. Meta(原来的 Facebook)发布了一个名为 LLaMa 的“开源”生成 AI,但需要 Meta 的许可才能访问和使用,并且仅限于非商业用途。
我不想批评许可条款本身(尽管使用费的条款很荒谬,而且不到一周的时间他们就撤掉了这些条款)。公司可以决定自己的条款,就像 OpenAI 可以选择压根不发布他们的模型,并将其作为 API 提供服务。我想说的是欺骗性,“开源”有一个普遍认可的技术定义,也有一个通俗的定义,既不需要许可,也不需要使用费,也没有太大的限制,这些只能在许可的隐藏条款中提到。这不仅令人困惑,而且将限制性的许可标榜为开放可能会对软件和人工智能行业造成破坏。围绕这些“开放” AI 工具构建产品的人们实际上是在为代表了特定公司利益的限制性专有产品构建护城河。如果人们想这样做,那是他们的事,但他们有知情权。
虽然我不会从法律的角度评判不同的许可,但我想从我作为一个使用和编写 AI 软件的人的角度出发,总结一下普通的“开放式”许可的一些关键要点和意见。希望更多的人关注许可的类型,并避免那些带有附加限制的许可。
开源
开源计划提供了开源软件的技术定义,并经常被引用。以下是部分条款:
该许可不得限制任何一方将软件作为包含多个不同来源程序的总软件分发的一部分出售或赠送。该许可不得要求此类销售的特许权使用费或其他费用。
该程序必须包括源代码,并且必须允许以源代码和编译形式进行分发。
该许可不得限制任何人在特定领域使用该程序。
根据自由软体基金会(FSF)的定义,自由软件赋予使用者四种自由:
不论目的为何,有使用该软件的自由。
有修改软件来满足使用者自身需求的自由。
与朋友和邻居共享软件的自由。
有自由分享修订后的版本的自由。
虽然这些不是法律定义,但我认为反映了普通人对开源软件的期望。可以简单地总结为:“你可以使用开源软件做任何想做的事”,而且这不仅限于源代码的使用。
最常见的开源许可证是 Apache 2.0 和 MIT(BSD 作为另一种选择)。这些许可普遍认可是开源的,它们允许用户使用软件做他们想做的任何事,包括修改软件、销售软件以及为修改后的软件发放不同的许可(例如使用封闭许可)。Apache 有一些额外的与共享修改和专利权信息相关的条款。如果声称开放的软件在另一个许可下发布,我首先要问的是为什么,因为这意味着创建者出于某种目的专门修改了你的权利或义务。有趣的是,根据传统 Apache 2.0 是发布开源 AI 工具最常见的许可证。例如,大多数 Meta / Facebook 的发布都使用了这个许可。LAION 的 Open-Assistant 和 OpenLLaMa(LLaMa 的开源版本)也是在 Apache 2.0 下发布的。
一个相关的许可证系列是 Copyleft 许可,例如 Gnu 公共许可证 (GPL)。最大的区别是,这些许可证规定任何修改都必须保持相同的许可证,也就是说它们是“病毒式”的,因为这些许可的条款会向前传播并附加到在其上构建的任何产品。具有讽刺意味的是,其目的是通过限制来保护“自由”,因为该软件之后的任何版本都需要保留相同的许可。例如,具有 MIT 许可的代码可以合并到专有工具中,但 GPL 不能。对于“成品”软件,有时会选择 GPL,因为这样可以保证人们按照自己想要的方式使用它,同时防止衍生品成为封闭软件。几乎所有的 AI 工具的设计目的都是作为一个大项目的一部分,所以 GPL 的用处不大,因为它会阻碍下游项目,会迫使它们保留 GPL 许可。与 Apache 或 MIT 相比,开发人员通常对使用 GPL 代码不太感兴趣。
宽松的许可与 Copyleft 是一场非常经典的辩论,但我想说两者通常都是善意的开源。我认为最重要的部分是,你必须了解在 GPL 下需要承担的义务。另一方面,如今各种各样的许可证都被称为开源,但实际上它们施加了各种限制,有些只是看似微不足道的限制,而最严重的限制会限制商业使用。即使其他条款都完全相同,这些限制也会导致人们在采用不同许可的工具时付出完全不同的代价。我能理解加入一些限制的确很诱人,但我相信任何限制对整个开源都是不利的,而且只会对专有软件有利。当今软件生态系统(尤其是 AI)的丰富性取决于每个人和所有应用程序能否持续使用最先进的技术,而不是各个公司将他们的世界观强加给代码的用途,这会导致使用这些代码的项目很快走下坡路。
下面是最近我看到的一些非开源许可的例子:
RAIL(Responsible AI),其中包含一个列表,列举了你不能使用该模型做什么。tability AI 的 Stable Diffusion 是最近使用此类许可证的 AI 工具的一个例子。清单上的内容并不重要。里面似乎有很多政治策略,比如不能使用该模型来伤害儿童是首要限制之一。无论任何情况,我们都不能伤害儿童,所以这条规则是多余的。其实,无论条款包含什么限制,公司的目的就是限制用户使用工具的自由,而这正是问题所在,而且很容易看出,在充满政治色彩的世界里,这种情况会迅速恶化。
Meta(Facebook)的 Llama 语言模型许可。该许可证禁止商业用途、军事、生物识别、监视等。另外,你必须向 Meta 索要权重(实际上你并不需要,因为到处都可以找到泄露的副本),然后由他们决定你是否可以使用,这显然不是开放的。
各种 AI 语言模型,例如 StableVicuna 在 Creative Commons Attribution-NonCommerical-ShareAlike(知识共享署名-非商业性使用-相同方式共享) 下发布,该许可禁止商业使用,要求衍生产品也要采用类似许可。
重要的是,使用这些许可证的工具经常将自己标榜为开源,因为它们确实以源代码形式发布(尽管 Meta 连这一点都没有做到,因为如果没有权重,代码就毫无用处)。
从消费者层面来看,大多数人并不关注许可证。我个人也从未阅读过点击许可或软件使用条款,而且几乎没有人阅读过(强制又有什么用?)。随心所欲地使用开源软件的定义似乎是次要的,但搬出官方定义似乎又很迂腐。但所有这一切都是在大量公众游说和假装担心 AI 变得多么强大和有害的背景下发生的,所以下一步就是限制谁可以使用 AI 以及如何使用 AI 也就合乎逻辑了,但实际上以牺牲消费者利益为代价,让大企业收益。这个世界成功地打破了 90 年代和 2000 年代的专有软件陈规,并从丰富的开源生态系统中受益。
当前 AI 的诞生正是源于这种资本,我不希望看到人们利用炒作,试图以某种假想的“伤害”名义锁定计算机。我不反对专有软件,但我反对各家公司将“开源”淡化为一个概念,同时对普遍的理解施加限制,或者通过混淆获得商业利益。这无异于其他类型的虚假或误导性广告。
使用真正的开源工具构建产品,并为真正的开源工具做出贡献,是确保每个人持续受益于高科技的一种方式,我们不会受制于某个公司或其他特殊利益集团认为我们应该如何使用计算机的突发奇想。我请求每个人都能了解正在使用的许可证,并关注开源。
推荐阅读:
▶惹打工人“暴怒”!科技公司 CEO 放话:“只想赚钱和朝九晚五的别来!”
▶追梦 40 年:一位男子的 8 位 Commodore 64 角色扮演游戏之旅
▶马云非公开会议:阿里电商应该回归淘宝;微信上线“安静模式”;ChatGPT会生成Win11激活密钥 | 极客头条