Closed arnaucube closed 9 months ago
Hey!
I totally approve of your idea to automate typo detection. I have even personally suggested it to folks in the past.
But you have totally misunderstood my intentions here. Since you have taken the time to go through my recent PR contributions, I would suggest that you go back and check all my PR contributions AND bug reports over the years.
While you will find many typo fixing PRs as it's a low hanging fruit and I'm not a developer but a tech fan and I do it just for fun, you will also find that I have contributed in very diverse projects that have no connection to crypto whatsoever. So if my intention would be to farm PRs why would I waste my effort and contribute to projects I have nothing to gain from? The answer is that I do it only for projects I like for different reasons and it's my way to say thanks to the developers.
But after reading your reasoning, I do see why you would think I am a "PR farmer". By the way, this is the first time I stumble upon this term!
Anyway, no hard feelings and keep doing what you are doing :)
Motivation: Since recently more projects are starting to do airdrops and using lists of repositories to reward contributors (eg. Namada, StarkWare, etc), a new wave of airdrop farmers has emerged, no longer collecting discord chat points but now going after code contributions. In the era of bots and automation, we must protect humans attention and time, and in this case we can avoid spending time on airdrop-farmers PRs that could simply be avoided by having our own automated tool.
This has been already a problem to other projects, we were postponing it but seems that we are now target too: https://github.com/privacy-scaling-explorations/folding-schemes/pull/75
A quick look at the PR author profile shows some other PRs from the same user executing a typo-finding-tool and opening PRs (listing here only few): https://github.com/privacy-scaling-explorations/snark-verifier/pull/60 https://github.com/privacy-scaling-explorations/chiquito/pull/210 https://github.com/privacy-scaling-explorations/zk-kit/pull/182 https://github.com/privacy-scaling-explorations/halo2curves/pull/140 https://github.com/privacy-scaling-explorations/p0tion/pull/266 https://github.com/privacy-scaling-explorations/maci/pull/1245 https://github.com/privacy-scaling-explorations/zkevm-circuits/pull/1780 https://github.com/privacy-scaling-explorations/bandada/pull/409 https://github.com/ethereum/solidity/pull/14815 https://github.com/netdata/netdata/pull/17049 https://github.com/ethereum/c-kzg-4844/pull/397 https://github.com/ethereum/hevm/pull/458 https://github.com/aptos-labs/aptos-ts-sdk/pull/300 (Notice that in this case, the reviewers asked a small change and the PR-farmer decided it was not worth the effort) https://github.com/aptos-labs/aptos-networks/pull/61 https://github.com/nimiq/core-rs-albatross/pull/2241
There are now even twitter tutorials on how to farm contributions: https://twitter.com/Abrahamchase09/status/1759101213381959960 , which has their results: https://twitter.com/toghrulmaharram/status/1759228275228905511 .
A solution could be from time to time do a PR fixing all typos, as done here: https://github.com/risc0/risc0/pull/1319 , but this does not prevent future typos from happening.
What this PR does: Add GitHub CI that runs typos so future PRs will run the
typos
check to detect typos. Also this PR fixes the detected typos.About the tool:
Multilinear, evals, arkworks, thiserror, Circom, biguint, nbits, ...
and a thousand more), since it works with a dictionary of correct words approach.