What is the rule on duplicates here? Can we mark questions as canonical?


I see that marking a question as a duplicate frustrates the asker. However, having the one canonical version of a given question for certain black and white things has value for creating a timeless tome of knowledge.

For example, we probably only need one question on implementing the singleton pattern in any given language, but I could certainly see individuals with specific concerns, ask multiple questions about the singleton pattern in any given language.

Maybe a good solution would be to mark questions as “canonical” or similar if they are asked in a general way, and are of general benefit to a subset of the tech community. Everyone would be free to start their own threads to ask a similar question, but we’d have the “reference post” for linking to.


IMO the best and most respectful way might be to answer a question that you view as a duplicate in this way:

This question seems similar to X. Can you look over the answer given there and if that doesn’t help you, come back here and we’ll try to help further.

I agree that it would be a helpful feature to have related questions. However, I’ve also had the experience of having a question marked as a duplicate when it was not, which was quite frustrating!


Ok, so can we have a way to mark a question or answer of general value as “canonical.” A canonical answer wouldn’t necessarily be the best one for the user asking the question, but the best one for the question in general. It would be the one you’d link to when someone else on this site or twitter, or your company slack room asks the question.


I don’t know that we would want something definitively marked as “canonical”. If you search and then pick the one that has the most likes, that is likely to be about the same thing. I guess my question would be: if we had a “canonical” feature, who would decide what is the canonical answer?


i don’t think having one canonical answer is always the best idea. even if we have multiple response that present the same solution in different ways, that’s okay. indeed, some people need to read the same material presented in different manners for it to truly click, and different people are often receptive to different methods of explanation.

i mean, it took me nine different readings of explanations of monads to fully grok it, so props to whomever wrote explanation number nine…


Well I can’t add more than two links apologies for how I work around it

First of all I understand not all questions should be canonical and specifically encouraging all questions to be canonical would be the antithesis of core values of this site. However, having a way of marking certain questions and answers as “these in general are really good references to important topics” If a user sees something deemed canonical, they know its been through extra vetting.

I’ll use examples from my stack-overflow profile, so I can pick on myself, as to what makes a question canonical and uncanonical.

To @gbhorwood’s point, I understand multiple sources is good to have, (especially for something I don’t understand like monads). Some things have a mostly black and white answer or at least a “I don’t fully understand why, but I see that I should always do it this way (with rare exception)”

Basic guidelines to my idea of a canonical question are:

  • This a a general purpose question or a general case answer.
  • This is of importance to the tech involved. e.g How do I solve traveling salesman in PHP isn’t something I’d ever vote to be canonical. However “How to do the singleton Pattern in C#” would be.
  • Is there nuance and non-obviousness to the answer to an expert?


I agree with @jennifer’s points. There really isn’t a Discourse feature for marking something canonical anyway.

While I can understand the desire for structure it would provide, I don’t think it’s necessary, there are a lot of programming problems that can be solved multiple ways and be correct, adding some sense of “extra vetting” to answers at this point feels wrong on many levels (antithetical to values, probably not practical in terms of time/effort), and I think it would open up bigger problems (i.e. power dynamics).

So to summarize:

  1. Duplicates are fine! Just put things in your own words.
  2. Responses pointing folks to other questions to see if that answers it are fine!
  3. If you want to find a canonical answer rely on the :heart: or other emoji responses.

Happy to revisit the question in 3-6 months if volume of “duplicates” is getting unwieldy.


There’s as much value to be had in the conversation around an answer as there is in the answer itself. SO forces itself to deal with the “correctness” of a single unique answer because of the way they incentivise user activity (ie the points system), which encourages quick fire answers to get those shiny badges.

I’m new here but i feel like the way AQ.T presents itself encourages people to answer only when they feel they have something to add, which is quite different to SO. I remember when SO was new, the desire to answer basic questions for easy points led to some hectic typing and rushed answers, none of which referred to each other, making the idea of One True Answer unfortunately necessary.


Interesting perspective. When I ask a question on stackoverflow, I, personally spend a lot of time making the question generic. Basically I want to write the long question that gets lots of views and years later still gets upvotes. Same with answers. That’s honestly not the most efficient way to get a high score on stackoverflow. I’m ok with that. I guess people that take the gamification very seriously will be more “efficient” about how they get points.

I recently quote tweeted Jeff Atwood adding my two cents to something he said because it spoke very deeply to what I valued most about stackexchange:

I wish more people understood that the goal of Stack Overflow is not “answer my question” but “let’s collaboratively build an artifact that will benefit future coders”. Perhaps SO could be doing more to educate people about this.

You made me realize that while some people see what Jeff said in that instance as a guiding principle, most go for easy points.

It is mentally exhausting to write a “great” stackoverflow question even for a white male developer like myself who considers himself an expert and like the sound of his own voice and keystrokes. It causes high cognitive load, expenditure of emotional labor, and is tiring. However, I’ve read so many great stackoverflow answers on great stackoverflow questions so its my way of paying it forward. I feel like its more efficient than blogging. Its also not the best method in all cases.

I spend a year or so writing PHP on the IBM i which used to be called the AS/400. The best smartest people to ask questions there are on the midrange.com mailing list. Its a community. People are generally nice. We learn from each other. However, I’ve rarely found an answer to a question I had in the archives via google. I asked a lot of questions there because of time constraints and “unknown unknowns.” Sometimes I took the time to update their wiki or self answer on stack exchange. I definitely got to “know” people on the mailing list better, and actual reputation enforced civility. So did the average age of the membership (probably 50+).

I learned a lot from my year or so on the midrange.com mailing list. I definitely helped others a little. I grew professionally. I just don’t think it had the “scale” or “reach” of my stackexchange questions and answers.