ESLint 维护者分享通过赞助资助开源实用程序的挑战

已发表: 2020-10-23

ESLint 是最受欢迎的 JavaScript linting 实用程序之一,由于其开源许可证,它迅速超越了更成熟的早期竞争对手。 明确的许可使该项目得以广泛使用,但并未立即转化为持续开发的资金。 尽管每周下载量超过 1300 万次,但其维护者仍难以支持该实用程序。

自推出 ESLint Collective 以资助贡献者的努力一年多以来,该项目的领导层分享了追求赞助模式的一些成功和挑战。 一项没有成功的努力是聘请专门的维护人员:

这对团队来说是一件困难的事情,我们认为关于开源可持续性有一个重要的教训:即使我们收到了捐款,ESLint 也没有带来足够的收入来支付全职维护人员的费用。 当这种情况发生时,维护者将面临一个艰难的决定:我们可以尝试做兼职开发工作,但很难找到其他兼职工作来弥补我们需要的月收入以使其物有所值。 在某些情况下,从事兼职工作会使您更难找到其他工作,因为您的时间有限,而其他自由职业者则没有。

ESLint 探索的一项成功的实验是向其五人技术指导委员会 (TSC) 支付费用,该委员会是负责管理发布、问题和拉取请求的项目领导。 成员每小时可获得 50 美元的捐款和在项目上花费的时间,上限为每月 1,000 美元。 这个上限可以防止 TSC 成员在日常工作之外花费太多时间在项目上,这样他们就不会感到筋疲力尽。

该团队报告说,这种津贴安排“非常好”,贡献也在缓慢增加:“有话要说,为有价值的工作付钱给人们:当工作被明确重视时,人们更愿意去做。”

在像 WordPress 这样的大型项目中,企业贡献对其持续发展至关重要。 近年来,Five for the Future 活动帮助补偿了许多贡献者,因为他们的雇主支付了薪水,同时捐赠了他们在 WordPress 上工作的时间。

WordPress 的一些重大进步需要大量的时间和专业知识投入。 解决问题需要跨团队工作数月来构建适用于数百万用户的复杂解决方案。 这就是为什么你看不到免费建造古腾堡的大军。 大部分发展是由有偿员工推动的,如果没有企业捐赠员工时间,否则可能不会发生。 Automattic、Google、Yoast SEO、10up、GoDaddy、Human Made、WebDevStudios、WP Engine 和许多其他公司集体承诺每月投入数千小时的劳动。 支持 WordPress 的公司和个人的多样性有助于该项目保持稳定并更好地度过生活中的风暴。

像 ESLint 这样的小型开源项目很少有相同的资源可供使用,并且必须进行试验。 该团队总结了对赞助商付费贡献者的一年回顾,表示: “维护像 ESLint 这样的项目需要大量工作和很多人的大量贡献。 继续这种情况的唯一方法是为人们的时间付费。”

当即使是最受欢迎的公用事业公司也难以获得足够的赞助,小型项目还有什么希望? 许多在开发人员的工作流程中变得不可或缺的实用程序正朝着变得不可持续的方向发展。

“不幸的是,像这样的公用事业公司很少从捐赠中获得任何有意义的资金,无论它们被广泛使用或受到喜爱,”OSS 工程师 Colin McDonnell 在他的新筹资模式提案中说。 “考虑一下反应路由器。 即使在 GitHub 上有 41.3k 颗星,从 NPM 每周下载 300 万次,以及在基于 React 的单页应用程序中几乎普遍采用,它每年也只能带来约 17,000 美元的捐款。”

McDonnell 提出了“赞助池”的概念,以资助无法从现有开源融资模式中受益的小型项目。 开源支持者可以每月向“钱包”中捐赠一定数量的资金,然后将这些资金分配给他们为赞助商池选择的项目,而不是按项目进行捐赠。 实施的关键部分是只需单击一下即可将新项目添加到池中,从而减少与支持额外项目相关的心理摩擦。

McDonnell 建议 GitHub 是唯一拥有将这种模型作为 GitHub Sponsors 扩展的基础设施的组织。 Hacker News 的一位评论者提出,赞助商和“赞助商池”的概念可以同时存在。

“我相信,作为开发者的赞助人,感觉就像你在支持一个有感情、故事和家庭的创作者……和想要成为一个拥有我受益的项目批准清单的好公民,这两者之间存在着有意义的区别。来自并想要支持,”Pete Forde 说。

“我可以赞助 Matz,获取他的最新信息,并且很高兴知道我被视为支持者,并且每月拨出 $$ 来为我在项目中使用的所有工具做出贡献,仅仅是因为这是正确的做法,而且我希望这些项目长期存在。 它们是完全不同的举措。 Patreon vs Humble Bundle,如果你愿意的话。”

Tidelift 是 HN 讨论中强调的另一个概念。 它有一种不同的、独特的方法来资助开源工作。 Tidelift 从使用该软件的组织中汇集资金来支持维护者。

“我维护红宝石葡萄,一个中等规模的项目,”Daniel Doubrovkine 说。 “我们每月从 Tidelift 获得 144 美元。 随着越来越多的公司注册企业赞助,美元金额也在增加。 这是一个游泳池。”

Snowdrift 采取了一种更不寻常的方式来汇集赞助,赞助人“众筹”彼此的捐款来资助公共产品。 它作为一个非营利合作社运行,为服务于公共利益的免费和开放项目提供资金。

Flossbank 更具体地针对资助开源项目,并采用技术方法来确保对已安装开源包的整个依赖关系树的公平贡献。 该组织声称提供“一种免费且无摩擦的”方式来回馈维护者。 安装开源软件包时,开发人员可以选择在终端中选择以技术为中心的精选广告。 作为替代方案,他们可以设置每月的捐赠金额,以分散在他们安装的软件包中。

没有一种单一的筹资模式适合所有项目,但以各种方式汇集赞助的实验似乎正在流行,特别是对于支持可能不擅长营销他们的工作的维护者。 围绕支持实用程序的对话继续在 Hacker News 上进行。 依赖其中一些实用程序的 WordPress 开发人员可能希望加入并分享他们在资助小型项目方面的经验。