Negotiating your salary with out knowing what everyone else was making is stupid. If you're a star performer the goal is to get everyone making what you're making so you can ask for a raise on top of that. (In companies with huge amounts of cash on hand).
The problem with your approach is that it is very easy to manipulate people when you permit a power/information differential like that. You end up saying "the slave is happy with the food we give him; why should we offer freedom?" -- when he's only happy with the food because you've been beating him for so long he's been conditioned into helpless appreciation of your scraps.
You feel you're making a fair salary? Well then what is the harm of knowing your neighbor's salary? Are you going to learn a new meaning of 'fair?' What's the harm in that? That's just updating your priors and giving you the ability to make better decisions with more information. (That anyone would choose to reject relevant information when making decisions is the height of absurdity.)
So in such a situation there's little upside. You already know you're not getting scraps.
But there's a painful downside in knowing exactly who the company thinks does worse work than their direct peers.
But it's often supposed to be, and so salary differences can hurt feelings just as much as if the correlation was perfect. Or they can hurt feelings because the actual reason for the difference is unfair.
>The only people who benefit from salary secrecy are employers, and they benefit greatly.
Is that always the case? Remember, in this scenario we have a detailed knowledge of equivalent position salary, we just don't know which of those thousands of numbers belong to our coworkers. How does that remaining ignorance hurt me in any notable way?
I'm not saying that hurt feelings should override important info, but if the info isn't important, and it's not about you, then maybe hurt feelings should be considered.
Let's say I'm playing a game of poker. I know what my hand is, but nobody else's. You are telling me that I am advantaged simply by knowing the odds associated with my hand.
Great.
Except my opponent across the table can see everyone's hand. And they are telling me I should go all in.
That's why anonymous info isn't good enough: it's only anonymous to the losers.
This is more like knowing everyone else's hands in blackjack.
I guess it depends on why you are angry and punched that person in the face, did they spit on you, hit your wife, etc? Your analogy here isn't very good.
It isn't an employees job to understand what every other employee does and honestly management trying to justify every salary to every other employee would be a bit ridiculous. Maybe Jeff (or lets say Sarah) has a good salary because they bring in 10x the business as the next best sales person. That is easily quantifiable but lets say Jeff/Sarah brings in only the average income but you can see the growth with their customers. That isn't easily quantifiable and honestly doesn't need to be broadcasted to the whole employee base (especially since employees leave and go to other competitors and would then have a good list to work off of).
Employees routinely keep information confidential from each other because it makes sense to do so. This isn't a bad thing like you make it out to be, companies shouldn't be some open society where everyone gets to know each others business.