30

I saw this question where the OP was asking why his question got closed as "not constructive". I edited the question into something more "constructive" and it had a few reopen votes, but while I was writing up an answer to the meta question I discovered the question had been deleted by 3 community members. This all happened in under an hour.

I don't think we should be deleting someone's question so quickly when they bring it up on meta, particularly when the question isn't terrible and other users are attempting to help them correct the problem and get the question reopened.

And it certainly isn't a very good way to welcome new meta community members when they come here asking about one of their questions to try to understand the system better.

Would there be any way prevent a question from getting deleted by the community during a reopen attempt, or when there is a recent (< 24h?) meta post that contains a link to the question?

This isn't the first time I've worked to try and get a question reopened, and it's been deleted by the community midway through the process.

8
  • It appears that deleting a post does not reset or cancel reopen votes it has. Your reopen vote appears just fine in the Revisions page, so having the post deleted only adds one extra step of undeleting it first, assuming it wasn't deleted by a moderator. Feb 5, 2013 at 14:36
  • 3
    @ShaWizDowArd Yes, I was specifically referring to preventing community-deletions, and not moderator deletions. It hinders the edit/reopen process because far fewer users can view deleted questions.
    – Rachel
    Feb 5, 2013 at 14:40
  • Fair point. I upvoted this request but not sure that enforcing a new policy is required. In most cases, one flag (as Other) can make the question reopened and (undeleted if needed) in an instant by a moderator, which was the case on the question you mentioned. (Not sure it was flagged, maybe the mod saw the Meta discussion and went by himself) My point is that don't take it hard if nothing is done per your suggestion (or even if it's downvoted) but you can always bring here on Meta cases where you believe question should be reopened, if flagging didn't help. Feb 5, 2013 at 14:43
  • @ShaWizDowArd I flagged it :) And don't worry, I realize this may be something that is too tricky to implement, or might be considered not worth implementing, but I do want to raise awareness of the fact that we really shouldn't be deleting questions when the OP is making an attempt to understand the closure, or when members in the community are trying to get the question reopened.
    – Rachel
    Feb 5, 2013 at 14:44
  • 14
    To be blunt, I'd stop trying to make gold out of lead. It's simply not worth the effort on Stack Overflow.
    – casperOne
    Feb 5, 2013 at 14:45
  • 12
    @casperOne I don't want to make gold. I want to help a community member who is seeking an answer, and has taken the time to try and understand the system a bit better :)
    – Rachel
    Feb 5, 2013 at 14:51
  • 7
    @Rachel That's kind of the point. You're not helping people much by going and doing a massive re-edit of every question you think might be salvageable. While posts are community collaborated, we still leave a good amount of onus on the author to do the work to improve the quality. We shouldn't have to perform Herculean efforts for every new user who just doesn't get it. Teach a man to fish, don't just give him fish.
    – casperOne
    Feb 5, 2013 at 16:12
  • 8
    @casperOne I would hardly say my edit was "Herculean", but thanks :) I would expect SE to be happy to have users willing to help a user edit their question to make it constructive, to give the OP an example of how questions should look to go along with an explanation. Far too often I only see users pointing out the flaws in a question, and then the user tries re-asking a different way, and too many mistakes just result in them getting question-banned.
    – Rachel
    Feb 5, 2013 at 16:22

4 Answers 4

10
+150

I don't feel very strongly about this, other than that it would make deletion even more complicated than we've already made it. I do feel that a single re-open vote is too low of a barrier - at 250 reputation, you can cast re-open votes on your own questions, so this would effectively give you the option of preventing them from being deleted for an indeterminate amount of time (however long it takes to age the reopen vote). Also, it probably doesn't make sense to further restrict the asker's ability to delete his own closed, unanswered question.

