Some people like to talk about Open Source Software. The original term for this was Free Software. The reason I prefer the term “free” is exactly the ethical connotation.
There is, of course, also an economic argument for Free Software: It is bad for our economy if we charge money for licenses instead of effort spent. The money adds incentive for software companies to redevelop software all the time. As customers grow accustomed to paying enormous fees, reinventing the wheel prevents our society from allocating resources efficiently.
Usually software as sold by IT companies is effort based. If the IT company is willing to carry the risks, the software will be sold for a fixed price, if the IT company does not want to carry the risk (ie., most of the time), the software is sold as a project. I should know. I work in such a software company.
In every project, part of our energy is spent developping stuff other people have already done. And we cannot reuse it, because developping things as Free Software is not (yet) a tradition. Slowly, things are changing for the better, luckily enough. We prefer free application servers, free development tools – Free Software is changing the way we do business.
The term “free” indicates, however, that the economic argument is not the only argument. There is more to it. People feel better if they know they are helping others. Developpers like the knowledge that their work is valued not only by paying clients but by fellow developpers all over the world.
The term “free” also indicates that eventhough we think software tested and examined by more people has less bugs, we think it even more important that newbie developpers can learn using our code, that other people can save time using our code – we want our code to do good.
Once we earned our money writing the code, we want it to be free – to spread, to improve, to teach, to grow!