In my opinion salary information should not be kept a secret except on personal request. Openness in pay, responsibilities and performance[0] leads to a far healthier company in my opinion and experience. That is not to say you stick the salary information out in the open in a database for all to check at will but during [pay] reviews I feel it is important to be able to see how much you earn compared to your direct colleagues. This is also good for a company as it means they actively working towards equality.
[0] This is obviously quite difficult because performance can be very tricky to measure fairly and can cause problems in comparisons to other positions. The same is true of performance related bonuses which I am fine with keeping private.