开源软件一直存在集成挑战,无论是在整合 Linux 发行版,还是在结合地理分布的社区开发的程序子系统方面。然而,今天我们看到这些挑战随着网络和云原生计算等领域的大型项目生态系统的兴起而变得更加突出。

集成是我与 Linux 基金会社区和生态系统发展副总裁希瑟·柯克西 对话 的主题之一,该对话是为了 Cloudy Chat 播客录制的。我们还讨论了模块化以及开发者如何参与开源网络。在过去的三年里,柯克西一直指导 Linux 基金会的 开放平台网络功能虚拟化 (OPNFV),该平台现在是 LF 网络基金 的一部分,该基金致力于改进开源网络项目之间的协作和效率。
柯克西说:“我们目前面临的挑战之一是我们汇集了一群以前分散的网络社区。”
她指出:“我们一直跨项目工作。当然,OPNFV 的存在理由是跨项目集成。现在,在同一个 [Linux 基金会网络组] 中,试图共享活动、共享预算、试图为习惯于自我封闭的社区设定共同的优先事项,我不得不说这是一个问题。”
柯克西告诉我,这是一个将重点从内部转移到更外部的问题——当一个项目刚开始时,内部重点通常是有益的。“对于人们来说,开始同时考虑他们的特定项目需要什么,以及在更大的背景下,‘我们都在同一条成功或失败的船上’,这具有挑战性。开始将‘我如何与过去可能接触过的人合作,但现在我与他们属于同一个组织?’作为你的默认设置。”
部分原因只是花时间,因为根据柯克西的说法,“我们专注于代码,但代码是由人组成的。这是为这些人创造机会,让他们真正见面,开始看到彼此之间的协作成功。”
与此同时,模块化也很重要。首先,它降低了为项目做出贡献的门槛。此外,柯克西说,“从最终用户的角度来看,你可能不需要所有的东西。你可能只需要一些东西。因为有很多项目协同工作,你希望它们是离散的。你希望它们能够很好地插入在一起。”
OPNFV 项目从一开始就不得不关注系统集成,它发现拥有持续集成/持续交付 [CI/CD] 系统以及自动化测试,是集成模块化元素的有用工具。
柯克西建议,OPNFV 是开始使用开源网络的好地方,因为它是系统集成、部署和测试工作,它着眼于整个网络堆栈。她补充说:“在某种程度上,你将接触到许多其他技术和其他上游项目。此外,由于我们非常重视测试,很多时候[如果开发者是]新加入一个项目,参与测试是一个很好的方式,因为测试人员通常需要人。他们通常非常友好,非常乐意接受你。这是一个熟悉代码的简单方法,因为你正在进行测试。编写测试用例可能比提交补丁或拉取请求更容易一些。”
她总结说,项目协同工作的好处超出了软件模块的集成。“可以从那些可能正在解决不同问题,或者以不同方式思考问题,或者不同用例,或者具有不同需求的最终用户群的人们那里学到见解。以当今世界的状况来看,如果开源社区为我们提供了锻炼同理心的机会,那将是一件好事,一件很棒的事情。”
更多信息,请收听完整播客 [MP3],了解我们的对话。
评论已关闭。