water wheel

支持上游开源贡献的 10 个理由

为了开源的蓬勃发展,我们需要更多组织计算投资回报率,并且…
首页 » 博客 » 支持上游开源贡献的 10 个理由

Eclipse 基金会的 Mike Milinkovich 在 2017 年国际软件工程会议上宣称:“每个软件公司都是一家开源公司。”

六年后的 2023 年 Synopsys 报告中的统计数据继续支持了他的说法:96% 的扫描代码库包含开源。“开源继续证明其持久性,成为绝大多数商业代码库的基础,”该报告称。“它与现代开发如此紧密地交织在一起,以至于代码所有者通常不知道他们自己软件中的开源组件。”

开源软件已成为我们生活方式不可或缺的一部分,我们应该感谢许多组织和个人,他们以各种不同的方式为 OSS 做出贡献,所有这些都是有价值且必要的。

然而,以我作为 Open Infrastructure Foundation (OpenInfra Foundation) 的高级上游开发者倡导者的坦率偏见来看,我认为在 OSS 生态系统中,没有哪个角色比上游贡献者更重要。上游贡献者可以做很多不同的事情——不总是编码。他们报告错误或漏洞,他们指导其他贡献者,或者他们审查和测试正在提议给开源软件项目的源代码库的新代码。从那里,任何使用该项目下游的人都将受益于上游贡献者的工作。许多上游贡献者捐献他们的时间、精力和知识,在没有雇主支持的情况下从事 OSS 项目。其他贡献者代表他们的公司工作,获得认可、工作时间、资金支持、技术资源和/或培训,以资助他们参与一个或多个项目。

组织对上游贡献的支持对于开源至关重要,我们需要更多这样的支持

组织支持上游贡献的首要挑战是财务问题。公平地说,对于必须将工程师从面向客户的开发和支持需求中抽调出来,专注于成为开源项目贡献者的组织来说,让工程师专注于上游贡献可能是昂贵的。对于任何以盈利为导向的组织来说,这是一个可以理解的艰难选择,特别是那些人员配备和预算受限的组织。

更困难的是,记录上游贡献的投资回报率是一个灰色地带,因为贡献 OSS 项目的许多好处无法用美元和美分(或您选择的货币)精确计算。例如,如何量化上游贡献者通过在上游解决问题(在问题成为客户的问题之前)为公司节省的成本以及间接为公司带来的收益?

尽管如此,我认为开源的经济学清楚地表明,支持上游贡献是一个明智而审慎的商业决策。我可以列举出 10 个理由。我邀请您通读此列表,大致计算一下您的组织在每种情况下将获得的收益的估计价值。

组织应支持 OSS 上游贡献的十大理由

构建更好的产品。贡献上游有助于改进您的组织所依赖的软件。

影响项目方向。贡献上游让您在产品路线图上拥有发言权,并保护您在项目的长期性和可持续性方面的利益。

降低维护成本。如果您将更改贡献到上游并将其合并到代码库中,则每次发布新版本时,您都不再需要自行维护下游更改。

改进运营流程,适用于一个和所有项目。当 OSS 项目内的流程变得更有效率时,每个人都会受益。例如,基础设施即代码 (IaC) 实践越来越多地被 OSS 项目采用,以使测试和门控流程尽可能可重现,从而减轻
开发人员和基础设施运营商的负担。此类改进不仅使它们起源的项目受益,而且还使许多其他将效仿的项目受益。

培养内部专业知识。上游贡献者获得可以直接应用于组织自身软件堆栈的知识和专业知识。通过贡献 OSS 项目获得的技术知识通常也可以通过其他方式为企业带来收益。

吸引和留住高价值人才。开发人员重视提升技能、用记录在案的代码贡献构建简历以及在开源社区中发挥积极作用的机会,在这些社区中,他们接触到创新理念、有才华的人和新兴技术。对开源贡献的支持是开发人员经常高度评价的一项员工福利,尤其是那些已经参与关键 OSS 项目的开发人员。相信我:口碑在开发者社区中传播;支持上游 OSS 参与的组织通常被认为是“首选雇主”和工作的好地方。

为强大的集体声音做出贡献。在开源项目上协作的组织有机会通过代表开源价值观发出集体声音来塑造政策和法规。在当今世界,这一点比以往任何时候都更加重要,因为世界各国政府都在权衡数据主权、人工智能、网络安全等方面的限制性政策。

抢先体验创新技术。开源的协作性质促进了创新理念和新兴技术的共享,使上游贡献者站在打破新局面的前沿。 

建立战略关系。开源社区由行业中最受尊敬的专家和成功的企业组成。支持上游贡献的组织有机会建立战略合作伙伴关系,从而带来无价的好处。

宣传您的贡献。对开源项目的上游贡献是软件组织的“锦上添花”。积极支持上游贡献的公司应该毫不犹豫地“自我吹嘘”。他们明智地在公共关系和营销工作中传播这一消息,利用作为优秀开源公民而带来的声望和信誉。

当然,还有更多理由说明为什么支持 OSS 的上游贡献对于大多数组织来说在经济上是明智的,但让我们只考虑我提到的 10 个理由。您对这些收益的财务价值的估计是多少?我敢打赌,投资回报率是显而易见且意义重大的,尽管可能无法精确量化。

为了开源的蓬勃发展,我们需要更多组织计算这种投资回报率,并积极承认 OSS 在其产品和基础设施中发挥的宝贵作用。

如何实现

假设您和您的经理都确信为开源做贡献是个好主意。在一个职位晋升取决于可量化产出的工作世界中,您如何衡量您的努力?

以下是一些入门建议

• 每月或每季度划拨一定量的时间:在您的工作时间表中为开源贡献分配特定的小时数。这可以是固定的时间段,例如每周五的两个小时,也可以是适合您工作流程的灵活安排。

• 设定可衡量的目标并跟踪进度:为您的贡献设定明确的目标,例如修复一定数量的错误或贡献特定功能。定期跟踪您的进度并将其报告给您的经理或团队。

• 将您的贡献纳入关键绩效指标 (KPI) 或目标和关键结果 (OKR):将开源贡献纳入您的绩效评估或 KPI。这可以激励参与并证明社区参与的价值。

如果您身居领导职位,我将给您留下一个额外的挑战:公开记录您组织对开源的支持,并通过为员工的上游贡献建立正式的、积极的支持来言行一致。

请在评论中告诉我您是如何在工作中协商开源贡献的。

作者

  • Kendall Nelson

    Kendall 是 Open Infrastructure Foundation 的上游开发者倡导者,常驻美国。她最早在 Liberty 版本 (2015) 期间开始在 OpenStack 的 Cinder 上工作,此后参与了 Release Management、StoryBoard、Women of OpenStack (WoO)、First Contact SIG、Contributor Guide 和 OpenStack Upstream Institute。她最近更多地参与了 Kubernetes 社区,帮助通过 SIG Cloud Provider 和提供商 OpenStack 将其与 OpenStack 社区联系起来。当她没有宣传 OpenStack 的强大功能、将人们带入社区、将开源社区联系在一起或努力使开源中的上游开发成为一个更友好的地方时,她可能会在阅读《哈利·波特》、观看《神秘博士》或外出进行摄影探险。

    查看所有文章

2 条评论

发表评论

如果您喜欢这篇文章,您可能也会喜欢这些