从业者指南:组织参与入门

主要指标:

如果您还没有阅读 从业者指南:简介 - 解释指标时要考虑的事项,请现在暂停并阅读该指南。

组织可以对开源项目的健康和可持续性产生重大影响。一方面,组织可以通过雇用人员来从事他们使用的开源项目或为这些项目贡献其他资源来帮助项目长期维持下去 (Egbahl 2016)。这种积极影响对于那些得到各种组织大力支持的项目尤其如此,这些项目没有一家公司主导或控制一个项目,而且该项目也由一个中立的基金会托管。

Miller 等人 (2019) 发现,在工作时间做出大部分贡献的贡献者离开项目的可能性较小;但是,当他们离开时,他们更有可能因为职业原因(例如,找到新工作)而离开项目。因此,一方面,组织参与可以帮助提高开源项目的可持续性,尤其是在有各种组织参与的情况下。可持续性下降的风险增加来自于项目中只有一个占主导地位的组织,因为如果员工离开该组织,该组织内的员工保留也会影响项目的可持续性。

如果所有或大部分贡献都来自一家公司的员工,那么当该公司改变战略、被收购、资金耗尽并倒闭时会发生什么?如果领先的公司将其所有员工撤出该项目,该项目还能继续下去吗?公司经常做出商业决策,导致不再资助员工从事开源项目,这可能导致项目一次性失去大量维护者(Egbahl 2016)。特别是,单一供应商开源项目,尤其是由大型科技公司支持的项目,可能看起来风险不大,但在许可证变更(Foster 2024)或领先公司(或该公司的一些关键贡献者)停止从事该项目后,它们很快就会对其他组织变得不可行。

从贡献的角度来看,如果一个组织拥有所有的影响力,而其他人感觉他们并没有平等地参与,那么在项目中晋升甚至合并贡献都会很困难。

第 1 步:确定趋势

在开源项目中识别组织影响力的最大挑战是,如果不进行一些手动清理,组织从属关系数据几乎永远不够准确,无法使用,因为它通常来自不完善的数据源(例如电子邮件域)。有关此问题的更多详细信息,请参阅本文档后面的诊断部分。

一个好的起点是看看 大象因子 确定如何在多个组织之间分配工作以及 组织多元化 查看哪些组织正在做出贡献。最后,考虑一下也很重要 组织影响 了解哪些组织有员工担任领导或其他决策职位。

大象因子

大象因素着眼于社区内跨组织的工作分配。该指标的主要目标是查看项目中的工作是由为单个组织还是少数组织工作的人员完成。如果大部分工作是由在一家公司工作的员工完成的(如下例所示),那么与贡献分散在许多组织中而没有贡献的项目相比,该项目的使用风险可能更大,也更难做出贡献。单一组织占主导地位。

按域提交活动的饼图显示 VMware 占 70.5%、gmail.com 占 16.3%、users.noreply.github.com 占 4.52%、其他占 4.32%

组织多元化

通常,用于确定大象因素的相同可视化也可用于查看组织多样性。例如,前面的“大象因素”图表还告诉您哪些组织是社区内的主导力量。它还可以帮助查看社区不同元素的组织多样性,以确定社区中的某些区域是否比其他区域具有更多或更少的组织多样性。

按数据源划分的跨 GitHub PR/Issue、Slack 和 Pipermail 的随时间变化的活跃组织

组织影响

组织影响力是衡量一个组织对开源社区影响力的指标。它可能比其他一些指标更难衡量,因为它通常涉及到雇用担任领导角色的人员的组织(例如,董事会、工作组、维护者、提交者)。在大多数情况下,这需要通过查看治理或包含有关领导职位详细信息的其他文档来进行手动评估。对于一些项目,当领导力数据存储在具有结构化数据的文件中时,这会更容易,如以下示例所示 Istio 领导职位。正如您在 Istio 示例中所看到的,了解组织影响力如何随时间演变可能会很有用。

2022 年 30 月,Istio 于 XNUMX 月 XNUMX 日作为孵化项目加入 CNCF 之前:

Istio 领导职位(SC、TOC、WG Lead) 26 家公司的 9 人 - 12 人在 Google,4 人在 IBM

2023 年 12 月,就在 XNUMX 月 XNUMX 日被接受为 CNCF 毕业项目之前:

