Eugen Rochko 刚刚 报告 社交服务 Mastodon “月活跃用户已达 1,028,362 […] 自 10 月 27 日以来新增 1,124 台 Mastodon 服务器和 489,003 名新用户”。Mastodon 主要为开源开发者所知,但突然变得主流,承诺将包容、开放和自由的价值观带入社交媒体。如果 Mastodon 过去是可持续的,那么现在它正蓬勃发展,吸引着用户和开发者,并能够在几天内启动 1000 多台服务器。用户和基础设施的这种增长如何解释?在本文中,我们想提出开源领域存在不同类型的可持续性,并且这些可持续性之间可能存在有趣的互动。
我们凭直觉就知道开源是可持续的:它已经存在了几十年,它在数字经济中的重要性不断增长,公共机构也积极尝试参与开源事业。尽管如此,开源可持续性仍然是实践者和学者关注的关键问题。在实践方面,最近的项目如 Bitergia 和 Augur 正在识别可持续性和项目健康状况的整体衡量标准。一个完整的团体聚在一起讨论开源可持续性。对于学者来说,IEEE 最近发布的征稿启事 询问如何让公共机构改善开源项目的长期可持续性。
3 种可持续性类型
最近的一篇文章 认为存在三种类型的可持续性:基于资源的可持续性、互动可持续性和基础设施可持续性。基于资源的可持续性历来最受关注。这种可持续性指的是开源参与者吸引资源(如开发者)或价值(如知识)的能力。世界上很大一部分人过去对吸引贡献者的能力感到困惑。经济学家 早在过去就提出的一个问题是:“为什么数千名顶尖程序员会免费为提供公共产品做出贡献?任何基于利他主义的解释都只能到此为止”(Lerner 和 Tirole,2000 年,第 2 页)。尽管开源的可持续性不再取决于其吸引人的能力,但仍然需要大量的贡献者。那些不再吸引贡献者的项目可能会面临维护和安全问题。
互动可持续性关注的是在开源领域中创建和维持的关系类型。某些互动带来什么价值?开发者如何协作以尽可能制作出最好的软件?例如,自由软件和开源之间的历史性辩论涉及到在开源中应该提倡哪种类型的互动,与谁互动,以及为了什么目的。红帽等导师计划的存在表明了传承“开放”和互惠价值观的重要性。最近,行为准则的引入也旨在更好地定义期望的互动价值观,即具有包容性的价值观。
最后一种可持续性是关于开展任何工作所需的基础设施。许多开源开发都依赖于基础设施。如果没有 GitLab、GitHub,甚至 Git,开源开发的成本会高得多,设置起来也会复杂得多。这些类型的项目充当平台,使许多开源项目能够开发和协作。它们还为开源项目如何协调奠定了基础。当开发者共享版本控制系统时,他们可以更快地上手并开始为其他项目做出贡献。
开源领域的可持续性策略
当将可持续性视为多种类型时,首先要分析它们如何互动。最近 Opensource.com 的一篇文章 展示了一个可持续性关系的例子。文章指出,公司必须参与他们无法控制的项目并与竞争对手合作,这似乎是自相矛盾的。公司的可持续性取决于其培养可持续社区的能力。这是一种等级关系:一方的可持续性导致另一方的可持续性。但是您也可能会质疑这种等级关系:不同的参与者是否对可持续性有不同的优先级或价值观?社区的可持续性目标是否与公司不同?
这些问题引导您战略性地思考开源可持续性。制定可持续性策略会产生直接后果:“实现”开源可持续性可能是不可能的。参与者对可持续性采取一种精打细算的——尽管可能是互惠互利的——方法。例如,一个组织可能希望快速发展一个项目,而社区可能更愿意关注基础设施可持续性。此外,可持续的优先事项可能会演变并变得有争议。事实上,可能存在不同类型的可持续性意味着您也可能会发现自己面临不同参与者(例如,社区、核心开发者、组织等)持有的相互矛盾的可持续性目标。这些目标本身可能是值得的,但加在一起可能会导致权衡取舍。
[ 相关阅读 减少网页设计浪费的 5 个开源技巧 ]
我将关注 Linux 内核中的一个历史事件,该事件表明对可持续性的理解是如何取决于具体情况的。2002 年,随着 Linux 内核的增长,Linus 决定更改版本控制系统,以更好地适应不断增加的更改(基础设施可持续性),因为越来越多的开发者为该项目做贡献。在研究了现有的可用系统后,他最终选择了 BitKeeper,因为它最适合 Linux 中的开发实践。BitKeeper 是一个专有项目,这并没有困扰 Linus。然而,迁移到此版本控制系统的决定惹恼了许多开发者,他们可能会因此停止贡献(基于资源的可持续性下降)。开源旗舰项目怎么能依赖专有系统(互动可持续性下降)?VC 系统的所有者是否会切断对其的访问并挟持社区(基础设施可持续性风险)?尽管 BitKeeper 的创始人发了一封电子邮件承诺不会这样做,但试图对 BitKeeper 进行逆向工程(使用开发者资源并优先考虑互动可持续性)最终结束了 Linux 和 BitKeeper 之间的合作。
最近 Mastodon 的例子展示了一个协同增长的场景。该社交平台可以通过添加新服务器和连接围绕主题、兴趣或任何类型群体的新实例来指数级地增长基础设施可持续性。相比之下,其互动可持续性在明确的行为准则中得到了很好的定义,并根据每个实例进行调整,从而准备好提高其基于资源的可持续性。
可持续的未来
这些只是一些简短的例子,但它们足以说明不同类型的可持续性相互影响,而且并非总是积极的影响。如果存在多种可持续性类型,那么您能最大限度地提高所有类型的可持续性吗?或者您是否应该最大限度地提高一种可持续性,只要它不会对其他可持续性产生负面影响?应该优先考虑哪种类型的可持续性?或者您应该寻求某种平衡?这些战略性问题对于未来、新成立的和成熟的开源项目都很重要,因为它们面临着不同的可持续性斗争,对于可能希望评估项目如何理解其可持续性优先事项的资助机构也很重要。
评论已关闭。