Introducing a "general reference" close reason was rejected by Jeff and Joel for fears of abuse. Jeff said in a comment:

Joel is very concerned it will be abused. I have concerns as well, since many programmers are of the "cannot abide a single atom of duplication in the omniverse" OCD variety

However, the bigger Stack Overflow grows, the more these trivial questions with their highly-upvoted trivial answers are actually making the Internet a slightly worse place by providing outdated information. Today, a discussion brought to light a nice example of the phenomenon:

How do I get the last inserted ID of a MySQL table in PHP?

Here's what's wrong with this question and its many brethren:

  • It's a trivial question.

  • It has plenty of wrong answers, but that's just an aside.

  • The highly-upvoted currently accepted answer is absolutely correct, but it is referring to an outdated database library, while the current recommendation is to use the PDO database layer. Fixing the answer is of questionable value, as the outdated answer is still correct in the context the question was asked in.

  • It's textbook "general reference". Googling the question title PHP: how to get last inserted ID of a table? leads you to the canonical references in the manual for both the outdated, and the new recommended method.

  • The answers contain no mention of those canonical references

  • so the whole thing is a low-quality dead end for the incoming Googler.

  • It has over 59,000 views!

Having these kinds of questions around sucks, and is in the worst case actively preventing people from finding the correct canonical info by occupying slots in the Google results.

What should be done about these kinds of questions?

  • Can "General Reference" be revisited?

  • Can a protocol be developed to burninate these kinds of questions altogether, or to link to the proper documentation instead? Because that's the only thing that would make sense IMO.

  • Can something else be done about this? What?

  • 11
    I see what your doing... you think 'cause Jeff left you can get what you want now. Sneaky, sneaky :P
    – Dynamic
    Commented Dec 27, 2012 at 22:10
  • 4
    @Dynamic heh, it would seem that way, but not really - Jeff was inclined in favour of it, Joel against.
    – Pekka
    Commented Dec 27, 2012 at 22:13
  • You've given decent detail for it's need, but haven't discussed possible implementations much. Are you proposing a new close reason of "general reference" and that's all? Are you expecting there to be restrictions on when and/or how it can be used? It's trial runs in smaller sites didn't end well. Care to address those and indicate why those problems won't re-appear or how they can be addressed?
    – Servy
    Commented Dec 27, 2012 at 22:23
  • 2
    The PHP Tag Wiki has a collection of canonical questions, which they use to close these basic questions all the time. There's a comment in the question you linked pointing to a duplicate. For all others, leave a link to the general reference, and close as "Not a Real Question."
    – user102937
    Commented Dec 27, 2012 at 22:24
  • 5
    @RobertHarvey: the point though is that even those duplicates that it was pointed to shouldn't be there... They are just diluting the google search. Now, if the question asked something that wasn't covered in the docs, or said I read the docs, but this wasn't clear, then that's a different story. But as it stands, the general reference provides nothing over the docs...
    – ircmaxell
    Commented Dec 27, 2012 at 22:27
  • Actually, the post you linked is the canonical reference. It's got 90 similar questions linked to it.
    – user102937
    Commented Dec 27, 2012 at 22:27
  • @Servy that's a valid point; I'll take a look at how it played out on those smaller sites when I can. In general though, my idea how this could work out is as ircmaxell describes it below - require an external reference to close against, possibly limited to specific domains (like php.net in case of PHP).
    – Pekka
    Commented Dec 27, 2012 at 22:28
  • 3
    @RobertHarvey That makes addressing the fact that is has poor quality (in this case, outdated) answers that much harder. See the relevant meta discussion about it. If these types of questions are allowed it means we need to keep them up to date, whereas the doc will be updated by...not us.
    – Servy
    Commented Dec 27, 2012 at 22:29
  • 1
    @Rachel I agree that's the most productive way at the moment, but closing gets tiresome at the 3,000th dupe. Especially when you're doing it for people who were too lazy to do the most basic Google search.
    – Pekka
    Commented Dec 28, 2012 at 19:50
  • 6
    @Rachel what's the point in having users who won't even do a basic Google search? Is serving as a mechanical turk Googling for your fellow users in exchange for a few rep points a serious outlook for a site that's supposed to attract programming professionals? Remember, I'm talking about questions where entering the exact question title into Google yields a perfect answer.
    – Pekka
    Commented Dec 28, 2012 at 20:21
  • 6
    @Rachel: SO doesn't have a problem attracting people to ask questions. Being less welcoming to "newbies" who are just going to sap resources from more helpful users asking and answering interesting, useful questions is a good thing. Closing as "General Reference" still gives searchers the answer -- it's still "helping" -- but it also points out that the asker should have been able to find the answer themselves, and hopefully they'll try that first next time.
    – jscs
    Commented Dec 28, 2012 at 20:57
  • 3
    @Jaydles CR as envisioned in the original suggestion always implied forcing closers to specify a reference URL. It's not meant to say "go away, dumbass", but rather "Everything you need is on this here URL - no need to have another SO question for it with fifty answers replicating the docs (and badly)". A question closed CR could live on, but eg. be blocked from search engine indexing to prevent clogging of results, as described above. It would be essentially your item 2.) - but of course, specifying which references are valid Strunk & White equivalents in each tag would be a lot of work.
    – Pekka
    Commented Jan 2, 2013 at 12:42
  • 2
    @Jaydles: And "you should have found this" isn't helpful unless you're telling the asker exactly where they should have looked. The canonical reference for the technology being used. I do think a URL should be provided, but in general <technology> documentation is sufficient, and if the OP hasn't read all of that documentation before resorting to asking for help then they are not sufficiently invested in their project to be "allowed" to get someone else to do the research for them for free. I think "you've read the official documentation for the tools you're using" is a fair baseline. Commented Jan 26, 2013 at 19:24
  • 2
    @Jaydles: Great example here of a question which is quite clearly answerable by reading the specification, but in this case it's not clear that the OP could have found that by simply performing some basic research -- as such, the question has been treated with respect by the community and has in fact managed a positive score of 4. A rare case of "I tried to find a real JavaScript definition, but I couldn't find any" actually being reasonable :) Commented Jan 26, 2013 at 19:40
  • 2
    @Jaydles: (continued) SO's experts are bright enough to be able to tell the difference, and I always found it a little offensive that we aren't trusted to do that. We're the ones who spend half our lives flagging, voting, closing, editing and answering, after all, to try to ensure that people get good information for their work -- what do we have to do to gain SE's trust, then? Commented Jan 26, 2013 at 19:41

