Should one use has been or was in the following sentence, and why?
- For many years the USA has been a British colony.
- For many years the USA was a British colony.
"Was" is the correct word to use. Why?
If we were to rearrange the sentence a little, we would see why:
Example 1 indicates that the USA is still a British colony, and has been a British colony for many years.
Example 2 indicates that USA used to be a British colony, but possibly is no longer.
Thus, "was" would be more appropriate in this case.
Nothing wrong with Thursagen's answer, but he doesn't give an important (I believe) part of the explanation:
The perfect (or present perfect) is used when the situation has some sort of present relevance.
It is therefore not normally used of a situation which has ceased, and so would not be used in your example.
It can however be used of a completed situation which is being viewed as one of a series which continues to the present, so
is grammatical, since the period from 1776 during which they could in principle been at war is continuing. On the other hand,
is distinctly odd, since the period of which the Empire could have been at war has definitively finished.