5

Since a few years ago, it hasn't been possible to close questions as a duplicate of an unanswered question. The only exception to this is when both questions are by the same user, in which case the presence or absence of answers currently doesn't matter.

I'd like to suggest that this exception be narrowed down a little bit — specifically, that it should apply only when both questions are unanswered.* That is, voting to close an answered question as a duplicate of an unanswered one should not be allowed, even if they're by the same user.

In other words, I'd like to propose that voting to close a question A as a duplicate of question B should be allowed** only when either:

  • question B (the "dupe target") is answered, or
  • both questions have been asked by the same user, and they're both unanswered.

(Changes to existing rules in bold.)


Why should we do this?

Closing an answered question as a duplicate of an unanswered one is problematic for several reasons:

  • It hides potentially useful answers. Users (and search engines!) visiting the closed question will get automatically redirected to the unanswered duplicate, so they won't even see the answers on the closed question.

  • By forcing any new answers to be posted to a different question than the existing ones, it spreads answers across multiple questions and encourages answer duplication, which is exactly what closing dupes is supposed to prevent!

  • Since unanswered questions are subject to automatic deletion, the dupe target can disappear, leaving the closed (and answered) question pointing to a 404 error page! (Normal users can't vote to delete questions that other questions have been closed as duplicates of, but this limitation does not apply to the automatic deletion script.)

    For some actual examples of this happening, here's an SEDE query that lists answered duplicates of deleted posts. We currently have a bit over 1,000 such broken duplicates on SO, and we seem to be getting about one more every week — although the actual number may well be larger, since some people do use queries like this to find such questions and vote to delete or reopen them.


Possible objections:

But those questions are duplicates! I should be able to close them!

...and you still can, even if this proposal is implemented! The only difference would be that, if only one of the two questions is answered, then you'll need to close the unanswered one.

Yes, this means that you may sometimes have to interrupt your review workflow to actually open the unanswered duplicate in a new tab in order to vote to close it. Honestly, I don't see this as a terrible hardship.

But the unanswered one is better! Why should I close that one?

Yeah, that can happen. In fact, it's even pretty common. What typically happens is that a new user asks a poor question, but still manages to get some answers. Meanwhile, somebody leaves a comment asking the user to improve their question — and they do so, but post it as a new question instead of editing the old one like they should've.

However, there is an easy workaround for such situations: just edit the older question to incorporate the improvements from the new version, and then vote to close the new question as a duplicate of the older one. In fact, I would argue that this is the right thing to do in such cases, anyway, regardless of whether this feature request is implemented or not. Leaving a friendly comment to the OP to inform them of the editing feature, while optional, is also recommended.

If the problem is that automatic deletion is leaving broken duplicates behind, why not just fix the auto-deletion script not to do that?

That's a good suggestion. In fact, I've suggested something like that myself. But it won't fix the other issues, like users getting redirected to unanswered questions when the question they were trying to visit does have an answer. And in any case, there's no reason why we shouldn't implement both of these fixes.


Footnotes:

*) The standard SE definition of "answered", as used by the current dupe closing rules, is "having an accepted or positively scored answer". Although this definition may not be ideal for all purposes, we probably should stick to it for consistency here too, so as to guarantee that, of any pair of duplicate questions, at least one can still always be closed as a duplicate of the other.

