This has come up a few times now in moderator circles, but with the exception of Andy's Robot there hasn't been a lot of public discussion that's applicable. That feels kinda negligent to me, so... Here goes.
For the past five years, it's been trivially easy to script requests to the Stack Exchange API that trigger actual changes to these sites. Kevin Montrose laid out some ground rules for this at the time...
Stack Exchange is very protective of the quality of content on its sites, and will deal harshly with harmful behavior. While it's impossible to list all forbidden behavior, a good rule of thumb is "if a user would be flagged or banned for doing something, your app will as well".
Some examples of write abuse that will be punished:
- Spam, of any sort.
- "Auto-commenting" based on post heuristics.
- Abusively "following and pestering" another user.
- Automating flagging or closing based on dumb heuristics.
Now, I think those are pretty good rules - and they certainly make it easier on the moderators; if you see a user doing something bad, suspend them - no need to worry about whether they're doing it via the API, via a userscript, or by manually clicking buttons.
But there's a wee problem when it comes to votes... Moderators and other members of the site can't see them at all.
These sites make it pretty easy to earn voting privileges, and quite generous with their daily allowance of votes once those privileges have been earned. Most folks don't vote nearly as often as they could... But an automated script certainly can. We have some fairly well-established rules about voting when it comes to targeting other users, but when it comes to heuristic-based voting... There's been relatively little consistency or discussion on what is appropriate.
There's currently a user using some sort of script to down-vote questions based on some sort of heuristics: old, unanswered, no votes... Maybe something else? Not sure. The end result of this is often deletion - the questions are either deleted by their authors, or by the system.
Now... It's debatable whether this is doing any harm; these are effectively abandoned questions, and there's a compelling argument that we should be deleting more of these anyway.
But, there are a LOT of questions being downvoted this way. 3399 questions over just the past 7 days, across several dozen sites - and over a thousand of those questions are now deleted. As a result, we've been getting questions and complaints from moderators asking us to look into this...
If we were going to start consistently restricting automated voting - or punishing it - what should the criteria be for doing so? And, why?
One requirement: restrictions must be applicable to anyone voting via any normal mechanism - on-site, via an app, via the API, etc. In other words, "no one should be able to vote more than 5 times per day via the API" doesn't work, but you could argue "no one should be able to vote more than 5 times per day period."