The Drupal version is a necessary information, but it doesn't need to be given using a tag. On Stack Exchange, version tags should be used if the question, and its answers are specific to a version. To make an example, the following question doesn't need to have a version tag:
What is the different between the global variable
$user, and the user object I obtain from
The difference is the same, independently from the Drupal version.
Vice versa, a question similar to the following one could require a tag for the Drupal version for which the OP is interested.
I need a module for [explanation of the purpose]. Is there a module I can use for that?
The question could not contain any indication of the Drupal version, and the answers could report the modules existing for Drupal 6, and Drupal 7. Ideally, if when Drupal 8 will have its first official release, and a new module is available, a new answer can be added to report what other modules are available for Drupal 8.
Imagine what happens in the following scenario:
- A user asks about a module to use for a specific purpose
- Users answer proposing modules for Drupal 6
- Another user asks about a module to use for the same purpose
- One (or more) of the modules reported in the answers for the first question has also a Drupal 7 version, or it has a Drupal 7 version some time after the second question has been asked
(This actually happened at least once.)
In this case, the questions would be duplicate, as they are asking the same thing, and the answers for one question apply also to the other question.
As another example, take the following question.
I am using
user_load() to load a user object, but it doesn't work. What am I doing wrong?
This is the code I am using.
$user = user_load(array('uid' => 1));
The answer is clearly that such code doesn't work on Drupal 7, but it works in Drupal 6.
This last example makes evident something:
- When the question is about code that is not simple as a single function call, the tag for the Drupal version is probably necessary. Complex code is probably different basing on the Drupal version; the more complex the code is, the less chances the code has to be portable between different Drupal versions.
- The OP doesn't know if the question is specific for a specific Drupal version, in most of the cases. That why more expert users need to check if the question is specific for a Drupal version, or not, and remove/add the version tag when necessary.
The Stack Exchange idea is that a question needs to be useful not just to the OP, but also to any future readers. If the question is only useful for the OP, then the question is probably too localized.
Not correctly used version tags make the question not useful for future readers, who would probably not read a question if they are interested for a Drupal 6 answer, and they see the question is tagged 7. If the answers are really valid also for Drupal 6, they would miss the answer they are looking for.
The reason the tag description is generic is that is not possible to list in which cases the version tag should be used, and when it should not be used. That is why it says, "Version tags should be used only when strictly necessary."
I must admit, it is difficult to make users understand when they need to use a tag for the Drupal version, when they can tag their Stack Overflow question using drupal-6, or drupal-7, and nobody will probably remove the tags when they are used for questions that are not specific for a Drupal version.