When I began researching ethical issues in computer science, I really wanted to find something I hadn't thought of yet. One of the ethical issues that really caught my attention is shipping and selling software that isn't fully completed. Why is this an ethical issue? Well, for one when it comes down to it, you are providing the consumer with something incomplete, when they are paying for the complete product.
This doesn't tend to be that big of an issue, outside of morals, when it is pertaining to small things like entertainment websites that might crash once in a while. The issue lies in the fact that software is such a large part of our society these days, that we need it to be complete and as bug free as possible. There can be very costly mistakes when it comes to software. One example is Ariane 5, this is a European Heavy Launch Lifting Vehicle, basically what helps launch a rocket into space. The Ariane 5 unfortunately had a software malfunction that caused a rocket to self-destruct and cost hundred of millions of dollars.
There are other cases that software malfunction has cost substantial amounts of money, and even lives. For example, the case of Therac-25. Therac-25 was a machine used for radiation therapy, but because of a programming error, it would give patients incredibly high dosages of radiation which would lead to serious injury and death.
I think that it's easy to think, "Well those were extreme cases" and not think much of it, especially if whatever software you (if you enter the field) develop isn't something so large scale and important. What it boils down to though is that is unethical for somebody to call a project complete when it isn't, even when it's a small scale project. This is because a lot of times, people are paying for the software they're using. It's the same as basically anything else you pay for, if you don't get what you paid for you get a refund or a replacement, why isn't it always the same when it comes to software?
