在今年于北卡罗来纳州罗利市举行的 Opensource.com 社区版主会议上,红帽 CEO Jim Whitehurst 发表了一番令我印象深刻的评论。
他说:“开源的供应链是源代码,而构成该供应链的人员却不够多元化。”
技术行业以及更具体地说是开源社区中的多样性和包容性已获得大量报道,无论是在 Opensource.com 还是其他地方。解决此问题的一种方法是强调关于更抽象概念的论点,例如人类尊严。
但是“供应链”的比喻也适用。当人们驳斥基于抽象概念的诉求的论点时,这可能成为倡导在我们的开放组织中实现更大包容性的有效论据。开放组织需要包容性,这是获得多样性的必要投入,从而降低我们供应链中的风险。
那么,为什么多样性在源代码中很重要?尤其是在理论上开放性意味着贡献者群体是地球上的所有人时?
开源倡导者肯定熟悉这个短语:“供应商锁定”。对于许多组织而言,这个术语是一个贬义词。与单一供应商紧密联系的想法,以至于供应商业务实践(例如,定价模式)的改变可能会对组织产生巨大影响,这让领导者感到不安。无论是用于制造产品的原材料、用于运营业务的软件,还是其他任何东西,组织都希望有选择。
他们可能永远不会切换到替代方案,但仅仅拥有这样做的能力就有助于降低风险。一家公司可能非常乐意继续从 A 公司购买台式机,因为他们知道,如果 A 公司的质量或价格发生太大变化,B 公司随时可用。即使在特定的提供商内部,拥有选择也有助于提高弹性。任何设计容错云服务的人都会将资源放置在不同的区域,即使所有资源都在同一提供商上运行。
同样,缩小编写代码的人员范围会缩小我们可以借鉴的经验范围。每个人的生活都是独特的,但从更广泛的角度来看,人们仍然可以有非常相似的经历。因为我们编写源代码是为了解决人们的问题,而人们是多样化的,所以我们需要有一个多样化的贡献者群体。实际的代码行可能不会从多样性中获得太多好处——例如,编写 printf 语句的方法只有那么多——但该代码的设计(及其实现的功能)肯定会受益。
你有没有和拄着拐杖的人一起走在街上?或者和坐轮椅的人一起走过高高的自助餐线?或者看过一位女性在社交网络上发表不受欢迎的言论时的回复?人们以不同的方式体验世界,如果我们不考虑到这一点来设计我们的技术,我们将无法为我们想要服务的人们提供服务。
不考虑您不熟悉的场景是很自然的。即使当您尝试考虑您的技术可能被使用(或不被使用!)的所有方式时,这也是一个挑战,并且您会遗漏一些东西。但是拥有更多样化的团队意味着您自然会捕捉到更多用例。这将有助于团队集思广益提出新的用例。您仍然无法捕捉到所有内容,但您会取得进展。您将避免不良宣传、用户流失、资金损失等风险,因为您不会犯对于具有不同经历的人来说显而易见的错误。
您供应链的多样性本身可能不会让您成功,但它将有助于防止失败。
评论已关闭。