This also makes the employer less accountable to the employees. The employer can easily pay somebody significantly more or less than they contribute, and the rest of the team cannot really say anything about this.
Now, there are some cultural reasons to do this--preventing jealousy, hiding inequality. But it really feels like a social band-aid, a temporary solution hiding the symptoms but not the underlying problem. Besides, everyone ends up having a reasonable guess as to who makes more and who makes less anyhow! The same dynamics develop, just with more uncertainty.
On the other hand, making salaries public takes these problems head-on. Inequality isn't bad in and of itself; some is basically necessary. But hiding that fact doesn't really help anyone. Instead, forcing people to see it head-on, deal with it and talk about it is probably a better solution.
I really applaud Buffer and the general movement towards transparency. I think it's a very healthy cultural progression and hope it catches on more widely, so that people stop having knee-jerk reactions to salary information.
EDIT: As an interesting additional note, all salaries (beyond a token minimum) at Berkeley (and the whole UC system) are publicly available at http://ucpay.globl.org/.
I've looked up various professors at the ParLab (where I did some undergraduate research). The fact that their salaries range from ~120k to ~350k did not change my perspective of anyone and did not seem to affect the lab's culture at all.
Essentially, I'd be perfectly happy to see this outside of public universities.