开源需要在2024年迎头赶上
开源先驱Bruce Perens在最近一次关于开源未来的采访中,对一件事和大多数事情都是错的。他绝对正确,“我们的[开源]许可证不再起作用了”,即使他错了原因。(他说“企业已经找到了所有的漏洞。”)
不,问题是开源从未如此重要,但与我们这个时代最大的技术趋势:云计算和人工智能不那么相关。在2024年,我们需要开源来赶上这些技术。
云聚集在开源上
在某些方面,指责MongoDB(披露:我为MongoDB)、Neo4j、Elastic、HashiCorp等公司涉嫌污染了开源的商业源代码许可证、共享条款和服务器端公共许可证(SSPL)等许可证,这是很时髦的。但问题不在于这些公司,而在于他们试图在开源许可证下分发云服务,而这些许可证根本不适合云。
不相信我吗?询问开源定义(OSD)的开源倡议(OSI)执行董事Stefano Maffulli。在一次采访中,Maffulli告诉我:“开源有点错过了软件分发和执行方式的演变。”所有开源许可证都是在云前时代构思的,并假设了过时的软件分发方法。通过Affero通用公共许可证(AGPL),OSI接受了一个不是云原生的黑客。因此,Maffulli继续说:“我们没有真正关注正在发生的事情,这导致了云业务的紧张局势。”
当我在AWS工作时,这种紧张情绪爆发了。我目前的雇主MongoDB试图让SSPL被OSI批准为官方开源许可证。最终,该公司退出了该过程,这是不幸的。如果你喜欢GPL,你应该喜欢SSPL,因为它基本上是一个云化的GPL。与商业源许可证和最近的许可证不同,SSPL不歧视软件的某些使用(即,出于商业或竞争目的在生产中运行软件没有限制)。它只是说,如果您将软件作为服务分发,您需要提供用于运行它的所有其他软件,因为如果为它提供动力的基本软件基础设施完全关闭,那么自由检查、修改和运行软件有什么好处呢?(您可以在这里清楚地看到AGPL和SSPL之间的差异。)
在2024年,OSI需要认真更新其开源定义,使其与云相关。它不需要是SSPL,但它确实需要反映这样一个事实,即大多数软件的分发方式与OSD的“开源”所设想的方式不同。我们仍然在使用开源的马和越野车定义,试图捕捉我们现代现实的电动汽车和火箭船。
在人工智能时代让开源变得毫无意义
尽管云超过了开源,但人工智能使其完全毫无意义。我已经详细讨论了这个问题(见这里和这里),但它归结为一个根本问题:开源希望保留的“代码”是什么?
在与Aryn首席执行官Mehul Shah的谈话中,我们解决了“代码”问题。详细引用那篇文章:
首先是考虑精心策划的训练数据,就像软件程序的源代码一样。如果我们从那里开始,那么训练(梯度下降)就像源代码的编译,而变压器模型或[大型语言模型]的深度神经网络架构就像编译程序运行的虚拟硬件或物理硬件。在本阅读中,权重是编译的程序。
这似乎很合理,但立即提出了关键问题。首先,那些精选数据通常归其他人所有。其次,尽管今天的许可证在权重上,但这可能行不通,因为这些权重只是浮点数。这与说你是许可代码有什么不同吗,代码只是一堆1和0?许可证应该在架构上吗?可能不会,因为具有不同权重的相同架构可以为您提供完全不同的人工智能。那么许可证应该以权重和架构为单位吗?也许,但可以通过微调和指令调优在不访问源代码的情况下修改程序的行为。然后是现实,开发人员经常分发增量或与原始权重的差异。三角洲是否与原始型号具有相同的许可证?他们能有完全不同的许可证吗?
简而言之,我们不能简单地说一个大型语言模型是开源的,因为我们甚至还不能决定什么应该开放。这类似于SSPL试图解决的问题,但更复杂。GitHub开发人员政策主管Mike Linksvayer认为:“开源人工智能是什么还没有确定的定义。”我们远没有解决这个困境。
幸运的是,这一次,OSI没有在OSD轮上睡觉,正在积极研究OSD对AI来说应该是什么。然而,Maffulli强调:“这是一个极其复杂的场景。”我对我们行业的新年愿望是,OSI负责升级云和人工智能的OSD。在过去的几年里,我们一直谴责公司不遵守开源原则,OSI未能使其与软件的最大趋势相关。今年,这需要停止。