companies exist to make money - not to comply with ethics.
Companies exist to provide a service to society. In the process they make money.
they exist to make money - they make it by providing a service to society. Some companies realise that it is good business to be ethical - others dont. But people invest in companies to make money - not to promote ethics.
The characteristic of capital is that it moves in the direction where it can make profits and most of the times in pursuit of predatory profits thus leading to monopolies. Companies need to make profits in order for them to be able to survive. The question is 'how much profit is reasonable'? The free software movement has the capacity to create a level playing field where anybody can compete to provide services and make profits and create a strong economy. The characteristic of a strong economy is when jobs are created. More jobs means more people have money to spend. Meaning they can buy things. Meaning companies can survive. Free Software also has the capacity to ensure that companies follow ethics, relative as it may be. And yes, companies need to have social commitment else they will be rejected. Look at all the big and medium cos for examples.