So with that in mind, here are some numbers:

  • 589 questions deleted with more than one pending reopen vote (125 by moderators)
  • 1104 questions where a delete vote has been cast when there was more than one pending reopen vote.
  • 709 questions that were eventually deleted after a delete vote was cast while there was more than one pending reopen vote (151 by moderators)
  • 2176 delete votes cast on questions with more than one pending reopen vote

This is for all time on Stack Overflow*. In the past 90 days, 121 questions have been deleted where at least one delete vote was cast while there were at least two reopen votes pending on the question (30 of these were deleted by moderators). If you're over 10K reputation on SO, you can view them:

Use WhatsApp in C#                                                                                                    
foreach loop stops executing                                                                                          
C# How would a twitch.tv view booster work?                                                                           
About the composite commands in c++                                                                                   
Java Program - Connection reset by peer: socket write error                                                           
spread sheet example written in Java,                                                                                 
Lines divided into groups and further processing in python                                                            
How to cache images to client side using MVC and Razor                                                                
Get date range,if bookings are more than( or equal to) a limit                                                        
Why is the output of this code 0 and p?                                                                               
How can I DRY up this ruby array of hashes?                                                                           
How to design a simple game using Xcode?                                                                              
Is it allowed in HTML5 to wrap a <li> inside an <a> tag?                                                        
How did template metaprogramming change with C++11? Good template metaprogramming books for C++11?                    
php header redirect, headers already sent when no output - codeigniter                                                
Creating a site with statistics                                                                                       
Please explain C code                                                                                                 
Is there any extension or plugin to autoformat code in visual studio 2012?                                            
How can I tell if a DOM object is out of the window using JavaScript?                                                 
How to Manage Dynamic Subdomains with Python?                                                                         
How can I anonymously compile a C# program?                                                                           
C# interfaces and abstract class                                                                                      
Crawling for my site                                                                                                  
Sorting An Array in PHP - First Capital Letter                                                                        
Managing a queue of jobs                                                                                              
Single layer neural network                                                                                            
How to execute a simple PHP Code?                                                                                     
Create runnable jar Eclipse with dll inside                                                                           
What is the difference between a database and dynamic data structure?                                                 
How to export dates from Stata to Excel?                                                                              
is it possible to use the keyword USE                                                                                 
How can I remove all diacritics from a string?                                                                        
Why use C# over C for a hello world program?                                                                          
JavaScript array: find duplicate values and remove it but keep first occurrences                                      
code works fine in xp but not in linux                                                                                
Can someone explain this PHP code?                                                                                    
QR to String conversion from canvas via (free) webservice                                                             
Python How to add two decimal point with a string                                                                     
Stored hashed password is not equal to PHP hashed password                                                            
What good C++ JSON parsers/libraries are there? [year 2013]                                                           
Calculate total amout where keys are same                                                                             
Property changed events gets null                                                                                     
ruby on rails server for an iphone client                                                                             
ASP.NET pattern for editing database tables with security                                                             
List of freely available programming books                                                                              
How can I use Google Map's API to search for only businesses with Virtual Tours?                                      
Can CSS be copy protected or copy righted?                                                                            
How to work with big databases (more GB) on android?                                                                  
Difference between For & Parallel.For in c#                                                                           
Which Clojurescript DOM manipulation libraries work with Lighttable?                                                  
Did Google start supporting PHP on AppEngine?                                                                         
Sorting array with a struct in C                                                                                      
Load specific lines of text to tmemo in delphi                                                                        
How to get the gender of a name?                                                                                      
What is the underscore actually doing in this Java code?                                                              
What's your way to stay up to date and learn new technologies?                                                           
What features does jQuery provide that aren't available natively in the browsers it supports?                         
Margins anyone?                                                                                                       
Most of computer viruses like trozans and other malwares are build in delphi, Why?                                    
What is the use of shells in Linux?                                                                                   
php remove all 0's from start of string - could be an unknown amount                                                  
What's your next programming language? And why?                                                                         
Program keeps outputting duplicate results                                                                            
Performance of LINQ                                                                                                   
JavaScript Build Tools?                                                                                                 
How many Trees are Possible?                                                                                          
Common programming mistakes for Scala developers to avoid                                                              
Big-O and Big-Omega for logarithm                                                                                     
Is JavaScript core OOP functionality defined in an external library?                                                  
Where can I find sample iPhone code?                                                                                   
Include Warning in PHP                                                                                                
How do you pronounce the programming language "Coq"?                                                                  
How to install Microsoft Visual Studio Professional 2012?                                                             
Dealing with an Imperfect ViewState - Best Practices - Move To the Bottom? Disable for Crawlers?                      
Languages and automatic generalization                                                                                
Pausing an introduction screen                                                                                        
iPhone iPad scaling to different screen size                                                                          
Dataflow language design references                                                                                   
Using Delphi XE3 how can I add TLS to an existing custom TCP/IP protocol                                              
Improving performance of a C# program                                                                                 
Programming increases brain reasoning power                                                                           
Select by gender based on table column                                                                                
Design of a simple game                                                                                               
Normalizing sentences spaces and casing                                                                               
Is SQL function DATEADD() smart enough to change years?                                                               
my python function wont work and I am getting random parenthesis and slashes                                          
Can C++ have real interfaces like in Java or is it only allowed to have abstract classes that look like interfaces?   
Exchange server many mail server installed                                                                            
Accessing real object parameters of the mocked method?                                                                
What can I use in place of <> to make queries more SARGable?                                                       
What jQuery method(s) would allow movement like this?                                                                 
Haskell parser for TINY language                                                                                      
Need some advice for oracle sql                                                                                       
Input fields overflowing form container?                                                                              
Is there a RDP control for that runs under WinRT?                                                                     
MySQL connect to PHP                                                                                                  
Calculate the total price of the product                                                                              
Why does i|= j|= k|= (j+= i) - - (k+++k) - - (i =+j) == 11?                                                           
Objective-c future                                                                                                    
Creating a web app in Ruby without a framework                                                                        
Are there any documented anti-patterns for functional programming?                                                    
Unable to print \n on start of program?                                                                               
Learning standard to advanced F# by reading commit comments as project matures                                        
What is the method for fast I/O in java for large no. of inputs say 10^6                                              
How to design a function definition better?                                                                           
Which rule engine to use in .NET?                                                                                     
Common anti-patterns in functional programming world                                                                  
Create relevant inner site search engine                                                                              
What is the best book for learning Objective-C?                                                                          
Why there are no compound assignment operators for logical operators (such as ||, && etc)?                            
changes meaning from class                                                                                            
Is it possible to create an MMORPG using just MySQL queries?                                                          
How can I come a better HTML author?                                                                                  
How would this C code be translated to Python?                                                                        
For what domain space does it make sense to use C# over F#                                                            
try/catch/finally block using return which value will return                                                          
What is a good windows batch scripting reference guide?                                                                  
Stackoverflow's new chat feature.                                                                                     
ORM configuration with fw1                                                                                            
How does C# work?                                                                                                     
How can compress string of numbers in C#?          

