简介:我们现在在哪里,我们要去哪里,我们将如何到达那里,以及我们将如何保持在那里?
本文翻译自作者 VM BRASSEUR 的文章 Sustainability for Open Source Projects: 4 Big Questions
“可持续发展”这个词在自由和开放源码软件(FOSS)中被经常提起。什么是可持续性,它对你的项目意味着什么?
可持续发展的概念并不是起源于20世纪80年代,但它在那个时候获得了最为广泛的关注,这要归功于 Brundtland 的报告,该报告是联合国在1987年发布的,由一个跨职能的科学家、政策制定者和商业人士组成的团队经过三年的研究所形成的。该报告将可持续发展定义为”既满足当代人的需求,又不对后代人满足其自身需求的能力构成危害的发展”
虽然我们在这里所说的可持续发展指的是全人类这个范畴,但这个定义也适用于自由和开放源码软件的开发。然而,在不同的项目中,对这个定义的实际解释会有很大的不同。一方面,对于一个小而流行的 Python 库来说,可持续性可能意味着通过将核心贡献者的数量增加一倍来增加总线因素,从而避免维护者的倦怠,以确保总是有人可以为项目工作。实现这一点可能需要额外的文档、自动化以及培训,以指导新的贡献者,所以这不一定是一个项目可以在一夜之间完成的事情。
另一方面,有像 Blender、Let’s Encrypt、Inkscape 和 Signal 这样的项目。相对于这些项目的用户数量(通常以百万计),他们的贡献者很少(不超过几百人)。吸引更多的贡献者可能是这些大型项目的一个目标,但它可能比提供社区、财务独立、扩大基础设施或关键开发的合同等项目的优先级低。
通常,关于 FOSS 可持续性的讨论最终都是以财务状况的好坏来形容,但正如你从上面的例子中可以看到的那样,这并不是那么简单。维护者支付一定的报酬是很好的出发点,但是如果维护者仅仅只是在为基本的项目和社区维护而拼命工作的话,这对项目的可持续发展是没有任何帮助的。
事实上,经过对许多项目的仔细检查,可能会发现它们的可持续发展之路涉及到人员和财务要素的结合,需要加以平衡和优先考虑。这种检查本身可能是一个困难的过程,但如果项目社区通过自由和开放源码软件可持续发展的四大问题来进行检查,就会变得相对容易一些。
我们现在在哪里,我们要去哪里,我们将如何到达那里,以及我们将如何保持在那里?能够回答这些问题可以使项目和社区更强大、更加具有可持续性。
回答这些问题需要多长时间,这在很大程度上取决于项目、需求和文化。有些人会对更敏捷的东西感到舒服,制定最小可行的计划,然后定期对它们进行迭代。其他人可能更喜欢瀑布式的方法,提出一个详细的路线图来打动潜在的赞助商和贡献者。唯一错误的方法是根本不做,错误地认为项目的可持续性是可以推迟到以后的事情