Istio 领导职位(SC、TOC、WG Lead) 26 家公司的 11 人 - 7 人在 Google,5 人在 Solo.io,4 人在 IBM

第 2 步:诊断

在开源项目中识别组织趋势的最大挑战是,如果不进行一些手动清理,组织从属关系数据几乎永远不够准确。大多数工具(包括 CHAOSS 的 GrimoireLab 和 Augur)主要依靠电子邮件地址域(例如 google.com、microsoft.com)来确定某人的工作地点,但人们经常使用中性电子邮件地址(例如 gmail.com)或以其他方式混淆他们的电子邮件(例如 users.noreply),因此许多包含组织数据的图表开箱即用。

需要大量清理的数据示例:gmail.com 42.6%,users.noreply.github.com 14%

另一种方法是使用人们添加到个人资料中的组织,但根据经验,我们知道很少有人填充这些数据,而且由于它是自由格式的文本,即使他们填充了它,它也常常不一致,以至于无法轻松使用(例如,IBM、International Business Machines、IBM GmbH)。人们换工作也很常见,所以你不仅需要知道某人在哪里工作,还需要知道他们在那里工作的时间。不幸的是,如果你真的想了解组织对开源项目的影响,最可靠的方法是手动验证数据,清理不准确的从属关系,并将这些数据存储在你的指标工具或其他数据集中。 魔法书实验室分院帽 工具是管理和存储清理后的隶属关系数据的一种选择。 CNCF保持着比较好的(但不完美) 组织隶属关系数据集 对于为其项目做出贡献的开发人员,他们通过鼓励开发人员/组织更新他们的信息来做到这一点,但他们也聘请全职承包商来手动查找更改并进行更新。

正如从业者指南简介中提到的,您应该首先与一些密切参与该项目的人交谈,因为他们可能了解人们的工作地点和其他组织动态,而这些在原始数据中可能并不明显。

清理完组织从属关系数据后,您就可以开始解释它。如果大部分工作是由在同一家公司工作的员工完成的(如本例所示),那么与贡献分散在许多组织中且没有单一组织的项目相比,该项目的使用风险可能更大,贡献也更困难。组织占主导地位。

如果这是一个由您自己的组织推动的项目,并且您是主要贡献者,您应该考虑是否真的想鼓励其他组织的人员做出贡献,或者您希望其他人如何做出贡献。

第 3 步:根据需要收集其他数据

CHAOSS 还有与组织影响相关的其他指标,可以帮助诊断社区内的特定问题。

附加指标:

第四步:做出改进

当您面临的项目只有一个(或少数)组织且其员工做出了大部分贡献时,如何改进这一点取决于您自己组织的员工是否是主要贡献者,或者项目是否由员工主导为另一个组织工作的人。

你的组织占主导地位

在这种情况下,第一步是认真考虑您是否真的想向为其他组织工作的员工征求贡献,以及您的维护人员是否能够成功管理这些贡献。

虽然不是最理想的,但在某些情况下,不向组织外的人征求贡献也许是可以的。但是,如果是这种情况,那么您需要在贡献指南和其他项目文档中非常清楚地说明这一点。没有什么比做出贡献却发现他们只接受员工的贡献更令人沮丧的了。在某些情况下,您的项目中可能存在您希望人们做出贡献的领域,而非员工做出贡献的领域则更难。您还应该在项目文档中公开说明其他组织的人员是否/如何担任维护者或其他领导角色。明确和透明地说明这些期望可以减少员工和其他贡献者的挫败感和困惑。

如果您确实需要其他人的贡献,您应该花一些时间思考为什么您还没有得到这些贡献。当决策和讨论显然是在私人员工渠道中进行时,当您使用只有员工才能访问的内部错误跟踪器和路线图工具时,或者当不清楚贡献者如何承担时,常见的威慑因素是缺乏透明度在项目中承担更多的责任和领导力。这种缺乏透明度使得维护者很难取得成功。在讨论为什么应修改或不接受贡献时,维护者需要能够与外部贡献者共享先前讨论、做出的决策、问题和其他工作的链接。如果维护人员需要挖掘内部工具、收集信息并决定哪些部分可以/不能共享,那么他们不太可能及时有效地响应外部贡献者。将过去的工作公开可能可行,也可能不可行,因为可能存在有关客户的敏感信息以及员工可能在内部发布的其他私人信息。然而,随着时间的推移,通过确保未来的项目工作仅在公共渠道进行,这个问题可以得到解决。这说起来容易,但通常很难做到,您可能需要教育一些员工如何公开开展这项工作。例如,维护人员可能需要接受培训,以便在领导项目时进行困难的对话并以同理心做出回应;习惯于在客户会议上收集需求的产品经理可能需要帮助调整他们的流程和工具,以便公开地做到这一点。您也可能需要通过让关键贡献者和维护者将私人对话重定向到公共渠道来监管这一情况一段时间,因为习惯很难打破。

