开放源码的可持续性实际上是一个人的问题

2020-08-23 20:19:06

很多关于“开源可持续性”的讨论都集中在一件事上,那就是真正不需要帮助就能维持下去的东西:软件。正如托比·兰格尔所指出的那样,“开放源码并不是稀缺的资源。实际上恰恰相反:它是无限可复制的,对用户和生态系统都是零成本的。“。可持续性也不是真正的资金问题,尽管这更接近事实。

不,开源的可持续性确实是一个人的问题。或者,正如兰格尔强调的那样,“在开源领域,从事源代码工作的维护人员是需要保护和培育的稀缺资源。”

在过去的几周里,我采访了很多流行开源项目的维护人员。在每种情况下,他们都会谈论他们是如何做出贡献的,因为这很有趣,但他们也承认开源开发的某些方面可能会让它变得绝对“无趣”(例如,要求抱怨缺少功能或现有错误但不贡献代码或修复的用户)。大多数人都找到了将激情转化为经济独立的方法,但兰格尔强调,现金对于保持开源的顺利进行至关重要:

正是开放源码的这种免费无限复制的能力将系统置于危险之中。没有收入,就没有维护,没有维护,公地很快就会有毒。为什么会这样呢?因为生态系统变化很快。随着新范例的发明,对旧的开源资产的依赖成为阻碍您快速适应业务变化的一种负担。随着新的安全问题被发现,未更新的开放源代码成为安全风险。

换句话说,正是因为有大量免费复制的代码池,移除人员来积极维护它会产生各种各样的问题。用兰格尔的话说,“在缺乏人类干预的情况下,公地不是繁荣昌盛,而是每况愈下。”

开源贡献者可能会发现很难证明为项目做出贡献是合理的,原因有很多。还记得我上面用的“f-word”吗?(有趣。)。社区可能会变成有毒的污水池,将潜在的贡献者拒之门外。或者他们也可以欢迎新人。正如RedHat的Lili Cosic详细描述的那样,Kubernetes社区在工具和政策上投入了大量资金,使其成为贡献者的积极体验。她说:“从长远来看,(库伯内斯方法)将在你可以拥有的贡献者种类上创造更多的多样性。”

归根结底,这感觉像是一个比钱更大的问题,但钱确实起到了作用。开发商需要有能力支付房租,就像其他人一样。这就是为什么Drupal和Acquia的创始人Dries Buytaert已经正确地指出开源实际上是一个特权问题:相对较少的人能够在他们的“空闲”时间做出贡献。空闲时间不是免费的。

即使是那些为贡献贡献而获得报酬的开发人员也在不断地评估在哪里度过他们的开放源码时间的不同选择。正如Aimee Maree指出的那样,“有了这么多钱(开源的),我们不应该期待免费的Work…。。现在和过去的问题更多地是围绕着我们如何留住贡献者,以及为什么新的人会想要加入(某个特定的社区),而这是一份日常工作。“。一些开发人员会容忍他们公司的垃圾行为,但只是在他们找到更好的东西之前。在开源领域,忍受辱骂的理由就更少了,因为他们不是员工,而是贡献者。

即使是那些雇主付钱供款的人也不一定为这些雇主供款。至少不是直接的。正如科西奇在谈到她的库伯内斯作品时所说的那样:“每当我在功能方面做出决定时,我从来没有从红帽的角度来考虑它。我想,‘这是这个项目的目的吗?’“。Redis的一位贡献者Madelyn Olson(也是AWS的员工)也说了同样的话:“我不是代表AWS的[Redis]维护者,我是代表我自己的维护者……。我们应该只贡献对社区有益的东西,而不仅仅是对AWS有利的东西。“。

这就是开放源码的工作方式:由个人作为社区的一部分编写的代码。代码本身并不稀缺,但编写它的人却稀缺。

这就是为什么兰格尔的论点是绝对正确的,“在一个拥有无限资源的生态系统中,注意力需要放在照顾和维护这些资源的人身上,因为这就是瓶颈所在。”同样,这在一定程度上是一个钱的问题,但更多的是一个以尊严和尊重对待人的问题,同时使开放源码社区成为一个有趣、友好的地方。