
Back in 2022, we shared our plan to pay all contributors for non-trivial contributions to ESLint. Our belief was that all contributions of a certain size are valuable and it didn’t make sense to pay team members for their pull requests and not pay anything for work done by outsider contributors. We decided that people deserved to be compensated for taking the time out of their day to contribute regardless if this was their only contribution or an ongoing one. For outsider contributors, we called this the contributor pool.
What was the contributor pool?
The contributor pool was a pool of money set aside each month to pay outsider contributors for meaningful contributions to the project. Initially we started with a $1,000/month pool before moving to a 10% of monthly income pool. Eligible contributions could be pull requests (even documentation updates), helping answer questions in Discord, or anything else that was a net benefit to the project as a whole. We hoped that doing so would encourage more contributions and in many cases it did. While most first-time contributors had no prior knowledge of the contributor pool, it did attract repeat contributions and, eventually, new team members.
Over the last couple of years, the number of contributions grew and so did the payouts. In 2025, we paid out USD $24,680 to outside contributors. We considered this a success.
| Year | Amount |
|---|---|
| 2022 | $7,900 |
| 2023 | $4,500 |
| 2024 | $14,100 |
| 2025 | $24,680 |
| Total | $51,180 |
You might think that we decided to retire the contributor pool due to the growing expense. That’s not what happened.
What happened?
In 2025, we started to see a shift in the contributions coming in. We, just like all open source projects, started seeing more AI-generated issues and pull requests. We debated whether or not these contributions should be eligible for the contributor pool and ultimately decided that they should not be. Pointing tokens at ESLint and saying “fix this” or “implement that” isn’t the type of contribution we were trying to attract with the contributor pool. We’re happy to have the contribution, but it’s not like someone took a lot of time to learn about ESLint and how it works in order to contribute.
More and more AI-generated pull requests started coming in so we asked people to disclose whether they used AI right in the pull request description. Some people did, some people didn’t. So we started doing more due diligence to try and distinguish between pull requests written by humans and pull requests written by AI. Unfortunately, that also grew more difficult as models continued to improve. Then came the AI monitors.
“AI monitors” is a term I use to describe people who seem to go out of their way to call people out for using AI without attribution. We started getting people commenting on PRs insisting that it was written by AI and shouldn’t be part of the contributor pool. There were people monitoring the contributor pool monthly report trying to sniff out who was using AI. I was personally receiving direct messages from people warning me that certain accounts were actually AI and I should look closely at those contributions before paying them. All of this took the joy out of the contributor pool.
With AI-generated pull requests now dominating the project, we made the sad decision to retire the contributor pool effective immediately. We were all tired of spending time trying to determine if a pull request was AI-generated or not. We have plenty of other things to spend time on.
Conclusion
The contributor pool was an approach designed for a completely different time in open source. A time when we were still making human-to-human connections through a shared goal of creating great software. It worked well for a time, and we’re grateful to everyone who made a meaningful contribution to ESLint in the last five years. It introduced us to many future team members who remain with the project today. Whether or not AI-powered contributions will lead to the same type of dedication as human-authored contributions is yet to be seen. All I can say at the moment is that open source has changed and we need to change with it.
