When working for the federal government everyone knows everyone else's salary. So it can be done, and is generally less corrosive than hidden salaries.
Both. Often times in places like the military merit is only achievable as a function of seniority. So after x number of years after getting a grade you qualify to be promoted to the next. Whether or not the promotion happens at that point in time is a function of merit (and social skills).
When working for the federal government everyone knows everyone else's salary. So it can be done, and is generally less corrosive than hidden salaries.
As long as people are happy with their own pay, they really don't care what anyone else is making. In a large company, an incompetent making $5k/year more (because he's been there longer, or does some task no one else wants to learn how to do) isn't going to turn a happy employee into someone who wants to get out immediately.