如果您想要贡献并已建立项目以便工作透明且公开地进行,那么是时候开始招募了。拥有强大用户群且拥有相当多采用者的项目更有可能吸引贡献者,因此,如果您的公司外部没有人员使用您的项目,您应该首先向适当的用户群营销您的项目。这可以通过社交媒体、会议演示、博客文章和其他标准营销渠道来完成。

假设您有现有用户,您很可能至少认识一些使用您项目的人。重要的是要记住,并非每个用户都对贡献感兴趣,因此可能需要一些时间才能找到合适的人选,但不要犹豫,利用您的组织与客户和其他在相关领域工作的组织的关系。在许多情况下,通过让员工做出贡献,您可能会无意中设定这样的期望:您的员工将永远是做这项工作的人,因此从其他组织招募第一位主要贡献者是重新设定这些期望的第一步。指导已被证明是一种有效且高效的方式,可以让组织外部的人员加入,帮助他们更快地在您的项目中发挥生产力(Fagerholm 等人,2014 年)。良好的第一个问题和需要帮助的标签是一个好的开始,但您还需要主动联系潜在的贡献者,以寻求他们对特定项目工作的帮助,并且您需要有关于其他人如何进入维护者或其他领导角色的文档。所有这些都在 可持续发展贡献者实践指南.

另一个组织占主导地位

在其他情况下,您可能有兴趣使用和贡献一个项目,其中大多数/所有贡献都来自另一个组织的员工。您应该首先参与社区活动,以更好地了解他们是否希望从为其他组织工作的员工那里获得贡献,如果是,您的员工的贡献方式是否有任何限制。在某些情况下,这些信息可以在治理或贡献文档中找到,但如果没有,您可能只需要参与项目的沟通渠道。测试这一点的一种方法是要求他们记录现有的治理和贡献流程,如果他们不愿意记录,那么该项目可能不欢迎贡献者。使用该项目可能会使您的组织面临风险,因为它增加了许可证变更(Foster 2024)或如果领先公司放弃该项目而变得过时的可能性。

在大多数情况下,项目渴望有来自其他组织的贡献者。如果您的组织正在使用一个项目,那么帮助该项目更具可持续性的最佳方法之一就是让您的一些员工将其作为工作的一部分做出贡献。让您的员工做出贡献可以让您的组织在做出决策时拥有参与权,并且可以降低您的风险,因为这些员工更有可能提前了解重大项目变更。

第 5 步:监控结果

您如何监控结果将取决于您决定进行哪些改进。继续监控这 3 个指标是一个好的开始。如果您使用了步骤 3 中的其他数据,您还应该监控这些指标。

项目可能需要时间来招募用户和贡献者,因此像前面的 Istio 示例一样,了解组织影响如何随着时间的推移而变化尤为重要。如果需要一段时间才能吸引更多人为您的项目做出贡献,请不要灰心。

注意事项和注意事项

  • 在考虑组织对开源项目的影响时,保持透明至关重要。在文档中说一件事而做另一件事可能会损害您组织的声誉,而不仅仅是诚实和透明地说明人们可以(或不能)为您的项目做出贡献。
  • 如果您正在考虑使用开源项目作为您的产品或基础设施的关键组件,那么当该项目由单个组织控制时,您应该仔细考虑该决定。

补充阅读

反馈

我们很乐意收到反馈,以了解更多有关人们如何使用 CHAOSS 从业者指南以及我们如何随着时间的推移对其进行改进的信息。请完成此 简短的调查 提供您的反馈。

合作者

以下人员为本指南做出了贡献:

  • 黎明福斯特
  • 路易斯·卡纳斯·迪亚斯

案例

CHAOSS 从业者指南是 MIT 授权的动态文档,我们欢迎您的反馈和意见。您可以在以下位置建议对本文档进行修改 https://github.com/chaoss/wg-data-science/blob/main/practitioner-guides/organizational-participation.md