What is our policy regarding closing an old challenge as a duplicate of a new one?

I know this happens on other sites (at least SO), if the newer question is generally better or usually if it gathers better answers (such that the old one acts as a "redirect" to the canonical answer). Now this doesn't really apply here, but today there was a case where I'd be tempted to do just that.

The challenges in questions are:

The former is mostly a question, but with an odd rule regarding how whitespace is counted - which basically made the actual task fairly irrelevant and turned it into "decode a whitespace-encoded program in the least amount of characters".

The latter has exactly the same task as the form, but is a challenge. Now Peter Taylor (and apparently four others) was of the opinion that the new one is a duplicate of the old one, since all of the old answers are valid on the new one. For starters, I'd say that's irrelevant if none of them are competitive, but that's not the point of this question here. (I address that over here.)

The more important problem is, that due to the old question's scoring being easy to abuse, any competitive answer to the new one could still be turned into a winning answer for the old one. So now you could indeed craft an answer that works on both of them. But to me, this is just saying that the new challenge is really decent, and the old one has some serious problems, and (since answers can be copied from the new to the old one, but not the other way round) that kinda makes the old one a duplicate of the new one.

So what is the community's opinion on this? Do we close old challenges in favour of better new ones? Or is there a problem with that in some way (like being punishing for the original creator of the challenge concept)? Have there been any precedents?


Rainbolt found some support for this on Meta.SE:

| |
  • \$\begingroup\$ I adjusted my question, "Write a FAST word equation solver," by adding a paragraph at the top. I don't think the duplicate criteria applies here. \$\endgroup\$ – JeffSB Jul 23 '14 at 3:57

Guidelines for closing duplicates

This is not intended to be an all-or-nothing list, nor is it exhaustive. These are simply questions to ask yourself when considering casting a close-as-dupe vote on a challenge, which may influence your decision.

  • Is the "meat" of the challenges the same? This is probably the easiest to determine; casting aside input and output formats (unless they are complex and/or interesting enough to be worthy of a challenge on their own), do the challenges ask users to solve the same problem? If so, then the challenges are almost certainly duplicates.

  • Could answers from one be posted to the other, with trivial modifications at most, and be competitive? This answer of Martin's is probably the most-cited answer when it comes to dupe policy. Martin does an excellent job of explaining the criteria he uses, which I also try to use in my judgements. The key point is that the answers would be competitive. It is not enough for the answers to be valid; they must have a serious chance of winning the challenge (or, if not winning, at least performing reasonably well). This is kind of a fuzzy criterion, so I'm going to try to solidify it more: if the answers would get deleted due to not being serious contenders (as per our normal rules), they're not competitive, and the questions are not duplicates by this metric.

  • Which challenge is better? We've had a whole lot of discussion on this topic (see Duplicates with different restrictions or no restrictions). Consider which of the challenges has the clearest specification, violates the least number of Things to avoid when writing challenges, and is the most interesting. This is a very subjective decision. It ultimately boils down to, which challenge do you think is best to keep? Be aware that "none of the above" is an acceptable answer if you believe none of the challenges in question meet our quality standards.

If, after considering all of the above, you're still not sure what should be done, start a discussion about the challenges. The community here will either point you towards existing policies/consensus, or we will debate until a consensus is formed.

Important note: As Martin's answer mentioned, closing old challenges as dupes of new challenges should be considered on a post-by-post basis, so a meta discussion is probably appropriate for each. This shouldn't spawn an excessive amount of meta posts, as the number of old challenges this policy would apply to are limited. Discuss before you vote, to avoid confusion! These guidelines are intended to help you decide which course of action you think is best, so you can take the appropriate steps to resolve the issue.

| |
  • \$\begingroup\$ To reiterate a comment elsewhere which you said you agreed with, but which this answer seems to contradict: "IMO closing older questions as dupes of newer ones is something that should only be done on a case-by-case basis (and ideally each case should first be discussed in meta)" (emphasis is new). If we have some people voting to close the new question as a dupe of the old and others voting to close the old question as a dupe of the new, the end result is a mess. I'm not sure whether both can end up closed, but if not then which one remains open might depend on the review queue order! \$\endgroup\$ – Peter Taylor Feb 4 '16 at 11:02

I don't see why either question has to be closed.

  1. They are clearly different challenges for the reasons you mention.
  2. There may be users that would like to answer the new question that would not have wanted to answer the old question (because of the differences)
  3. There may be users that would like to answer the new question that missed the old question. i.e. perhaps they only joined the site within the last month, or were just not online often enough before the question got knocked off the "active/recent questions" list. Are these users expected to go and search for old/inactive questions to answer?
  4. What's the benefit to the site for closing duplicates? Or what harm do duplicates cause to this site? I can understand the need to close duplicates on stack overflow. On stack overflow, old questions can still be relevant/useful to users. On this site, the answers are for the benefit of the users answering and not for future users of the site. Answers on here do not have a general purpose but are just for the sake of the challenge.
