I firmly believe that when job-hunting, you should know how much you'll be making when you apply. I've been through a number of interviews for what seemed to be great positions, only to have to turn them down after being offered the job because they weren't paying a decent wage for the job at hand.
Making public how much everyone is making goes a long way to keeping job-seekers aware of how much they are worth. Hiding salaries only helps companies, who can then keep low-balling people.
Back when I was in the Army, we all knew exactly how much everyone else made in base pay, from E1 to O9. That at least gave incentive to work up the chain from the bottom.