Thursday, April 23, 2015

Is "Close Enough" Good Enough?




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.

Ariane 5ES with ATV 4 on its way to ELA-3.jpg

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.

https://fracasosdesoftware.files.wordpress.com/2012/05/21367-radiation_therapy.jpg

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?

1 comment:

  1. I think your post brings up some interesting points. I, like you, had not thought about this before as an ethics issue. I think it is very important when you talk about people cutting corners on their work, and that work injuring people. When the same happens in the automotive world, it's a big deal, and massive recalls happen. I think the field of software is interesting because often times, consumer programs are released with bugs in the still. There is often just too wide of a selection of platforms to test them out in. Then, after release, the software company simply releases updates and patches for the bug or problem.

    One thing that needs to be determined though, is if the company willingly released the problem knowing it had defects and would cause harm. I do not know if this is always the case. Bugs in software are different than flaws in say braking components to a car. A car manufacturer might determine that it is cheaper to ignore the problem and simply pay the lawsuits when things go wrong. They might then choose to not redo the flawed design, or change the defective part. Flaws in software usually can be simply fixed once they are found. The larger problem is often the testing for the flaws. In your example above of the Therac-25 it seemed as though it should be a simple problem to fix if it was just a software error.

    ReplyDelete