Stack Overflow Has Eaten Itself

Before I recommend that you kill it and start over, let me be clear.

Stack Overflow is a monstrously helpful resource for a developer like me. When I have a programming question that escapes my available documentation, I end up on Stack Overflow the majority of the time. If it's not answered on SO, there's a good chance it's not answered anywhere.

Anecdotally, I'm noticing the following trends:

  • The age of the best answers is increasing.
  • The probability that the accepted answer is most useful is decreasing.
  • Some of the best information on the site is in highly-upvoted answers to questions that were closed for being duplicates.
  • The proportion of users with a high reputation score who are primarily site admins is increasing, and is far larger than the group of high-rep subject matter experts (SMEs).

Also, here are some points about how the community behaves:

  • Edits to answers to make them correct are rejected. This is apparently the job of the answer's author.
  • The standard for what constitutes an answer is high enough that people frequently leave critical information in comments instead.
  • The "professional admins" are extremely strict about marking questions as duplicates, rejecting edits, and other actions that are likely to restrict the quantity of new questions, answers and updates.

Here's the problem: Knowledge changes, often gradually.

For example, the revision control system Git has changed a lot over time. Initially it was a set of separate commands -- git-rebase, git-merge, etc. Then everything was consolidated into a single binary with commands: git rebase, git merge, etc. And as people used it, tasks that people found difficult or error-prone were streamlined.

Here's an example: Undo 'git add' before commit. This question has multiple answers with 100+ upvotes. It has a non-accepted answer with 1000+ upvotes, including mine, because that answer is currently the best solution to the problem. And it has an accepted answer with 2000+ upvotes that isn't the best answer. Either git changed, or best practice changed.

Here's the other problem: SO reputation isn't real reputation -- the weight of a human in another human's thoughts. Real reputation decays. Real reputation can be damaged. Real reputation is awarded to SMEs generously, and editors only rarely.

SMEs don't want to troll through high volumes of low-quality questions or else they quit. Admins are therefore encouraged (and rewarded with reputation) for closing questions aggressively. But then the best answers become obsolete, and fresh answers to old questions can never be the accepted answer.

The current admin system doesn't encourage good new questions and doesn't retain SMEs. Without questions and answers, StackOverflow is merely a historical record of a system that cannot function in the presence of real users.

What would I do?

Implement reputation decay (down to a reasonable floor), and then reset reputation for high-rep users to that floor.

There's no reference link for that idea. I can't imagine why none of the high-rep SO users have suggested it. ;)

Everybody seems to think that SO worked before, and with incremental changes not working, a reset of some kind is in order. Destruction of existing questions and answers would pretty much instantly destroy the value of the site. Destruction of reputation would be destructive to the existing community, but the common thread in the community's complaints is the nature of the current community.

With reputation reset, perhaps SO might once again blossom into the sort of meritocracy that people claim it once was. Or it might make things worse, but if your most valuable users are leaving in droves, how much worse can it get?