I've found time and again that a good recommendation question comprises two parts:
- A purpose or user story, establishing the scenario.
- Some firm requirements.
In the end, questions here are problem-solving questions: I have a job to do, what's the best tool for this job. The most important criterion to judge answers is whether they are a good fit for the job.
If an answerer thinks that the requirements are incompatible with the given purpose, and offer a way to accomplish the job that doesn't meet the requirements, this is still useful. Therefore an answer that deliberately fiails to meet some requirements should be valid, but must be justified. If you disagree with a requirement, ok, say so, but back it up.
Building on an example by Robert Cartaino, consider a question that has as a requirement an anti-virus program that must never connect to the Internet.
Q: Scenario: I have a computer which will never have any network connection. I can't run any network cable to it or set up any wireless connection, it's physically impossible due to the location of the computer.
A: An antivirus needs to have up-to-date virus lists, so I'm going to recommend an antivirus that needs Internet access.
This is not a valid answer and should be deleted because it doesn't answer the question at all. The requirement of working offline is absolutely intrinsic to the question.
Q: I want an offline antivirus because I don't trust the antivirus provider not to feed me invalid data.
A: The antivirus provider already has control of your machine via the antivirus program, so letting them push an updated database to your computer doesn't worsen its security.
Here, the answer explains that the contested requirement stems from a mistaken security analysis. This is a valid answer. It might be wrong, depending on whose analysis is correct, but that would be a matter for downvotes to sort out.
Note that this doesn't dispense the answer from also providing a tool or workflow recommendation. If the post only contests the requirements without suggesting a tool that fulfills .
Q: I want an offline antivirus.
With no explanation as to why, if the motivation is important, request a clarification in a comment. If you think that the clarification is necessary to answer, close as unclear.
In this case, the answer explains at length that for the stated purpose (collaboration a coding project), real-time updates are more of a hindrance than a gain and distributed version control is the way to go. I personally agree with that — but even if I disagreed, this would be a reason to downvote, not to delete. If the purpose of the request for real-time collaboration was, say, pair programming between people in different locations, that would be a different matter.
TL,DR:
- “you shouldn't do this” → no (but that could be a comment)
- “you can't do it that way” → yes, if you can say so authoritatively
- “you can't do it that way, do it this way instead” → yes, if you back it up