6 Answers 6


It seems to me that the problem is not with the questions, but with the answers. What's a trivial question to you is not a trivial question for a beginner. Indeed, an accepted answer which consists solely of this isn't very good:

Use mysql_insert_id()

Even then it could be worse, at least there was a link to the actual documentation.

deceze's edit significantly improves the question. Multiple possibilities, with a discussion of when they should be used: this is how a Stack Exchange answer should look like. Stack Exchange is, after all, a questions and answers site, not a link collection.

Do note that your example question is not a “general reference” question as generally practiced on the Stack Exchange sites that have it (Science Fiction & Fantasy and English Language & Usage). “General reference” started out as

this question is too basic; the answer is indexed in any number of general internet reference sources designed specifically to find that type of information.

and was made popular via Borror0's diagram. But over time I've come to like this diagram less and less, and so have many other participants on SF&F. I'll reiterate what I wrote before SF&F even launched:

It's “Wikipede it first”, not “Google it first”.

(Substitute Wikipedia for whatever reference is applicable: a dictionary, the library reference manual, …)

Relying on Google is problematic, because it doesn't say anything about how reliable the search results are. If you say “google it first”, you may be refering people to W3schools — are you sure this is what you want? If I google the title of your example question, I get:

  1. Stack Exchange
  2. Stack Exchange (duplicate? I'll let topic experts judge.)
  3. official manual — mysql_insert_id
  4. official manual — mysqli::$insert_id
  5. Stack Exchange
  6. Coding Forums
  7. W3Schools
  8. Vision.to
  9. Hardcode
  10. PHP Rockers

I have no idea which of the results are good answers. Keep in mind that the official PHP documentation may have its page rank boosted by being linked so much from SO, which has a huge rank. If you suppress this kind of question on SO, the first search results may well be on sites that peddle bad advice.

On SF&F, most of us have come to agree that Google is irrelevant in determining whether a question is general reference. We only close questions as GR when the subject matter can easily be looked up in a known-reliable (or at least presumed-reliable) reference — for us, this is mainly Wikipedia. I don't have the exact number, but not many questions have been closed as GR, and several of those involved debates as to whether the question was really GR or whether the Wikipedia article had enough detail — and if the question triggers such debate, there's a good change that the subject is not a “too basic” one. In a recent debate, we concluded (+20/-5) that we could easily live without the general reference close reason, because it causes more trouble than it's worth.

I'm a moderator on both SF&F and one of the language sites (not English, which has the “general reference” close reason, but French, which doesn't). My experience on SF&F is that GR isn't really useful as a close reason. Ok, we can close a few questions that aren't helping the site, because Wikipedia answers them better. But it's not much in the grand scheme of things — and there is an argument that GR questions are “getting-to-know-you” questions that drive traffic to the site.

