Suppose that user Mr. Curious posts a question on Stack Overflow.

Maybe their question looks like this:

How do we flatten a list of lists? (in python)

For example, if our input is [[1, 2], [99, 55]], How do we obtain [1, 2, 99, 55] as output?

Now, a user named Mrs. Wise (different than Mr. Curious) writes a substantial answer (more than 500 characters) to the question.

After that, Mr. Curious deletes their own question.

No moderator complains about the question. The question is never reported (flagged).

Mr. Curious deletes their question anyway.

One of the nice things about Stack Overflow is that someone can Google "python flatten nested lists." A Stack Overflow post is often in the top 10 sorted search results.

If a user is allowed to delete their own question, then all of the answers are destroyed with it. If you use a search engine to search for "python flatten nested lists," you will not be able to find those answers anymore.

Maybe after a few years, users get embarrassed about their former naivete, or mistakes.

However, other users can learn from their mistakes, as long as the thread does not get deleted.

I think that the first time an answer is posted in response to a question, it might be nice if the back-end did the following:

  1. Check if the answer is substantial (500 characters or more is a rough heuristic)
  2. If the answer is substantial, change the behavior of delete question feature for Mr. Curious
  3. If Mr. Curious deletes the question, make it the front-display the user-name of a faux user named something like ShyUser

Mr. Curious's question would remains publicly visible, but the username of Mr. Curious would no longer be visible on the front-end.

Anytime people get shy, or embarrassed, about their questions, and delete the question, the front-end makes it look like ownership is transferred to ShyUser

ShyUser need not be an actual account. Instead, a boolean, like "HideUsername", could be an under-the-hood attribute of the question. In a SQL data-base, if questions are stored in a table, "HideUsername" would just be a new column for questions.

Moderators will still be able to flag and delete questions owned by ShyUser which are inappropriate.

The back-end user-id associated with the question need not change.

If ShyUser would normally have their account rescinded for abusing the system, then Mr. Curious loses their account instead.

Really, it is Mr. Curious's user-id under-the-hood.

The question simply has a new attribute, which if true, displays a fake user-name instead of the real one.

"Deleting" your own question would simply anonymize you.

True delete happens if the delete action is executed by a moderator, not the asker, or if the asker attempts to delete a reported/flagged question, or there are no substantial answers.

I am not sure that ShyUser is the best name; feel free to choose an alternative.

  • 14
    We would absolutely not ever consider an automated system that transfers ownership of posts from a user to a bot in such a way. That would be prone to all sorts of abuse. – animuson Jan 9 at 2:26
  • 17
    Ordinarily, the system prevents users from deleting their own question once they've received an answer, so long as that answer has been upvoted. But that still leaves an edge case behind, where users can delete their own questions immediately after they get answered, where the answer hasn't had a chance to get upvoted yet. I think a better way of resolving this issue is to implement a time delay where users can't delete their own question 24 hours after getting an answer. – Sonic the Curiouser Hedgehog Jan 9 at 2:29
  • 7
    I suspect that upvotes are a better heuristic than character count. What OP is asking for sounds like self service dissociation. It's also worth remembering deletions on SE are 'soft' deletions, so it's not gone just hidden. I am not sure of whether OP deleting a question affects the answer ban status of a user posting an answer but it's pretty unlikely even then that without a broader pattern of deleted answers that they would get penalized – Journeyman Geek Jan 9 at 3:28
  • 3
    related at MSO: Can self-censoring end up with a question ban? "deleting a question right after someone posts an answer to it... is seen as so overtly hostile that it does impose a pretty stiff penalty..." – gnat Jan 9 at 11:15
  • @animuson There is no risk of abuse. Ownership of the question would not be transferred to a bot. If users could transfer ownership to a bot, then a practical joker might write a program which posts tons of garbage, and immediately transfer ownership to the faux anonymous user. For what I am suggesting, the question is still associated with the original user-id on the back-end, but the front-end does not display the username. That way, if a person is reported for being a silly practical joker, their account will still be suspended. – Samuel Muldoon Jan 10 at 23:50

This is a great idea to prevent a user from deleting their own question if the question already has a good answer.

However, such thing is already implemented. Once any answer receives even one single upvote, or multiple people have answered (even with no upvotes), the OP (question author) can't delete their question anymore.

What does it mean? It means that if a single user with the privilege to upvote considers an answer as good (hence casting an upvote), the question can't be deleted by its owner anymore, exactly for the reasons you posted.

So, this leaves us with the edge case of users deleting the question when there is one answer that didn't get even a single upvote.

This can be split into two cases:

  1. The answer was good, but the OP was fast enough to delete before anyone had a chance to upvote. This is indeed bad behavior and unfair to the users posting the answers; however, a solution for this has already been suggested, which I think is better than what you propose here. In the meantime, if anyone with the privilege to flag (15 reputation) spots such a behavior of a user, they can flag it for mod attention and the site moderators will handle it.
  2. The answer is not that good. Maybe not bad, but also nobody found it worthy of an upvote. In this case, having it removed along with the question isn't too big a loss for the community. Nothing to worry about.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .