ESLint v8.x 已于 2024-10-05 结束生命周期,不再维护。 升级 或考虑 长期支持选项

一年支付贡献者:回顾

作为 ESLint 集体的目标之一,我们在过去一年里一直在支付贡献者的报酬。我们分享了我们尝试的不同方法及其结果。我们重视贡献者的投入,并且一直在寻找更好的方式来回报他们的工作。

早在 2019 年 2 月,我们就宣布启动了 ESLint 集体 来资助 ESLint 的持续开发。寻求资金的主要原因之一是,维护一个项目所需的时间越来越多,截至今天,该项目每周的下载量超过 1300 万次。我们在 2019 年最后一个季度才开始支付贡献者的报酬,因为我们想看看我们的每月赞助会稳定在什么水平,并且这样我们可以存一些钱,保证一定金额可以用来支付贡献者的报酬。从那时起,我们尝试了几种不同的方法,取得了不同程度的成功和失败,我们想分享这些经验。

技术指导委员会

技术指导委员会 (TSC) 是一个由五人组成的团队,负责管理 ESLint 项目的总体方向。每次 ESLint 版本发布的大部分工作都是由 TSC 成员完成的,包括实际的发布过程本身。此外,TSC 成员还审查问题和拉取请求,并在外部活动中代表 ESLint。所有这些都是我们开始寻找一种方法来支付 TSC 成员报酬的原因,其中许多成员在 ESLint 获得资助之前就已经参与了该项目多年。

以下是我们的解决方案

  • 每位 TSC 成员将获得每小时 50 美元的报酬,用于任何对 ESLint 的贡献。贡献包括在 GitHub 上实际工作的时间、编写代码或文档、参加会议(包括 ESLint 会议和他们代表 ESLint 参加的外部会议)以及为社区提供支持(通过电子邮件、聊天等)。
  • 每位成员的付款上限为每月 1000 美元。设置此上限的主要目的是确保我们每月捐款中的一部分得到储蓄,其次是为了劝阻 TSC 成员除了全职工作之外,不要在项目上花费太多时间。我们不想资助导致倦怠。
  • 后来,我们在 TSC 成员之间分配了来自 Tidelift 的资金。我们称之为“TSC 津贴”,每月支付给每位 TSC 成员,无论他们贡献了多少小时。TSC 津贴计入每位成员每月 1000 美元的限额,成员可以为他们贡献的小时数与 Tidelift 金额之间的差额开具发票。

到目前为止,这种安排非常有效。自从开始支付 TSC 报酬以来,我们已经看到 TSC 成员的参与度逐渐提高。为有价值的工作支付报酬是有意义的:当工作得到明确的重视时,人们更愿意去做。总的来说,我们将项目这部分称为成功。

专职维护者

早在 2019 年 11 月,我们就 宣布 聘用长期维护者 Kai Cataldo 作为专职维护者。Kai 最近离开了他的全职工作,希望花更多时间在 ESLint 上。我们没有足够的预算为他在这方面的工作支付合理的全职薪水,所以我们同意每周工作 20 小时,每月 5000 美元,Kai 将每周剩下的 20 小时用于其他项目或自由职业。

我们尝试了几个月,之后发现这种安排对 Kai 来说不可持续。虽然来自 ESLint 的付款是稳定的,但他必须每周花很多其他 20 小时寻找方法来赚取足够的钱。因此,我们将安排更新为每周 10 小时,每月 2500 美元,以便 Kai 有更多时间寻找其他工作,同时仍然提供基本的 ESLint 时间。

不幸的是,这种安排也不起作用。再次,在 ESLint 职责和尝试寻找其他兼职工作之间分配时间,证明比我们任何人都意识到的要困难得多,本月,Kai 决定辞去专职维护者的职务。他将继续留在 TSC,并且仍然有资格获得 TSC 成员的报酬。

这对团队来说是一件困难的事情,我们认为开源可持续性方面存在一个重要的教训:即使我们收到捐款,ESLint 的收入也不足以支付维护者的全职薪酬。当这种情况发生时,维护者面临着一个艰难的抉择:我们可以尝试使兼职开发工作,但很难找到其他兼职工作来弥补我们每月所需的收入以使其有价值。在某些情况下,做兼职工作会使寻找其他工作变得更加困难,因为你的时间受到限制,而其他自由职业者则不受此限制。

鉴于 Kai 的经历,我们目前正在重新考虑将来如何(以及是否)希望聘用专职维护者。

其他实验

除了 TSC 报酬和聘用专职维护者之外,我们还尝试了其他一些方法来向更多贡献者分配报酬。我们的最终目标是能够支付 ESLint 大部分,如果不是全部,贡献者的报酬,因为所有贡献都有帮助。我们还没有完全想出如何运作的细节,但我们已经尝试了其他一些实验。

  1. 对于 v7.0.0,我们决定向对该版本做出巨大贡献的几位贡献者支付 250 美元的一次性报酬。贡献者们既惊讶又高兴,但我们也了解到,在一些国家,关于我们美国人所说的自雇收入的规定非常严格。并非所有人都能参与其中。
  2. 长期贡献者 Kevin Partington 开始花很多时间帮助我们的 Discord 社区成员,为了感谢他为此做出的贡献,我们开始为他提供每小时 25 美元的报酬,用于他提供的任何帮助。如果你曾经光顾过我们的 Discord 并寻求帮助,很有可能帮助你的人就是 Kevin。

总结

总的来说,我们一直在寻找对 ESLint 有意义和有影响力的贡献,以便我们可以奖励人们为这些贡献支付报酬。随着我们寻找使 ESLint 在可预见的未来保持可持续发展的方法,我们将继续尝试以不同的方式支付贡献者的报酬。

并非我们尝试的所有方法都取得了成功,我们也没有期望所有方法都能成功,但我们坚信,继续解决这个问题是值得的。维护像 ESLint 这样的项目需要大量的工作和来自许多人的大量贡献。唯一能让这种情况继续下去的方法是为人们的时间付费。

最新的 ESLint 新闻、案例研究、教程和资源。

ESLint v9.14.0 released
阅读 2 分钟

ESLint v9.14.0 发布

我们刚刚发布了 ESLint v9.14.0,这是 ESLint 的一个次要版本升级。此版本添加了一些新功能并修复了先前版本中发现的几个错误。

ESLint v9.13.0 released
阅读 1 分钟

ESLint v9.13.0 发布

我们刚刚发布了 ESLint v9.13.0,这是 ESLint 的一个次要版本升级。此版本添加了一些新功能并修复了先前版本中发现的几个错误。