On language sites, I think GR does more good than bad. We do get questions that are not doing any more than asking the meaning of a word, and where the asker is satisfied by a dictionary quote. Even then, I have seen GR being abused, when the question was about fine usage distinctions that are not covered in dictionaries. Still, I think GR would be a useful tool on language sites, as long as (like other tools) it's wielded carefully.

By the way, since French.SE doesn't have GR as a close reason, we use “too localized”, because a question that can be looked up in a dictionary is not going to help future visitors — not when they would have an easier time looking up the answer in their dictionary than finding it via a search engine or Stack Exchange search.

On Stack Overflow, I think GR as a close reason would be awfully abused. Programmers tend to say RTFM a lot. Sometimes it's warranted, sometimes it isn't. GR closure contributes to drive the quality up by excluding too-basic questions, but it also contributes to drive the quality down by excluding interesting answers. (Think Eric Lippert.) SO already struggles to provide answers that go beyond providing a line of code and explain how and why it works. GR closures would make it even harder to get answers to “why” questions.

We're circling back to my original point: basic questions are fine if they attract interesting answers. If you feel that a question truly does not merit a better answer than what is in the official manual, close as “too localized”. If you feel that a question is basic and boring, downvote it and move on. If you see a basic question with a one-line zero-effort answer, do not upvote it and write a better one.

The real problem isn't basic questions, but basic questions with basic answers. You can fight basic answers by not upvoting them. Or by dispelling the fiction that more upvotes means a better post. Yes, I realize this is hard — most upvoters aren't reading Meta, and that big number next to the answer makes it look good, as does the big number next to the author's name. But it's the way Stack Overflow works: quick and dirty answers are favored. Encourage long, thoughtful answers, and the good content will naturally overshadow the too-basic content.

  • one of the ways to encourage long, thoughtful answers is to give bounties to these. I do that sometimes; I found that the indication of a bounty makes answer visually stand out
    – gnat
    Commented Dec 30, 2012 at 6:35
  • 10
    On Stack Overflow, I think GR as a close reason would be awfully abused. Not nearly as much as the ability to post questions on SO is being abused nowadays. Not even close. Commented Jan 26, 2013 at 19:26

There are a few things you can do to help reduce this problem:

  1. Improve the title.
    Many questions like this have titles like "Using Foo to Bar the Baz." These titles show up in Google Search results, and when you navigate to the post from Google, you find out that they're actually asking about an error, and it doesn't have the information you need at all.

    Take a few moments to provide a more meaningful title like "InvalidFrobError error occurred while using Foo to Bar the Baz", so that the next person reaching the question from Google doesn't have to endure the same frustration.

  2. Provide a link to a canonical resource.
    Link to the General Reference in a comment below the question. If the canonical resource is a Stack Overflow question that adequately solves the OP's problem, close as a duplicate. If it's an external resource, close as Not a Real Question.

  3. Cultivate a collection of canonical posts
    The PHP, C and C++ tags do this to great effect. When someone asks a very common question, find the best post that asks and answers this question, and close all others as duplicates. Make a list of links to these "canonical posts" in the Tag Wiki.

  • 4
    Agree with all except the close as NARQ. If there is a good external resource, then it should be linked to from answer, but it shouldn't be closed as NARQ if is a real question (which it would be if there is a canonical answer to it somewhere). Commented Dec 27, 2012 at 22:52
  • @LanceRoberts: I edited based on your comment, but it doesn't really apply to those questions that are easily answered with a cursory Google search; just close those.
    – user102937
    Commented Dec 27, 2012 at 22:56
  • Thing is, this all takes much precious time. Commented Jan 26, 2013 at 19:31
  • @LightnessRacesinOrbit: Everything worthwhile does.
    – user102937
    Commented Jan 26, 2013 at 19:56
  • @Robert: I see what you did there Commented Jan 26, 2013 at 20:16