*Data on re-open votes is only available from 2009, with slightly less history for delete votes. Realistically, "all time" probably means something closer to "the past three years" here.

1
  • 1
    Thank you for the stats, however I don't think the 2 problems you mentioned are really valid. A Reopen Vote sends the post into the review queue, and 3 Leave Closed votes start the aging process immediately regardless of views, so I don't think you'd have any problems with permanent reopen votes on a post. And it would be easy to make such a restriction not apply to the OP. But I understand that this probably isn't a priority for SE. I was thinking it's happened enough times for me to notice and get frustrated by it, so thought it was an idea worth mentioning.
    – Rachel
    Jun 29, 2013 at 15:39
7

Unfortunatly this would actually put a damper on some much needed cleanup actions. For example on one site I mod, we have a troll that upvotes all the junk, and they have enough rep that they can actually VTO. It doesn't seem to matter much what the question is, how bad or even offensive it is, everything we close pretty much gets one vote to open. Even in less extreme cases, it's quite common for an OP to vote to reopen their own post, often before even editing as requested.

Basically what I'm saying is that your suggest would pretty much leave a deadlock on a whole bunch of cleanup work that realy does need to continue. If a particularly disputed post comes up that gets taken to meta, a mod needs to lock the post to allow the discussion to finish. However at some point life needs to go on. Mods and constructive users need to be able to get on with their lives even if one or two contrary folks are always pulling the other way.