| |
  • 1
    \$\begingroup\$ I agree with all but your 4th point. SO also avoids duplicates because the answers don't want to answer the same question over and over. The same is applicable here. \$\endgroup\$ – Nathan Merrill Jul 31 '14 at 15:40
  • 1
    \$\begingroup\$ The benefit of duplicates is that they help accumulating all answers to a question in a single post, while linking to it from several places. That applies here as well as on SO or any other SE site. Furthermore, here on PPCG asking a question again really adds no value. The worst that can happen is that new answers get beaten by answers copied from the old post. And also yes, I think if you get bored with the active questions, you are expected to go looking for old ones (or deal with it). So I think there are good reasons for closing, but it should be the old one that's closed in this case. \$\endgroup\$ – Martin Ender Aug 4 '14 at 9:15
  • 1
    \$\begingroup\$ @MartinBüttner "they help accumulating all answers to a question in a single post" to what end? On SO, users arrive at the site to find answers/solutions to specific questions/problems. A problem that a user is having today could affect another user in another week/month/year, so old answers are potentially still useful and there is a benefit to the user for having all of the answers in one place. This same reasoning cannot be applied to PPCG where users come to answer programming challenges and not to find answers. \$\endgroup\$ – rdans Aug 4 '14 at 21:18
  • \$\begingroup\$ @MartinBüttner "on PPCG asking a question again really adds no value" there is no value to the users that already answered the question or to users that saw the question and decided that they would never want to answer it. To all other users of the site there is potential value to the duplicate question. In this example the question has only 7 answers. There's a high chance that there are users other than the original 7 that would be prepared to submit an answer. \$\endgroup\$ – rdans Aug 4 '14 at 21:18
  • 1
    \$\begingroup\$ @MartinBüttner "The worst that can happen is that new answers get beaten by answers copied from the old post" I can see how this might be annoying for the other users wanting to answer the question properly, but I think people are capable of deciding for themselves whether this matters to them or not. But rather than saying, "this question has a duplicate, so be aware there is a risk of answers being copied", instead the approach is "this question has a duplicate, so for your own good, we aren't going to let you answer it" \$\endgroup\$ – rdans Aug 4 '14 at 21:19
  • \$\begingroup\$ @MartinBüttner "I think if you get bored with the active questions, you are expected to go looking for old ones (or deal with it)" Answering an old/inactive question is not the same as answering a new/active question where there will typically be multiple users interested in answering the question and competing in the challenge. It's unlikely that those users would happen to stumble upon the old question again at the same time (creating the same conditions as with a new question). \$\endgroup\$ – rdans Aug 4 '14 at 21:19
  • 2
    \$\begingroup\$ @Ryan The entire point of closing as a duplicate is that those new users are directed to the old question to put their answers there. If a new question is closed as a duplicate of an old one, the old one basically gets exactly the exposure which you say it's lacking for new users. Furthermore, as soon as the first user answers it, the old question is bumped to the front page just like the new question would be. I really can't see a reason not to answer the old question if the new one doesn't provide any additional value over the old one. \$\endgroup\$ – Martin Ender Aug 4 '14 at 21:26
  • \$\begingroup\$ But this entire discussion seems to be off-topic for the question I actually asked. If you want to argue whether we should close-vote as duplicate at all, you should make a new post. My point was really mostly to find out whether we close old questions in favour of new ones or only the other way round. \$\endgroup\$ – Martin Ender Aug 4 '14 at 21:27
  • 1
    \$\begingroup\$ I posted something along this line of discussion: meta.codegolf.stackexchange.com/a/2108/20260 \$\endgroup\$ – xnor Aug 28 '14 at 19:07

There have been a handful of cases before where I've wanted to do this. E.g. write a code the find n-th number of Gray Code list (completely pointless winning condition because optimality is trivial) could reasonably have been closed in favour of Traverse all numbers with only one bit flip per step (which Give me the Gray Code list of bit width n should also be closed as a duplicate of, but I digress).

The problem is what to do with the answers on the old question. Closing as a dupe doesn't migrate the answers (which is a good thing!). Duplicating the answers isn't a solution; asking people to copy their answers over and then delete the original isn't a great solution, and they also risk a net loss in rep; and ending up with two different sets of answers and two different accepted answers is not a good solution either. And that's without getting into the effective penalty on answers to the old question that it will be the new question which is getting bumped and attracting new upvotes.

The only way I can see of getting this to work well is if the moderators undertake to move the answers across, if they even have the ability to do that.

So as a general rule I think the solution is to close the new question as a dupe of the old one and improve the old one. The only case where this doesn't answer is where the biggest difference is a change of scoring system.

| |
  • 1
    \$\begingroup\$ But in this particular case, we have the situation where answers from the old one can't be copied or moved to the new one anyway, while answers to the new one could potentially be valid on the old one (which is exactly why the old one is a duplicate of the new one in the first place, and not the other way round). Hence, I don't think anything needs to be done to the answers at all. \$\endgroup\$ – Martin Ender Jul 24 '14 at 15:55
  • \$\begingroup\$ I don't think there's any good solution to the particular case you raised, although in future we can try to flood questions which make whitespace free with downvotes so fast that people learn it's a bad idea. \$\endgroup\$ – Peter Taylor Jul 24 '14 at 16:00

You must log in to answer this question.

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