Why to do it:
Transparency of things like salaries generally lead to more fairness. It also forces employers to base salaries on more objective (and open) justifications for setting salaries, as opposed to who the best negotiator is, nepotism, or other potentially corrosive practices.
This can work best in environments where performance is highly objective vs. subjective. For example, my very first job, Taco Bell, would pay a certain bonus if you could pass a test that proved that you had food ingredients and amounts memorized. The reason is because a high percentage of how efficient a particular restaurant location was had to do with how quickly and accurately the employees could produce food, to order, the same way every time. In this case, it's clear what the incentive is for both the employer and the employee, and therefore under what conditions it was easy for a boss to give me an "automatic" pay bump due to efficiency gain.
In places where performance is more subjective, simply having a process for how salaries are determined, and having that process be open to discussion to some level, can contribute to a feeling of fairness. Organizations that operate as cooperatives (where the employees also own the company) are examples of where everyone's incentives are aligned, generally, can handle this well.
Going too far with an approach that focuses on measurements is that you can fall into the trap of reducing everything to performance numbers, which are only motivating to some employees, to the exclusion of others. An approach such as this also tends to focus on efficiency instead of other factors that may be valuable to the company and its employees, such as culture, design, customer satisfaction, etc.
Fairness is what is important, regardless of what the right approach is in the specific case. If you focus on fairness, then you can't worry too much about jealousy. You might have some people that are jealous, but so long as the path to get from where they are to where they want to be is clear (and it's not an old boys club where the path is clear, but you also have to kiss a lot of ass needlessly), then you can always point jealous employees back to that process.
In case I haven't said it already, I don't think there's ever a downside (for the employees) to opening up the process. It can help shed light on unfair practices that may exist, even if the employer isn't trying to be unfair.
Regarding fears that it won't work:
I've seen transparency work. I think the fear that it's a slippery slope toward every-increasing salaries or complaining employees is just silly: the company can always say "no". Transparency in this case tends to fail only if you don't also publish a list of fair, reasonable criteria for setting salaries which can be largely objectively measured.
I've also had a personal experience where an employee found out that they were being paid significantly less than another employee who (by the agreement of all their peers and supervisor) did a poorer job, and hadn't been there as long, nor was as productive. The unfortunate response the underpaid employee was given was, "Well, it's not going to change, so there's nothing to negotiate here."
I only found out about this situation when the supervising manager was later replaced - not because of this situation, but this was one of the things that came in out the process. As a result, the company established a more open process to setting starting and advancing salaries. While individual salaries were still never revealed, managers made sure that they had "real" reasons for paying people what they did, so that when employees did discuss their salaries (which is pretty much inevitable), and asked questions of their supervisor, they were able to discuss the standards for setting salaries, and direct action the employee could take to increase their salary, which pretty much solved these problems.
One, very public (and one private) example of this working:
StackExchange itself publishes its compensation determination strategy (Dec. 2015 update - this link is broken, but here's a sort-of close equivalent). I'm not trying to tout StackExchange just because we're using their services, they're simply one of the best examples of ways to run a company more openly, and they actually make the compensation strategy public for the entire world to see.
Ternary Software (now closed, but the spiritual predecessor to Holocracy One) also had an open salary strategy. Everyone knew everyone else's salary and the criteria that went into it, but things didn't start this way. In fact, the persons who enacted a more open system not only made money a non-issue by publishing the criteria for setting salaries, they also lowered their own base salaries, and (based on group agreement) refocused compensation based on what was both good for the company's success, and the employee's long-term growth and motivation.
The result was that the group decided what mattered to the life and success of the company, and gave employees a clear direction for increasing their salary if they desired (believe it or not, this isn't always the highest priority for employees). When the employees did bigger and better things, the company also was doing bigger and better things, so it was a no-brainer to give someone a bonus when they clearly, and directly affected the bottom line for the better.
Regarding how to do it
Now, you did ask about whether or not you should encourage employees to share their salaries. The transition from secrecy to transparency takes time. I would say that going gangbusters and encouraging everyone to switch to transparency tomorrow is likely to turn a few heads and breed confusion - probably not a good idea. You're almost certainly going to hear all the fears that you can imagine about why this won't work.
The trick is to take it slow. Different companies (and company cultures) will take different amounts of time to make a transition like this (and if they decide not to make this transition, that might be okay too). So, take it one step at a time. Maybe propose a small change. Maybe talk about exposing the salary slowly and implementing only a handful of changes each quarter. Maybe start with a discussion about how compensation should be determined and start getting ideas. Yes, you will, of course, get the people who say, "Well, I produce $5,000 in revenue to the company every month, and I therefore should get paid precisely that amount"), but this is unrealistic and impractical on a number of levels, and that's not how businesses work, grow, or improve. People that want to make exactly the money that they bring in should become independent contractors - they can live and die by exactly the amount of money they bring in the door all they want.
I think one of the most important things here is that you be just as transparent about how and when you plan to make this transition as you plan on being when you reach transparency. Every company culture will inevitably decide that their comfort level is a little different than other places, and it's okay if they don't end up where you hope they will. These ideas go against a lot of social norms, and it's going to take time to make whatever transition an organization decides to take on.
One completely different way to do this might be to simply announce a bonus for some performance metric, let other people propose additional, incremental changes in conjunction with the business owners, and let the momentum of this process guide it.