I don't think the problem is that people are refusing to share their knowledge. The problem is that the oldest question on the front page is 12 minutes old. These days, if your question doesn't get immediate attention, then it has almost no chance of being answered.
I've been saying this for a long time, but I don't think the team believes me because of Stack Overflow's very well-deserved success so far. They think it's an absolutely sensational idea to put the entire programming community under one roof. I think that it was an absolutely sensational idea, but it doesn't scale very well to 300,000 users or whatever the current count is - at least not with today's design.
Sure, you can use interesting/ignored tags to filter questions, but that doesn't really actually filter them, it just highlights a few questions and hides the other unwanted ones from your page. If you choose to ignore [.net]
and [java]
and maybe a few other tags, you'll just end up with an empty front page most of the time, and the team has declined requests to improve this (i.e. to actually show the same # of questions, but filtered server-side).
So what we end up with is a lot of unanswered questions, because everything moves way too fast for people to find all the questions that they're interested in and capable of answering.
It is my opinion that there is no possible way for the community itself to solve this problem; the solution needs to come in the form of site improvements, and those are (in descending order of preference):
Vastly improved ability to customize the front page, so as to allow users to see only the types of questions they are interested in and still see an appropriate number of them. At a minimum, this would require people to be able to show only their interesting tags (hide all other questions) with server-side filtering. Better sorting heuristics would also help, i.e. to rank based on view count, votes, hide questions with accepted answers, etc.
Vastly improved slicing-and-dicing of the unanswered questions section. This would include all of the same aspects as the front-page customization - proper filtering and more advanced sorting, as well as some additional features tailored specifically toward distinguishing the bad questions from the hard questions: Filtering/sorting/highlighting based on things like: The author's accept rate and reputation, their average/min/max question score, close votes, comments (i.e. to show that the author responds), etc. Questions like this one are nothing but noise.
Better incentives for answering unanswered questions. The necromancer badge is fun but hardly worth the effort of slogging through hundreds of old questions - especially knowing that they'll get low views and hence low votes. These questions are often very difficult to answer with little to nothing in the way of rewards. And the new Tenacious / Unsung Hero badges are all but unattainable if you're like me and already have hundreds of upvoted answers.
Better incentives for downvoting and janitorial work. Many of the unanswered questions should be closed and deleted or at least massively downvoted. Getting them removed from the unanswered question page would be great. Getting them punted off the front page would be even better. As it is, a lot of the really crap questions come from low-rep users or random Google hits so it feels silly to downvote them - and it's a waste of a close vote because not enough other people will see them. (If more 10kers used the tools to identify close candidates, that would help - again, incentives.)
And there was something else that I can't remember anymore.
One of the main reasons I cut down heavily on Stack Overflow time was that it was just getting too hard to keep up. There are so few questions of interest to me on the front page at any given time that most of the time, when I did deign to answer one, I had to abandon it shortly thereafter because somebody else beat me to the punch. I'm not complaining about FGITW - I can answer pretty damn fast - the problem is that every single person is focused on the same 5 or 6 questions.
It's not that there aren't any interesting questions. I just can't see them.
If people had better control over their view, different people would be looking at a different subset of questions. While everybody else is hammering away at the insipid interview question I could be crafting a detailed answer to the obscure WCF REST question that was posted 45 minutes ago and everybody else ignored.
And of course I realize that these are all "power user" features that 95% of the members would never use. To me, that's okay, because the other 5% of the members are probably contributing about 50% of the answers. (Okay, I made up that statistic, but I'll bet it's not far off.)
There's no low-tech human solution to this problem. The incentives and UI design are all biased toward getting new and easy questions answered, and maybe that is a good thing, but I think we've reached the scale where we need to give experienced users the opportunity to make their mark by answering meatier questions instead of everyone attacking the beginner question that was posted 2 minutes ago.
And that opportunity needs to part of the site design - it's not going to magically appear if we start telling people to answer more questions.