One way of adding this while stemming the potential abuse (at least partially) would be to provide a link for the canonical reference. That way when questions are posted that are basically just asking something that should be in the docs anyway, we can close it "against the docs". So the canonical reference point would be the docs instead of as a duplicate question on SO.

  • 2
    and then when people start using "Google" as the close target...
    – Servy
    Commented Dec 27, 2012 at 22:32
  • @Servy: that's definitely an issue. Perhaps have a "canonical reference url" field in the tag, and require the close link to be part of that site... But that feels dirty... Not sure where to go from there...
    – ircmaxell
    Commented Dec 27, 2012 at 22:35
  • 1
    Yeah, that's my underlying point. If you end up with white and/or black lists of valid external domains to target maintaining them for all tags will be a nightmare. Now imagine the result of, for example, the url for the docs changing (JavaDocs, when Oracle bought Sun, come to mind) would make applying this to all of SO...hard.
    – Servy
    Commented Dec 27, 2012 at 22:37
  • @Servy: Were there stronger sub-community support available, what about allowing trusted users in those communities to "attest" to the canonicity of a documentation source? Essentially, they would maintain their own list of acceptable GR-target URLs alongside the tag wiki/FAQ list. SO-devs would then only have to maintain a sitewide blacklist (Google, etc.), and the normal co-user-oversight, moderators, and Meta review mechanisms should suffice to rein in possible abuse.
    – jscs
    Commented Dec 28, 2012 at 21:04
  • @JoshCaswell 1. Even with all of that there's a good chance of potential abuse. If the reviewers of that content are as good as the people using the review queues you could get rubber stamping allowing most anything to get through (even if it's just occasionally) or worse yet, if a large sub-group of people on the community want to link to something that others consider inappropriate you have constant back/forth. 2. It'd be a complex system; it would be confusing even if it did work 3. it would take a significant development effort to create that platform for user maintenance.
    – Servy
    Commented Dec 28, 2012 at 21:11
  • @Servy: I didn't mean that there would be regular queue-based review of the URL lists; just that anyone could look at them and raise a shout if something weird was going on. I'm imagining a system like the tag synonyms: must have a whole bunch of votes in that tag to propose a URL and to vote on proposals, and moderators can of course look things over and fix problems that arise. You're absolutely right that it would be a huge dev effort. Still, I think Pekka's portal idea or something like it would be very helpful for SO at large and I like to plug it at every opportunity.
    – jscs
    Commented Dec 28, 2012 at 21:19
  • @Servy: I don't think infighting is too much of a worry. The C++ and PHP tag communities seem to have established a well-functioning "oversight board" from their high-rep users.
    – jscs
    Commented Dec 28, 2012 at 21:21

I was the biggest proponent of introducing General Reference not that long after I was elected, for precisely the same reasons that you describe. I spent a long time digging through the data explorer and the site looking at examples where the reason would be applicable given the criteria of 'general reference':

General reference: this question is too basic; the answer is indexed in any number of general internet reference sources designed specifically to find that type of information.

I was in touch with Jeff repeatedly while doing my digging, in fact I traded several e-mails with him prior to spending any real time on it just to see how the idea would be received. Jeff wasn't exactly 'all for' the idea, he just wasn't as against the idea as Joel.