**) I'd also like to request that, when determining whether an answered question has accumulated enough votes to be closed, and when choosing the close reason to be shown, any votes to close it as a duplicate of a currently unanswered question should be ignored. This would take care of some further corner cases where either a question gets answered after some dupe votes have been cast on it, or the proposed dupe target has all its answers deleted for some reason.

  • Well, you identified some pretty good solutions to your first problem (broken duplicate links) in your closing paragraphs, which basically makes it moot. Your second problem is a very different problem. Can you show, with evidence, that your second problem's negative effects outweigh the positive effects of being able to close an impatient user's repeat attempts at getting their questions answered quickly by reposting their question again and again? The behavior you are describing is also likely different on different sites, can you clarify what sites you propose this on? – Jason C Jan 5 '16 at 14:32
  • And as for you second problem, would auto-merging of duplicates posted by the same user (instead of just closing) not solve the identified issues? – Jason C Jan 5 '16 at 14:36
  • 1
    So then the real problems you're actually identifying are that 1) duplicates don't get closed fast enough (leading to answers accumulating on both) and 2) people are closing older questions as duplicates of newer ones instead of strictly doing the opposite (thus both the older and the newer are getting split duplicate votes). Correct? – Jason C Jan 5 '16 at 14:42
  • 2
    Here is the most recent available question on SO that was closed in the manner you describe (with the OP's explanation being: I asked it becuase i did not get an answer on the other one and i thought a new bunch of people could see this one and give me an answer). It was quickly handled by a gold badge holder. Can you walk through the hypothetical life cycle of this question if your proposed solution were to be implemented? – Jason C Jan 5 '16 at 15:00
  • When you say "both questions have no answers", by "no answers" do you mean "zero answers" or "zero positively scored or accepted answers"? Because "both questions have no answers" is different than "both questions are unanswered" taking into account the vague terminology used on the sites (and it's already implied that the target is unanswered because of the current restrictions). – Jason C Jan 5 '16 at 15:35
  • In your linked query, none of the first 10 random questions I clicked on had any answers on the deleted target, and so wouldn't have been protected by the proposed change. What is your query intending to show? – Jason C Jan 5 '16 at 20:22
  • I give up. I can't figure anything out. – Jason C Jan 5 '16 at 23:56
  • @JasonC: I've deleted my half of our old lengthy discussion here (and hopefully incorporated the salient points into the proposal itself); would you mind cleaning out yours? If you'd still like to discuss this proposal, we could always take it to chat. – Ilmari Karonen Jan 26 '16 at 17:19
3

Lets take a timeline and consider how this proposal would affect the possible votes.

User posts question A.
(day later)
User posts question A'.
Question A' gets four close as dup of A votes.
Answer posted to question A'.

And now what? What can the next vote do? It is a duplicate. But now that A' has an answer, can more duplicates be cast? or does that prevent a duplicate vote from being cast as the 5th one? Whats more, given the way votes work, I believe that even if the 5th vote was cast as unclear or something else, it would still be marked as a duplicate.

Preventing votes from being cast for duplicate isn't the correct resolution. The close votes need to be allowed to complete in a way that is understandable and lead to the closing of one of the duplicate questions. If additional reopens or merges are necessary - flag it for a moderator.

  • I did mention that scenario in the footnotes. Basically, I feel that, in most cases, it would be best if the system ignored such "invalidated" dupe votes. (But even if it didn't, just preventing new dupe votes would at least be an improvement over what we have now.) [...] – Ilmari Karonen Jan 27 '16 at 0:22
  • ... In the specific example you describe, ignoring the earlier votes might seem suboptimal, since it would take longer to get one of the questions closed. But I'd argue that your scenario, as presented, is atypical. Usually, it's the older question that's more likely to be answered, just because it's been around longer -- unless the new question is significantly clearer and better answerable than the old one, in which case I'd say we should indeed preferably close the old one. – Ilmari Karonen Jan 27 '16 at 0:24
1

In the entire available history of Stack Overflow, I have only found 279 questions that meet the requirements here over the past 7 years, out of 10.8 million non-deleted questions. That is, questions being closed as a duplicate of another question by the same user, where the closed one has answers and the target does not.

The above query does not care if answers are positively scored or not. Even with your query, which currently returns 2063 questions, even using that as an upper bound still yields a very small number of questions.

I can't really see any down sides to the proposal (I tried to find some and have been unable to), but at least on SO I wonder if this is problematic enough to warrant a change. The number of questions this would affect on that site is miniscule, 279 / 10.8 million is about 0.0026%, 2063 is still only about 0.019%.

So my vote is no change, at least until it can be shown without a doubt that there are zero downsides. Since the benefit is minimal there really needs to be zero cost.

What I would do right now is the following:

  • Flag some of the questions in the above query on your favorite site, requesting them to either be merged, or the duplicate link to be reversed.
  • Keep an eye out for future incidents and do the same.
  • Your SEDE query seems to be missing any cases where the target question was deleted by the roomba (or, before that was prevented, by normal users). That pretty much means any cases where the target question has (well, had) a negative score, and some with a zero score. – Ilmari Karonen Jan 5 '16 at 15:51
  • @IlmariKaronen Why do those matter? They're gone now and no confusion is left for readers. Realistically, what scenario leads to users discovering 404's there? Blog articles linking to impatient users' questions, written so quickly that the links point to the original one, and then coincidentally the duplicate is marked in reverse on that question so the roomba gets it, and the blog author never notices? I can't imagine a situation where 404's would ever really be encountered there. Do you know how many are roomba'd? If neither of us know, is the roomba still OK to use in a discussion? – Jason C Jan 5 '16 at 15:56
  • The dupe targets are gone. The questions closed as dupes of them aren't, if they have answers and nobody has manually deleted them. I linked to that SEDE query for a reason, you know. – Ilmari Karonen Jan 5 '16 at 16:04
  • @IlmariKaronen I know the targets are gone; you identified 404s as a problem in your post and I still cannot imagine a realistic scenario. I can probably add broken links into my query, but even with your query there's only about 2000 such posts, i.e. 0.026% instead of 0.0026%, using that as an upper bound I still feel the same. – Jason C Jan 5 '16 at 23:57

You must log in to answer this question.

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