面对公有云、人工智能的普及,目前的开源许可已经落伍了

云计算和人工智能是当今最重要的技术,而这两项技术都已超越了开源许可。是时候重新定义开源了。
2024-01-03 17:37:30  |   作者:开源爱好者  |   来源:

面对公有云、人工智能的普及,目前的开源许可已经落伍了

云计算和人工智能是当今最重要的技术,而这两项技术都已超越了开源许可。是时候重新定义开源了。
2024-01-03 17:37:30
作者:开源爱好者
来源:

云计算和人工智能是当今最重要的技术,而这两项技术都已超越了开源许可。是时候重新定义开源了。

图片15.jpg

开源先驱Bruce Perens在最近一次关于开源未来的采访中说“我们的(开源)许可证不再起作用了”,我认为这是完全正确的,尽管他说错了原因。

他说是因为“企业已经找到了所有的漏洞”,实际上并不是,问题在于开源从未像现在这样重要,但却与我们这个时代最大的技术趋势,即云计算和人工智能关系不大。2024 年,我们需要让开源的定义赶上这些技术的发展。

云颠覆了传统开源许可

经常有人指责 MongoDB、Neo4j、Elastic、HashiCorp 等公司涉嫌使用类似商业软件的许可、共享条款和服务器端公共许可(SSPL)等许可证。但问题并不在于这些公司,而在于他们试图用开源许可证发布云服务,而这些许可证根本不适用于云计算。

不是吗?负责管理开源定义(OSD)的开源倡议组织(OSI)执行董事Stefano Maffulli在一次采访中说:“开源没有跟上软件分发和执行方式的演变。所有开源许可证都是在前云时代形成的,并设想了一种过时的软件分发方式。即使有了 Affero 通用公共许可证 (AGPL),OSI 也只是接受了一种非云原生的黑客技术。因此,我们并没有真正关注正在发生的事情,这导致云业务中出现了很多紧张关系。”

MongoDB 曾试图让 SSPL 成为 OSI 批准的官方开源许可证。最终,该公司退出了这一进程,令人遗憾。如果你喜欢 GPL,就应该喜欢 SSPL,因为它基本上是一个云化的 GPL。与商业源代码许可和最新的许可不同,SSPL 并不歧视软件的某些使用方式(即不限制为商业或竞争目的将开源软件应用在生产中)。它只是说,如果你将软件作为一种服务发布,你需要提供用于运行该软件的所有其他软件,因为如果为软件提供动力的重要软件基础设施完全封闭,那么检查、修改和运行软件的自由又有什么用呢?

2024 年,OSI 需要认真更新其开源定义,使其与云计算相关。它不需要成为 SSPL,但确实需要反映这样一个事实,即大多数软件并不是以 OSI 的开放源码所考虑的那种方式分发的。我们仍在使用不精确的开源定义,试图捕捉现代现实中的新生事物。

开源在人工智能时代失去意义

就像云技术已经超越了开源技术一样,人工智能也让开源技术变得毫无意义。这归结为一个基本问题: 开源希望保留的代码是什么?

笔者在与 Aryn 的CEO Mehul Shah 的一次谈话中,对开源究竟要对代码控制到何种程度做过类似探讨:

首先,我们可以把经过整理的训练数据看作是软件程序的源代码。如果我们从这里入手,那么训练就像是源代码的编译,而transformer模型或大型语言模型的深度神经网络架构就像是编译程序所运行的虚拟硬件或物理硬件。在这种解读中,权重就是编译后的程序。

这似乎是合理的,但也立即提出了一些关键问题。首先,精心组织的数据通常归他人所有。其次,虽然今天的许可证关注点是在权重上,但这可能效果不佳,因为这些权重只是浮点数。这与为代码颁发许可证有什么区别吗,代码只是一堆 1 和 0。许可证是否应该与架构有关?也许不应该,因为相同的架构加上不同的权重,可以得到完全不同的人工智能。那么许可证是否应该针对权重和架构呢?也许是,但通过微调和指令调整,在无法访问源代码的情况下修改程序的行为也是可能的。还有一个现实问题是,开发人员经常会分发与原始权重不同的差值。这些差值是否受与原始模型相同的许可证约束?它们能拥有完全不同的许可证吗?

简而言之,我们不能简单地说某一大型语言模型是开源的,因为我们甚至还不能确定到底什么应该是开源的。这与 SSPL 想要解决的问题类似,但却更加复杂。GitHub 开发者政策主管Mike Linksvayer认为:“对于什么是开源人工智能,还没有一个确定的定义。我们还远远没有解决这个难题。”

幸运的是,这一次,开放源码机构(OSI)并没有在开放源码标准(OSD)的方向盘上睡着,而是正在积极研究人工智能的开放源码标准应该是什么。不过,Maffulli强调说:“这是一个极其复杂的方案。OSI 需要负责尽快升级云计算和人工智能的 OSD。过去几年,我们一直在指责企业不遵守开放源码原则,而开放源码协会未能使这些原则适用于软件领域的最大趋势。今年,这种情况必须停止。”