This still bugs me, since the day I started programming:

Imagine, you're programming something that automates a routine for a nuclear reactor or a robot arm in space. What if something goes wrong with your program and as a result, lives were lost. Are you responsible for the deaths of these people?

... Yes? because you were the one responsible for the code or you were part of it... you should have done your job by thinking hard and look at the code for other potential shit.
... No? because it's just a common human error(human imperfection), it was not intentional, unexpected things happens.

:)
Posted on 2003-05-12 02:33:49 by arkane
there are always 2 parties involved, the other party has to check and accept your code as being up to their standards of safety. Once they do you're in the clear since it's not your fault that either their standards or their level of checks weren't high enough. :P
Posted on 2003-05-12 02:55:54 by Hiroshimator
well, yeah that's true but you will still have that guilt inside your head. :grin:

aha that's why there are terms of service to protect you but still... in "actuality", forgetting about terms of service and all legal papers you signed to protect yourself, you kinda feel guilty... don't you? :grin:
Posted on 2003-05-12 03:02:29 by arkane
If you supply the software, and the customer signs off on the deal, then they have signed that they accept it in its current form, including imperfections. If the customer then found an issue, but still continued to use the software, then that is their problem, not yours. Should the death be the result of a previously undiscovered bug, then the customer obviously didn't test it enough.

The simple fact is: nothing is perfect. You can do your best to get your software perfect by using automated test tools and QA testers, but they can still miss something.

So the short answer is no, i wouldn't feel guilty, just maybe a little sad.
Posted on 2003-05-12 03:11:04 by sluggy
Hmm. I would blame it on defects in the memory chips, solar radiation or the operator. I don't think I would think much about it unless cute girls were involved.
But cute girls shouldn't go up in space anyway, nor work at nuclear plants. I guess I would be mad at myself for not stopping them and bang my head against the wall really hard...
I'm not saying that I wouldn't try to get the program to work right in the first place. I do consider safety when working on such programs.
Posted on 2003-05-12 12:16:19 by Sephiroth3

well, yeah that's true but you will still have that guilt inside your head. :grin:

aha that's why there are terms of service to protect you but still... in "actuality", forgetting about terms of service and all legal papers you signed to protect yourself, you kinda feel guilty... don't you? :grin:


as long as you can say you delivered the product as being the best what you could produce I don't see why you should feel guilty. I certainly wouldn't. It's not like you deliberately murdered some cities and got away with it.
Posted on 2003-05-12 12:59:38 by Hiroshimator
damn! cute girls got in the way. :grin:

seriously...

yeah, I concede on these points
You can do your best to get your software perfect by using automated test tools and QA testers, but they can still miss something.
if you did your best and tested it for every forseeable failure then no, it's not your fault.
as long as you can say you delivered the product as being the best what you could produce I don't see why you should feel guilty.
there are other reasons it may happen like
I would blame it on defects in the memory chips, solar radiation or the operator.
but assuming you found out yourself that your code was responsible... Me? subliminally, I would still think I'm partially responsible, though I won't totally blame myself for it nor would I feel really really bad(like suicide or hating oneself) but to an extent such as loss of lives, I don't know.

Logically, It's kinda hard to pick between the 2 choices... yes or no, since both choice of arguments holds true and you only have to pick one, ignoring the other choice is unfair. Posted on 2003-05-12 13:43:38 by arkane

Imagine, you're programming something that automates a routine for a nuclear reactor or a robot arm in space. What if something goes wrong with your program and as a result, lives were lost. Are you responsible for the deaths of these people?

In space you can always blame debrie, microscopicall paritcles with _very_ high speed can do a lot of damage to "small" sensitive electronic components (e.g. CPUs), that the biggest concern for me, and if the fault is caused by the physical layer of the program (or the parts executing it) being damaged then nobody can be blamed (if someone, not nobody, made some physical protection for the components). And if the error is human (i.e. you wrote a/the bug), then one can always blame hardware (or simply say, "What!? Washington destroyed? It can't be my fault, I added muliple SEH-frames, extra error checking code, and I debugged the code 5 gazilion times, did you check for hardware faluires?")...

But why not write in your license/contract something like:
"?78-48.34: I('the Author of the software') CANNOT BE HELD RESPONSIBLE/LIABLE FOR ANY DEATHS, DAMAGES, FINACIAL OR PROPETARY LOSS, DISINFORMATION, OR SUSPICION OF POSESSION OF WMD('Weapons of Mass Destructions') CAUSED BY ANYTHING REMOTLEY LINKED TO OR DISTANCED FROM THIS SOFTWARE('US Tactical Nuclear Missible MegaBy 3 arm and fireing drivers v3.7.48')."

(btw, when I read hiros post and get to the words "It's not like you deliberately murdered some cities and got away with it." I think: "Aah! getting away with it wasn't his intension, it just turned out that way, like a bonus" :grin: )
Posted on 2003-05-12 14:30:12 by scientica
it's a powerplant in Canada right? right? :grin:
Posted on 2003-05-12 14:30:17 by Hiroshimator

it's a powerplant in Canada right? right? :grin:
No. :grin: :grin:


Actually I live near(not really that near but somewhere between 15++ miles - 25++ miles) a nuclear power plant(San Onofre) but I'll be moving soon, in a couple of days. Because rents here are expensive. ;)

anyway, yes contracts always includes protection like what scientica posted but still, if we really think about it and forget about these terms or service or contracts that protected you... , it's a stalemate.


p.s. I don't live in Canada, check IP, though I would love to visit some of my aunt and cousins. :tongue:
Posted on 2003-05-12 14:41:41 by arkane
One point about space

the best cpu that can run in space is a 80386 cosmic rays
fry any thing better

so every thing in space runs linux
and you could blame the system libarayas or the kernel
for any bugs in your software
Posted on 2003-05-12 15:52:10 by rob.rice

This still bugs me, since the day I started programming:

Imagine, you're programming something that automates a routine for a nuclear reactor or a robot arm in space. What if something goes wrong with your program and as a result, lives were lost. Are you responsible for the deaths of these people?


I do not know if u are asking if we are responsible or we feel responsible. I would feel responsible, and becouse such a catastrophe can't be undo, very painfull suicide would be my only way to try forgive myself.
Posted on 2003-05-12 16:47:56 by AceEmbler
hmm

I'd just sell the service pack :tongue:
Posted on 2003-05-12 18:13:05 by Hiroshimator
sung to "Supercalifragilisticexpialidocious..."


Pillage, rape and loot and burn,but all in moderation
If you do the things we say, then you'll soon rule the nation!
Kill your foes and enemies, and then kill their relations!
Pillage, rape and loot and burn, but all in moderation!
Posted on 2003-05-12 19:15:04 by Hiroshimator
Do good work - that is all that anybody can ask of you. To do less is to rob from yourself. It is impossible to predict the effects of all your actions even in the most controlled environments. If you only do good work only because there are consequences then maybe you should find other work to do.
Posted on 2003-05-12 23:14:42 by bitRAKE