Well, here's the thing. The issue of morality is that it's hard to define. People can argue till they're blue in the face about what's moral and what's not, and not come to a consensus. This is because there are no set standards of "morals", they change depending on culture, upbringing, beliefes (or lack thereof), so morality or immorality are really not a good basis for "shoulds" and "should nots". Plus, if we go by morality then unless a person is someone like Ghandi, then they're pretty much immoral in one respect or another, and if one denies that then that person is a hipocrite.
Is it "moral" to have more than one wife? It depends. Is it "moral" to kill and then eat someone? Well, there are still tribes on earth that practice cannibalism, in fact it is a sacred ritual for some of them. This may be abhorrent from the western "civilized" point of view, but for those tribes it's what their "god" wants them to do. (BTW it's funny how many people do some really fucked up shit just because "God" told them it was a good idea, just look at Al Qaeda and our... uh... beloved President).
Back to the subject of software piracy. Instead of "law", "morals" and all that nonsense, I think it would be more productive or perhaps more constructive to look at the issue of software piracy from the point of view of ethics, as it is much easier to define ethical standards.
A good way to define ethics is as a set of principles of right conduct. The question then becomes "what is right conduct"? A broad stroke way of looking at it would be that right conduct is one that makes social interaction easy for everyone involved, which creates an environment of trust and shared responsibility. One can also define ethics in business dealings and professional life. For example, I've been in the IT business for the past 11-12 years, most of which as systems and network administrator. This gives me immense powers and access to company data. Every IT professional at mid to high level possitions has access to all or at least most of the company data, confidential and otherwise. This means that if someone in that position wants to read a CEO's e-mail, they can. If they want to see all the payroll, they can. If they want to look at some design documents, they can. However, it is part of the ethical code (unwritten) of any IT professional, to refrain from such transgressions, unless instructed by someone in charge, and who has a good reason to do so. Without this, no company can trust their IT professionals, which would cripple the whole structure. There needs to be a level of trust.
Now, when someone develops code for a program, say a commersial soft synth, they have to be able to have the trust that they will receive just compensation for their efforts, as this is how they support themselves, their family, and business. If they don't, then it's both demoralising in a sense that it makes them feel that their efforts aren't appreciated, and jeopardises the company's well being, which can lead to bankruptcy, which means there will be no further development for a certain product. For example, i'd hate to see Native Instruments go out of business, because I really enjoy their products, and rely on them rather heavily (at least Absynth and Reaktor). When a company goes out of business, it hurts not only them, but also everyone else who relies on their product. So, overall, it is in the best interests of the general public to support those businesses. It is a case of shared responsibility, and building trust.