The requirement to have several votes to delete, and needing much higher rep levels than to VTO is already a good balance.

4
  • 1
    Would automatically locking the post due to vote conflict be any use? 4/5 reopen (i assume 5 to reopen, I couldn't find info on stackoverflow.com/help/privileges/close-questions) and 4/5 close would set a one-time lock and notify a moderator so that it could be unlocked when resolved? Votes should freeze (ie, stop decaying) during the lock period. The lock should only occur once, as a repeat 4/5 vs 4/5 shouldn't really occur. And if so this is probably too volatile a question to keep open anyways. Am I way off with this suggestion?
    – Hydronium
    Jun 28, 2013 at 20:08
  • Just noticed we're more worried about delete votes here, though would my suggestion still have any merit? I'm not 3k anywhere so not totally aware of community deletion procedures.
    – Hydronium
    Jun 28, 2013 at 20:10
  • @Hydronium There might be some merit in raising an autogenerated mod flag to review situations that have conflicting votes. I don't think auto-locking them would be a good idea, but there are already several situtaions were auto-generated flags notifiy mods of situations that might need some TLC. 2+ votes on both sides of a delete/open controversy might be one of those.
    – Caleb
    Jun 28, 2013 at 20:11
  • You can only vote to reopen a post once, which puts the post in the Review Queue. 3 Leave Closed reviews start the aging process immediately, regardless of how many views are on the post. Reopen Queues clear fast, and the reopen votes expire, unlike delete votes. Also, this restriction would not apply to our human exception handlers in the cases where immediate deletion is needed. So I have to disagree with you that this would damper clean-up actions. I think instead it would help prevent users from over-zealously "cleaning up" the site before users get a chance to learn from their mistakes.
    – Rachel
    Jun 29, 2013 at 15:44
3

The question will always be soft deleted, not hard deleted, so if it really contains valuable content then the question will get undelete votes, especially if there is an active meta discussion about the question to bring the attention of lots of high rep/mod users to the question. The fact that the deletion you are describing is taking place after the meta question likely means that these users have evaluated the question and come to the opposite opinion as you; that it should be deleted and not re-opened.

When deleting a question you are asserting that you feel it's not possible for it to be improved such that it should be re-opened, which means that the fact that the OP is trying to get the question re-opened need not block deletion. If the meta question helps guide the OP through such substantial improvements in their question asking skills that they are able to design an appropriate question it's almost certainly best that they just ask a new question anyway, if the first question was so bad that it needed to be deleted (and not just closed).

10
  • 10
    Deleted questions count against you for the automatic question ban, so it is far worse to leave the question deleted and re-ask a new question then to edit and reopen an existing question. In addition, users that monitor that tag usually don't like to see the same question asked a 2nd time in a different way, and would prefer to see the original question edited instead.
    – Rachel
    Feb 5, 2013 at 15:27
  • 6
    Also, there are 13,000 users on SO that can cast reopen votes (3000+ rep), while there are less than 1000 with over 25k rep (20k needed to view deleted questions, but 20k+ displayed in the rep leagues), so you are dramatically reducing the number of users who can view the question and help the OP out
    – Rachel
    Feb 5, 2013 at 15:32
  • @Rachel If the question was bad enough to be deleted and then was re-asked it should have gone through such substantial edits as to most likely not be [easily] recognizable by community members, and certainly no longer worthy of negative feedback. If the original was closed and not deleted, then it would be a duplicate. Finally, if the user posted a question so poor it needed to be closed, it ought to contribute to the question ban.
    – Servy
    Feb 5, 2013 at 15:32
  • 3
    @Rachel You need 10k rep to view deleted questions and cast un-delete votes. Also, while there will be less people, if there is a post on meta, enough of that small pool of users are active enough that it will still be seen and likely responded to. It's very uncommon for a "please reopen my question" question on meta to not get detailed responses, even if the question is deleted.
    – Servy
    Feb 5, 2013 at 15:32
  • 1
    My question was asked because I think the question I linked was incorrectly deleted by 3 community members during a meta discussion and reopen attempt, and this is not the first time this has happened. I would like to prevent deletion votes by the community when the question is being actively discussed on meta, or has an active reopen attempt going on. Deletion should be for posts that have "no lasting value whatsoever", and not be used for content that is still being discussed or edited
    – Rachel
    Feb 5, 2013 at 15:38
  • 1
    You're right, its 10k rep to view deleted posts. So 13k users can vote to reopen, while only 3.5k can vote to undelete. But deletion also means that you are removing the post from the eyes of millions of other users that could view, flag, and/or contribute to the post in an attempt to help out.
    – Rachel
    Feb 5, 2013 at 15:41
  • 1
    @Rachel If the post is still being actively discussed then you already have all of the attention that you need to have it undeleted, if indeed it was deleted incorrectly. You need to keep in mind that bringing up a question on meta means it will get attention; it doesn't mean it will get positive attention. If it's a very low quality question in the eyes of the meta community it's just as likely to get down, close, delete votes as it is edits, undelete/reopen votes, all based on what those members feel is appropriate for that question.
    – Servy
    Feb 5, 2013 at 15:42
  • 2
    @Rachel That's the point of deletion, not the unintended side effect. (Oh, and it's 7+ billion people, not 1.3+ million, as anyone in the world can view/edit a non-deleted post). When a post is deleted it means that it's a post that has a higher "cost" to the community than the value it provides, and that it's not worth the time and effort of community members to read it or try to improve it because multiple high rep users felt the question was beyond redemption. In the event they were wrong, there are ways to have it undeleted, just not by anyone.
    – Servy
    Feb 5, 2013 at 15:44
  • 2
    I realize that, however I do not think 3 community members should be able to delete a question that is actively being discussed and/or a reopen attempt is currently underway. Deleting such questions while they are being discussed and/or reopened is not a good way to get users to stick around and become valuable contributing members of the community, particularly in cases like this where a new SE user asked a question, got it closed, did some research and still didn't understand the closure, so asked a question on meta for clarification.
    – Rachel
    Feb 5, 2013 at 17:02
  • 5
    @Rachel When someone makes a meta post to bring attention to a question that question tends to (rather quickly) end up in whatever state the community feels it should end up in. If it's a question that ought to be deleted, and they bring it to the attention of a lot of people who make a point of deleting questions that ought to be deleted, that's what will happen. If it's a great question that just has a few problems then it's likely to be edited and undeleted/reopened, etc. Since they already have a meta question the deletion/closure will be explained, but that shouldn't stop it.
    – Servy
    Feb 5, 2013 at 17:06
0

For the case of questions being discussed on meta, you seem to be asking for questions not to be deleted if they are "controversial".

That could be done if there was a new [on-hold] reason of "Controversial: it is not clear whether this question is suitable; it is currently under discussion". A question on-hold for that reason could be protected from deletion but would otherwise be like other on-hold questions. A question placed on-hold for that reason could have a [meta] question automatically created for it, where the discussion could take pkace.

If the requested feature for voting to keep a question open were implemented, having many votes to open and many votes to close could automatically trigger placing the question on-hold for this reason.

You must log in to answer this question.

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