There was a podcast (I can't find it at the moment, weird) and Joel continued to make the same point that I began to believe myself while looking at examples where the close reason would apply. People would misuse the reason to close anything they found to be too basic. Even if I had been on the podcast while Jeff argued with Joel to a degree, the examples I had just weren't strong enough to argue, and there weren't many better examples to try again with.

During the hours that I spent going through both the site and data explorer, I expected to find plenty of questions like this:

How do I write a loop in C?


How do I define a variable in Python?

Yet, those didn't exist, at least not in enough frequency or consistency to back up an argument that the close reason is needed and would be helpful. Most of the examples that I could find where it would apply were things like:

How do I (do something) to a string in (language)

While easily solved by Googling, these questions are answerable and do demonstrate at least a modicum of prior programming knowledge on the part of the author (barely enough to satisfy the 'programming enthusiast' criteria, but still just enough).

In short, and tl;dr: - We're extremely unlikely to ever see General Reference added as a criteria for closing. Canonical posts are the best way to deal with this, but they can be a bit of a pain to find depending on how the question is asked.

I think what we should be looking at instead is ways to improve the tag wiki system to help deal with these questions and better organize the canonical gems, as well as the many ways a single basic question can be asked.


If we do end up with a General Reference close reason, then it should put a link at the head of the question, like the Exact Duplicate close reason uses now, pointing to a canonical question/answer.

  • 3
    It ain't gonna happen.
    – user102937
    Commented Dec 27, 2012 at 22:29
  • 2
    yep, I know, just dreaming, which is why I didn't try to lay out a full scenario of how to implement it. Commented Dec 27, 2012 at 22:30
  • Then SO will become a tool for looking up documentation via crowdsourcing. Not cool. Commented Jan 26, 2013 at 19:32
  • @LightnessRacesinOrbit, hmmm, that would be great since I've spent literal days sometimes trying to find needed documentation. Commented Jan 26, 2013 at 20:45

You've done a good job of reiterating the problem here, but not of addressing the concerns over a new close reason as the proposed solution. Keep in mind, the questions you're explicitly calling out:

  • Identify (or at least appear to identify) a common problem. These aren't obscure questions that no one will miss - chances are, closing them just introduces a new game of "whack a mole" into the system, annoying hundreds - potentially thousands - of folks sharing that question in the process.

  • Are, by the normal rules of the system, valid questions. There's a real problem here, with a real solution. It's not subjective, argumentative, overly-broad, ridiculously narrow, or poorly-specified. You can't tell someone they should have asked it differently, you can merely say "you should've googled it - or just gone to [insert canonical site here]". You're effectively asking for the reversal of the long-standing policy against "just google that" answers.

  • Are only annoying to folks who already know the answers. Now, I'm not saying an incorrect answer won't annoy anyone reading - but there's no good way to identify a general-reference question that'll get an incorrect (or soon-to-be obsoleted) answer when it is asked - indeed, the criteria for Stack Overflow would likely be rather different from the criteria on a site like English Language & Usage or SciFi & Fantasy, where "General Reference" means "use a dictionary rather than asking us to re-invent the wheel" - on SO, there may well not be any reliable, canonical documentation when the question is first asked.

In short, what I think you're getting at here isn't the need for a General Reference close reason, but something more akin to "Close as Obsolete". Which then raises the question: how would we define such a close reason?

As an aside, these sorts of questions are one reason why I dislike some of the witch-hunting surrounding "link-only answers". As originally written, your example's top answer was extremely bare-bones - it consisted of a terse link to the documentation which was updated by the maintainer with a big "DEPRECATED" warning right at the top and a link to the preferred API! Even when it became out-of-date, because the answer linked to a canonical source it quite possibly remained valuable (and now that it's been edited, it should remain valuable). Not only does this provide a "signpost" on The Internet for folks who aren't aware of the canon, it can even improve the ranking of the canonical source in future Google searches!

  • 1
    on SO, there may well not be any reliable, canonical documentation when the question is first asked.Then we could not close the question as "General Reference". Simple. Here's a perfect example of a scenario when the canonical documentation is hard to find, even when a spec exists, and so the question has been treated with respect by the community. Commented Jan 26, 2013 at 19:32
  • 2
    Your final example is flawed; we just got lucky that the maintainer spotted the answer and cared enough to update it. Commented Jan 26, 2013 at 19:33
  • Wasn't my example...
    – Shog9
    Commented Jan 26, 2013 at 19:34
  • Who wrote it then? I don't see an edit history on your answer. Commented Jan 26, 2013 at 19:36
  • Read the question. It's the second link.
    – Shog9
    Commented Jan 26, 2013 at 19:36
  • 1
    OK - I meant "your example" in that you picked it out as something to write about and rationalise about in your answer. If it's easier, pretend I said "the final example in your answer". Commented Jan 26, 2013 at 19:37
  • Ok, just to clarify here: are you talking about the example used as the original basis for this discussion, described by the OP as "a nice example of the phenomenon", or are you talking about something else.
    – Shog9
    Commented Jan 26, 2013 at 19:42
  • 1
    I'm just saying that you picked an example (honestly I don't really care who found it first) and gave reasons of why it became useful by "improving the ranking of the canonical source in future Google searches". I'm suggesting that this is an outlier rather than something we can expect to be the usual result of such answers existing. Commented Jan 26, 2013 at 19:44
  • I don't generally go out of my way to look for good examples of problems someone else tries to prove the existence of with a bad example, @Light. If you have a better example, why not post it in an answer here, and elaborate on it a bit. Oh, also: read the question this is answering before you do that.
    – Shog9
    Commented Jan 26, 2013 at 19:45

You must log in to answer this question.

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