作者 | Bill Doerrfeld
编译 | 言征
出品 | 51CTO技术栈(微信号:blog51cto)
“开源这个全球生态系统中,裂痕开始显现,因为许多项目缺乏基本资金来维持真正运行世界的软件。”
开源软件正面临中年危机。开源贡献者正在努力跟上步伐。流行的开源项目正在进行限制性的许可更改。后门威胁使开源供应链处于危险之中。而且,在人工智能的背景下,似乎没有人清楚地理解“Open”的含义。
如果任由其螺旋式发展,这种旋风般的挑战将带来可怕的前景。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的董事会成员,她也认为重新许可的趋势对开源来说是一个紧迫的挑战。
她说:“虽然这些公司完全有权保护其商业利益,但重新许可在整个生态系统中引发了许多问题和担忧。”
开源许可的另一个定义不清的领域,即,确定什么是人工智能领域的开源。例如,开放的语言模型可以在专有资产上进行训练,从而使所有权问题复杂化。Neo4j首席技术官Philip Rathle表示:“开源许可证通常认为软件IP位于源代码中。”“人工智能将这一点继续向上游转移。”
二、不再有免费午餐
捐赠罐不适用于开源。开源模型的大问题是,绝大多数自由使用这些项目的组织都没有积极地为它们做出贡献,无论是在财务上还是通过代码提交。相反,他们更有可能要求修复或扩展错误,给维护人员带来不必要的压力,让他们无偿工作。
摩根有这样的描述,“正如布鲁斯·佩雷斯所说,开源已经成为一个‘伟大的企业福利计划’,受益者是谷歌、微软、亚马逊和苹果等公司,他们可以在开源的基础上建立数十亿美元的收入流,慈善工作者是开发项目的维护者和工程师。”
AsyncAPI Initiative创始人Fran Mendez说,人们也不经常意识到开源项目的社区管理是一项全职工作。这包括规范之外的任务,如设计、技术写作、营销、应对纠纷和遵守行为规范。支持这些举措需要资金,但项目管理人员很少得到可持续的资助。
以Lightbend为例,它最近更改了Akka的开源许可证,Akka是一个用于分布式应用程序的SDK。正如Lightbend首席执行官泰勒·朱厄尔所解释的那样,13年后,如果没有近10万个使用该软件的商业组织的公平贡献,该团队将无法再维护该软件。“我们改变了许可证模式,使我们能够更好地维持项目的维护和改进,同时仍然向绝大多数开发者免费提供。”
三、经济逆风
开源社区的斗争无疑源于更大的经济环境。本十年伊始,出现了低利率环境,洛伦茨认为这带来了开源公司和项目数量的巨大繁荣。但现在,我们正在经历重大调整。他说:“时间和金钱更加稀缺,这使得捐款人或公司更难分配资源。”
Fermyon首席执行官Matt Butcher表示:“许多(但不是所有)开源企业正处于十字路口。”
长期以来,人们的理论是建立一个开源工具,建立一个社区,然后找出如何将其货币化。但现在,处于最后阶段的公司面临着增加利润的巨大压力,他说。“对一些人来说,这意味着放弃开源模式。”
CNCF首席技术官Chris Aniszczyk解释说,缺乏资源来证明开源的合理性也可能源于“财富过多”的问题。有这么多项目在争夺关注,创新项目比以往任何时候都更容易失去所需的资源。他说:“作为一个行业,我们应该考虑将精力集中在识别和维持关键的开源项目上。”
四、运作不成熟
威胁开源的不仅仅是业务可持续性的疑虑,不成熟的软件供应链管理实践也是如此。洛伦克解释道:“在不关心或不考虑如何维护或保护项目的情况下,随意采用项目只会把不可避免的痛苦延迟了,而我们今天正面临这种痛苦。”
例如,网络威胁暴露了现代软件解决方案中固有的漏洞,Linux基金会估计,这些解决方案由70%-90%的免费和开源软件组成。最近的一个筑坝漏洞涉及攻击者向xz-Utils(Linux中无处不在的开源压缩工具)进行恶意提交。
五、开源需要什么才能生存
1.开源基建
首先,专家们一致认为,像Linux基金会和Apache软件基金会这样的开源基金会将在稳定开源的未来方面发挥关键作用。Rice说:“我们从这个十字路口走出来的道路可能会涉及更多为基金会捐款的项目。”这些机构可以指导开放治理,并制定规则禁止重新许可,让开发人员在将项目集成到软件中时更加放心。
更公平的生态系统
其次,开源软件维护者将需要更多的资金支持和积极捐款来维持他们的项目。Suehle说:“我们现在需要的大部分不是技术解决方案,而是合作,尤其是来自依赖开源的组织。”
根据Aniszczyk的说法,这种合作必须超越GitHub赞助商和捐赠平台,这将有效地将维护人员转变为零工经济工作者。Mendez提出了一种未来的模式,其中Open Collective为某些附加功能提供了更多类似条纹的结账体验。
合理的商业策略
并非所有东西都需要开源。因此,一个更可持续的开源生态系统将取决于仔细确定什么应该是免费和开放的,什么应该是溢价的。对于Butcher来说,一个很好的经验法则是开源个人开发人员所需的技术,同时选择只对大型部署或组织有用的高级功能进行收费限制。
2.新框架
传统的开源定义与快速发展的人工智能世界不太吻合。Rathle说:“我们需要一个新的框架来适应所有这些细微差别。”
他强调了GenAI Commons的工作以及衡量人工智能模型内所有组件开放性的新许可证的重要性,如基础数据集、预处理代码、模型架构和模型参数。
3.加倍提高安全性
洛伦克说:“在这个行业的任何地方,安全都不可能是事后考虑的,这尤其适用于开源,在开源中,由付费贡献者和志愿者组成的分散社区都是自主运作的。”他表示,内存安全的语言和默认的安全设置可以在很大程度上消除大量漏洞和攻击媒介。使用SBOM和漏洞扫描仪进行更好的库存管理也是保护开源软件的关键。
六、案例一AsyncAPI倡议:更多公司应该投资雇佣全职支持开源的人
AsyncAPI是社区主导和可持续的开源计划的一个例子。AsyncAPI成立于2016年,旨在定义消息传递API的开放标准规范。正如Mendez所描述的,当他意识到Slack正在生产中积极实施AsyncAPI时,它不仅仅是一个附带项目。随着对AsyncAPI的采用和社区支持的增加,企业试图收购知识产权。
然而,在2021年,该社区将该项目捐赠给了Linux基金会,作为一项与供应商无关的举措,保护了该技术及其治理。
Mendez随后在Postman找到了一份工作,该公司一直在资助他在AsyncAPI上的全职工作,没有任何附加条件。“我们非常幸运,”他说。这种情况很少见,这就是为什么他认为更多的公司应该投资雇佣全职支持开源的人。
七、案例二Linkerd:流行的开源服务网格转向收费
然而,并不是所有的开源项目都能以这种方式获得公平的资金,尤其是当一家公司负责几乎所有的开发时。考虑一下最近围绕Linkerd的发展,Linkerd是流行的轻量级云原生服务网格。Bouyant的Morgan描述道:“今年早些时候,我们与Linkerd决定停止构建开源稳定发布工件,转而开始对专有稳定发布工件收费。”
有趣的是,此举符合CNCF毕业项目的规则,因为他们不要求管理员发布新版本。尽管为保费支付者提供稳定版本的决定引发了一些开源狂热者的愤怒,但摩根表示,有必要取得更健康的平衡。“因此,Linkerd比以往任何时候都更健康、增长更快,我们对该项目的再投资能力也呈指数级增长。”
八、开源的时代,在改变
尽管预算问题是开源生态系统中的首要挑战,但它们并不局限于这一领域,因为近年来,科技行业一直在紧缩开支和裁员。组织还面临着不断上升的云原生成本,以及精简开发人员生产力以降低成本的冲动。洛伦克补充道:“整个软件行业正面临一系列挑战,我把这些挑战比作无忧无虑的采用多年后的一场‘宿醉’。”
但是,考虑到开源软件的普遍性,这个生态系统中的断裂令人担忧。如果更多的项目半途而废,可能会产生全面的不利影响。因此,公司应该意识到他们正在使用的开源,并考虑如何回馈。Suehle说:“无论是时间、金钱、技能还是其他资源的贡献,我们的项目、基金会、国籍和雇主之间的开源合作对整个世界都至关重要。”
问题是,许多维护者已经呼吁合作,但他们仍然缺乏与消费者的公平交流。这种情况可能会扼杀早期的创新者,迫使许多人完全重新思考开源软件模式。
正如Rice所说,“在一个每个人都不太看好非基础开源项目的环境中,初创企业可能很难开发和保护自己的知识产权作为竞争优势。”
也就是说,开源软件生态系统是广阔的,某些领域正在经历正增长。Rathle说:“开源在文字和精神上都在蓬勃发展。”
同时,他指出了开源人工智能带来的兴奋。这种兴奋和发展可能会激励一个开源创作者的新时代——希望能得到他们应得的支持。