译自Open Source Is at a Crossroads,作者 Bill Doerrfeld。
开源软件正经历中年危机。开源贡献者们正在努力跟上步伐。流行的开源项目正在进行限制性许可变更。
后门威胁正在使开源供应链面临危险。而且,似乎没有人对“开放” 在人工智能背景下意味着什么有一个清晰的把握。
如果任由这种挑战的旋风肆虐,那么这将是一个可怕的前景。“如果开源软件消失,对我们生活的影响将是无法估量的,” Apache 软件基金会执行副总裁Ruth Suehle说。然而,这个全球生态系统已经开始出现裂痕,因为许多项目缺乏维持软件的基本资金,而这些软件实际上运行着世界。
就像濒临崩溃的脆弱气候一样,如果开源软件的生命之水开始枯竭,将会产生重大的连锁反应。“如果水循环中的一个环节中断,井水将无法得到补充,而依赖它的人们将遭受痛苦,”Suehle 说。
然而,一些开源维护者已经觉得他们别无选择,只能重新定位他们的软件许可证以维持生存。“当今的开源软件正处于一个临界点,” Buoyant 首席执行官William Morgan说。据 Morgan 称,开源贡献者和使用这些项目的公司之间出现了显着的不平等,这需要改变开源价值链的基本动态。
其他人则认为,对于一个几十年来经受过宏观经济不确定性考验的行业来说,今天的拐点并不是什么新鲜事。
“与开源软件过去面临的一些其他问题相比,这些紧张局势相形见绌,”Chainguard创始人兼首席执行官Dan Lorenc说。然而,他承认,该行业目前正处于一个重大的十字路口,在思考和消费开源软件的方式上。在这种环境下,其他技术领导者质疑开源模式是否仍然是一种有效的商业战略。
突然的许可变更
对于大多数开源用户来说,最重要的是最近一系列针对大量使用的项目的限制性许可变更,包括 HashiCorp 的Terraform、Redis、Elasticsearch和 Bouyant 的Linkerd。“去年许多大型开源项目中的许可变更让整个行业都感到惊讶,”Traceloop 首席执行官兼联合创始人Nir Gazit说。
突然转向更具限制性的许可证使用户质疑开源软件作为一个整体的寿命。“作为 Apache-2.0 存储库的开源维护者,我经常听到潜在用户表达这种担忧,”他说。
转向更具限制性的源代码不仅会影响个体开发者用户,还会影响围绕开源项目构建业务的公司。
Liz Rice 是 Isovalent 的首席开源官,也是云原生计算基金会和 OpenUK 的董事会成员,她也认为围绕重新许可的趋势对开源软件来说是一个紧迫的挑战。
她说:“虽然这些公司有权保护自己的商业利益,但重新许可在整个生态系统中引发了许多问题和担忧。”
开源许可的另一个定义不明确的领域是确定在人工智能领域中究竟什么是开源软件。例如,开放语言语言模型可以在专有资产上进行训练,从而使所有权变得复杂。“开源许可证通常假设软件 IP 存在于源代码中,”Neo4j 的首席技术官Philip Rathle说。“人工智能将此转移到了上游。”
没有免费的午餐
开源模式的最大问题在于,绝大多数免费使用这些项目的组织都不会积极回馈,无论是通过财务还是代码提交。相反,他们更有可能要求错误修复或扩展,给维护人员施加不应有的压力,让他们无偿工作。
正如摩根所描述的,“开源已经成为,正如布鲁斯·佩伦斯所说,一个‘伟大的企业福利计划’,受益者是微软、亚马逊和苹果等公司,他们通过开源获得了数十亿美元的收入,而慈善工作者则是维护人员和开发项目的工程师。”
AsyncAPI Initiative 创始人Fran Mendez表示,人们通常也不会意识到开源项目的社区管理是一项全职工作。这包括代码之外的任务,如设计、技术写作、营销、解决纠纷和维护行为准则。这些举措需要资金支持,但项目管理人员很少获得可持续的资金。
考虑 Lightbend 的案例,该公司最近更改了 Akka(分布式应用程序的 SDK)的开源许可证。正如 Lightbend 首席执行官Tyler Jewell所解释的,13 年后,该团队无法再在没有使用该软件的近 100,000 家商业组织公平贡献的情况下维护该软件。“我们改变了许可证模式,以便让我们能够更好地维持项目的维护和改进,同时仍然让绝大多数开发人员免费使用它。”
经济逆风
开源社区的困境无疑源于更大的经济环境。本世纪初的利率环境较低,洛伦茨认为这引发了开源公司和项目数量的大幅增长。但现在,我们正在经历重大的调整。“时间和金钱更加稀缺,这使得贡献者或公司更难分配资源,”他说。
“许多(但并非全部)开源企业都处于十字路口,”Fermyon 首席执行官Matt Butcher说。长期以来,理论是构建一个开源工具,建立一个社区,然后想办法将其货币化。但现在,处于最后阶段的公司面临着巨大的利润增长压力,他说。“对于一些公司来说,这意味着放弃开源模式。”
CNCF 首席技术官Chris Aniszczyk,解释说,缺乏证明开源合理性的资源也可能源于“过剩的财富”问题。由于有如此多的项目争夺关注,创新项目比以往任何时候都更容易失去所需的资源。“作为一个行业,我们应该考虑将精力集中在识别和维持关键的开源项目上,”他说。
运营不成熟
威胁开源的不仅仅是业务可持续性问题,还有不成熟的软件供应链管理实践。“不加考虑地采用项目,而不管如何维护或保护它们,只会延迟不可避免的痛苦,而我们今天就面临着这种痛苦,”洛伦茨解释说。
例如,网络威胁暴露了现代软件解决方案中固有的漏洞,Linux 基金会估计其中 70%-90% 是免费和开源软件。最近一次破坏性的攻击涉及攻击者向xz Utils提交恶意提交,xz Utils 是 Linux 中一个无处不在的开源压缩工具。
开源生存所需
开源基金会
首先,专家们一致认为,像 Linux 基金会和 Apache 软件基金会这样的开源基础机构将在稳定开源的未来中发挥关键作用。“我们从这个十字路口走上的道路很可能涉及更多捐赠给基金会的项目,”Rice 说。此类机构可以指导开放治理并制定规则以禁止重新授权,从而让开发者在将项目集成到其软件中时更加放心。
更公平的生态系统
其次,开源软件维护者将需要在资金和积极贡献方面获得更多支持以维持其项目。“我们现在需要的很多东西不是技术解决方案,而是协作,”Suehle 说,“尤其是来自依赖开源的组织。”
根据 Aniszczyk 的说法,这种协作必须超越 GitHub 赞助商和捐赠平台,这些平台实际上将维护者变成了零工经济工作者。Mendez 提出了一个未来模型,其中 Open Collective 为某些附加功能启用更类似于 Stripe 的结账体验。
有意的商业策略
并非所有内容都需要开源。因此,一个更可持续的开源生态系统将取决于仔细确定哪些内容应该是免费和开放的,哪些内容值得成为高级内容。对于 Butcher 来说,一个好的经验法则是开源个人开发者需要的技术,同时限制仅对大型部署或组织有用的高级功能。
新框架
传统的开源定义与快速发展的 AI 世界并不相符。“我们需要一个新的框架来适应所有这些细微差别,”Rathle 说。他强调了GenAI Commons的工作以及衡量 AI 模型中所有组件的开放性(例如基础数据集、预处理代码、模型架构和模型参数)的新许可证的重要性。
加倍重视安全性
“安全性不能在行业的任何地方成为事后诸葛亮,但这尤其适用于开源,在开源中,由付费贡献者和志愿者组成的分散社区独立运作,”Lorenc 说。他说,内存安全语言和默认安全设置可以在很大程度上消除大部分错误和攻击媒介。使用 SBOM 和漏洞扫描程序进行更好的库存管理也将是保护开源软件的关键。
案例研究:AsyncAPI 倡议
社区主导和可持续开源倡议的一个示例是AsyncAPI。AsyncAPI 于 2016 年成立,旨在为消息传递 API 定义一个开放标准规范。正如Mendez 所述,当他意识到 Slack 正在积极地在生产中实施 AsyncAPI 时,AsyncAPI 就不仅仅是一个副项目了。随着 AsyncAPI 的采用和社区支持的增长,公司试图收购其知识产权。
然而,在 2021 年,该社区将该项目捐赠给了Linux 基金会,从而保护了该技术及其作为供应商中立倡议的治理。
然后,Mendez 在 Postman 找到了一份工作,Postman 一直在资助他全职从事 AsyncAPI 的工作,没有任何附加条件。“我们非常幸运,”他说。这种情况很少见,这就是他相信更多公司应该投资雇用人员来全职支持开源的原因。
案例研究:Linkerd
但是,并非所有开源项目都可以通过这种方式获得公平的资金,尤其是在一家公司几乎负责所有开发的情况下。考虑最近的演变围绕Linkerd,流行的轻量级云原生服务网格。“我们今年早些时候决定停止构建 Linkerd 开源稳定版本工件,并开始对专有稳定版本工件收费,”Bouyant 的 Morgan 描述道。
有趣的是,这一举动符合CNCF 毕业项目的规则,因为它们不要求管理员发布新版本。尽管为高级付费用户提供稳定版本的门禁决策引发了一些开源狂热者的愤怒,但 Morgan 表示有必要达成更健康的平衡。“因此,Linkerd 比以往任何时候都更健康、发展得更快,我们对该项目的再投资能力也呈指数级增长。”
时代在变
尽管预算困难是开源生态系统中的首要挑战,但它们并非该领域的独有现象,因为近年来整个科技行业都在进行紧缩和裁员。为了削减成本,企业还面临着不断上涨的云原生成本和精简开发人员生产力的迫切需求。“整个软件行业正面临着一系列挑战,我将其比作多年无忧无虑的采用之后的‘宿醉’,”Lorenc 补充道。
但是,鉴于开源软件的普及程度,该生态系统中的断裂令人担忧。如果更多项目落后,可能会产生全面的不利影响。因此,公司应该了解他们正在使用的开源,并考虑如何回馈。“我们项目、基金会、国籍和雇主之间的开源协作对于整个世界至关重要,无论是时间、金钱、技能还是其他资源的贡献,”Suehle 说。
问题是,许多维护者呼吁协作,但他们仍然缺乏与消费者的公平交换。这种情况可能会扼杀早期创新者,迫使许多人重新考虑开源软件模型。正如赖斯所说,“在每个人都不太看好非基金会开源项目的环境中,初创企业可能难以开发和保护自己的知识产权作为竞争优势。”
也就是说,开源软件生态系统非常庞大,某些领域正在经历积极增长。“开源在文字和精神上都在蓬勃发展,”Rathle 说,他指出了围绕开源 AI 的兴奋。这种兴奋和发展可能会激发新一代开源创作者——希望他们能得到应有的支持。