Ethics and Software
In this post, I want to start to think a little about ethics, but specifically from the point of view of software. I started looking around at this casually, I did some searching and chatted with friends who also work in IT. I found that the idea of ethics and software tends to be seen as a matter of software licensing and software piracy. I think that this misses what I’m looking for, that the goal of my search lies elsewhere.
As a programmer, I have ethical obligations. These are mostly to users of my programs. I have to do my best to ensure that the people who use my programs can trust them. This means that the programs don’t spy on the user in anyway, after all my programs are guests on your computer system. That means that they mustn’t abuse your trust. In fact, it could be said that the program acts as an ambassador for the programmer (or software company), if it’s crooked then what conclusions might be implied about the nature of the software provider?
But what about the user? This is an equally important area and is part of what I want to begin mulling over. This really starts with the position of being an ethical customer, so firstly we have to consider the company we’re dealing with. If a software company is noted for being specifically unethical or abusive of it’s power or position, we have to ask ourselves whether we want to do business with this company. Do we really want to support them? After all, the money we hand to the company helps to reinforce their profits and position, thus potentially supporting their unethical actions. In light of the recent revelations from Edward Snowden regarding government snooping and the complicity of some large software companies, this question is very relevant.
This is probably even more alarming when applied to cloud services. After all, we have little control over the practices behind the scenes at the service provider. We still have to ask the question of how easy it is to migrate away. If the only copy of your data is with a cloud service provider then are you a customer or a hostage? Given that you may not be able to guarantee the security or privacy of your data, how much knowledge and control are you willing to share with them? That’s a very pertinent question if the service or data is business critical.
However, there is a degree of responsibility that lies with the user too. When saving data, we have to consider the format used. Should we force other people to use formats for data that might lock them into a given piece of software? For example, a proprietary word processor or database with its own file format. If somebody wants to interact with us, they are forced to buy a given piece of software, but what ethical or moral right do we have to dictate that?
There is another piece to this, I have pointed out in the past that all notions of compassion and ethics have to begin with the way you treat yourself. After all, if you don’t treat yourself well, how can you then extend compassion to your treatment of others? Ethics and compassion have to begin at home.
This seems to mandate that we only use software we can be more confident of trusting, from ethical sources. I am convinced that Free Software such as GNU/Linux is the way forward in this regard. It also means that we apply the question of vendor (or format) lock in to our own situation. Do we want to be locked into this software? Who holds our data? I feel that these are questions that we can increasingly not afford to ignore.