views:

1318

answers:

17
+17  Q: 

Ethics and Coding

I've been thinking about how the technologies which I see as cool, can provide governments and private corporations with tools to do things which are not so cool.

I'm thinking along the lines of involvement with companies involved in warfare or the weapons industry, but I suppose there are many scenarios where a person's ethical stance might be tested.

Are there jobs and projects that you'd turn down, due to your belief or ethical stance? Do you think that developers and engineers actually hold any responsibility in these cases?

+5  A: 

If we have any ethical obligation, I think it's to develop those technologies you're talking about, not to refuse to develop them. Any technology or weapon can be used for either good or evil, defense or offense. Developing the technology is neutral, how you put it to use is what can be judged as ethical or not.

Bill the Lizard
Context matters. Developing big brother tools might be OK, if everybody has access to them and can learn their capabilities and limits. Developing the same tools in some secret context could be very different.
dmckee
You need to develop those technologies. Other countries are certainly developing them.
Bill the Lizard
Maybe a distinction should be made between technology and product? Technologies are neutral, but maybe the products we develop have more specific aims.
codeinthehole
I still think that how the product is used is what determines whether or not it's ethical. We have stockpiles of weapons that we keep around as a deterrent, and I don't see anything wrong with that. It would be abhorrent if we actually used them again (I'm from the US).
Bill the Lizard
Knives can be used to slice bread or to stab people. It's not up to the knife, but to the person using it.
Rik
@Bill "Other countries are certainly developing them": this is a point that can not be safely ignored.
dmckee
Research on chemical and biological warfare is, not, "neutral". It is evil, and "other countries do it" is no excuse. And I don't give a damn if sulfur mustard turns out to be useful in chemotherapy 50 years later; that's a different matter.
Federico Ramponi
It's not evil. How do you think doctors come up with treatments for people exposed to chemical and biological agents? By researching them. "Other countries do it" is *the* excuse. They're doing it, and we need to know how to counter it.
Bill the Lizard
Many poisonous substances are useful in industry, and they are not evil per se. But trying to synthesize them in order to kill people is. You are talking about medicine, and of course I'm not against medicine (nor to the research of antidotes).
Federico Ramponi
"Research on chemical and biological warfare is, not, "neutral"." ... of course it's neutral. Research on chemical and biological warfare is necessary to develop defenses and emergency response scenarios for dealing with these things if they are used against us.
Gerald
And the same is true of any type of weapon. If you want to defend against something, you have to know its properties. Since those who would use weapons against you aren't going to give you those properties to help you defend yourselves from them, you have to research it yourself.
Gerald
@Frederico: That's exactly my point. Developing toxins with intent to kill people is evil. Developing them to learn about cures for them is good. On balance, the technology itself if neutral. How you use it is what's important.
Bill the Lizard
@Gerald: I see your point, and I understand it (although I don't agree). Still, necessary != neutral. And still, developing a pacemaker firmware and a missile guidance firmware seem different to me. You must at least admit that there *are* ethical issues here.
Federico Ramponi
Different opinions, discussion worth reading. +1. What about some python now? :D
Federico Ramponi
A: 

As your title says ethics first and coding second;

also as a programmer;

if( ethics && coding)
{
  // do
}
codemeit
+1  A: 

I think questions like this have come up since early humans started using tools. Technology is neither good nor evil. It's the people that use it. You can't always predict how your stuff is going to be used. When they start asking you to wear a Dr. Evil uniform, though, be wary.

Rik
+6  A: 

Be critical before taking a job. If it doesn't feel right, don't take it. There are obvious cases as if it would be illegal in your country, but then you wouldn't have to use your ethical thinking if you cared about staying within the boundaries of the law.

Personally I wouldn't want to be part of developing anything which would be used to hurt other humans. As I feel that there are enough weapon systems as it is. There are lots of gray areas and I would tackle them as they turn up.

I have to respectfully disagree with another answer. That developing technology is neutral. It certainly is not. If you're developing technology which has obvious use cases involving killing or hurting people you're as much "pulling the trigger" as the operator of your product will be in a later stage. A good example is the atom bomb.

DeletedAccount
What about weapons used as a deterrent? What about technology used to more accurately aim weapons that would otherwise cause "collateral damage"? Those save lives.
Bill the Lizard
I don't believe in weapons as a deterrent. It certainly doesn't work for the US on any level. And weapons never save lives, they take lives. I understand your better aim argument, but I won't be part of creating something which take lives, period.
DeletedAccount
Weapons as a deterrent has been working for the US for decades, and on many levels. Weapons used for defense save many many lives.
Bill the Lizard
You present it as facts, yet they are not. Please provide links to independent studies (i.e. not the NRA) to support your claims.
DeletedAccount
I'm not quoting studies, I'm quoting history. The atom bomb was used to stop a war that could have lasted for many *more* years, possibly taking millions of *more* lives. It's only common sense that weapons used defensively save lives.
Bill the Lizard
Armed truces are not desirable. They are uncomfortable and unstable, but surely they are preferable to being at the mercy of an unethical aggressor. That was the cold war. Now if we could only stop _being_ the unethical aggressor.
dmckee
Agreed. Hopefully, after the election. We are now officially way off topic. :)
Bill the Lizard
Yet scientific programs that spun off of research for the atom bomb program have saved far more lives than the bombs have taken.
Gerald
I'd like you to prove that statement Gerald,as I'm not sure you're correct.Of course war pushes science forward and there are both positive and negative effects in the long run.Personally I would never want to be part of creating something used to hurt or kill people.It wouldn't feel right, to me.
DeletedAccount
kloucks
kloucks
kloucks: So we shouldn't draw the line anywhere according to you? As it's impossible to not indirectly support unethical businesses as everything is tied together in the same society? If that is so, I don't agree. And I choose to draw the line somewhere, which I find to be good enough.
DeletedAccount
A: 

Ethics and then coding

It's generally not too hard to work out what you're working is going to be used for.

Just watch The Simpsons episode "You Only Move Twice" for an alternative perspective.

Rob Wells
A: 

When the early research into radiation and nuclear substances was done, I think that no one had any idea or intent on using it to kill people. It was only later that those notions were taken into consideration.

Software design seems like it would fall into that gray area where it can either turn out really good or really bad; or in some rare cases both.

If you start talking about programming for weapons guidance systems and doing research for the military, I think something you'd have to take into consideration is: who's going to make it first, me or them ?

Josh Sandlin
+9  A: 
VonC
+8  A: 

See the ACM Code of Ethics for some meaningful guidance.

S.Lott
A: 

A friend of my works at a company that develops billing software for telephone PBXs. Mostly their customers are hotels but some large organizations use it to analyze their call charges.

One of their customers turns out to be the military of a country with a poor human rights record. The military themselves are guilty of genocide.

So you don't have to be working with weapons technology to end up in an ethical dilemma.

bmatthews68
I think your friend's issue regards dealers, not programmers.
Federico Ramponi
A: 

Ethics is always first, full stop.

The is a singularly un-helpful comment. Very, very few things are ethically binary. Nick - can you give me an example of a time at work where you bucked your employer on ethical grounds? What happened? Do you -always- act ethically? What happens if someone else claims you are un-ethical?
Foredecker
+2  A: 

The internet and cell phone technology were initially developed to support strategic and tactical military goals. Medical trauma units were a technology developed by the military to provide forward troop support. GPS was not initially developed for civilian use.

Insurance companies routinely deny claims they are obligated to pay because they know a certain percentage of their subscribers will not appeal(14%-39% depending on claim amount) and it saves them money.

Banks structure the payment sequence of checks presented from largest to smallest so that if there is on overdraft they can hit you with multiple overdraft charges for the small checks that bounce.

Medical clinics and hospitals unbundle services for billing purposes so that they can charge (and often double dip) more to Medicare and Medicaid for their services.

Lawyers can and do bill more than 24 hrs a day for their services.

The list goes on extensively.

all of the above require a lot of computer and software support to accomplish their goals. What industry can you work for that will not be "ethically" offensive to someone?

This is an angels on the head of a pin question.

kloucks
+17  A: 

From a reply on coding horror

It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.

ps. The point of this is that 'profesional ethics' and 'moral ethics' are not the same thing.

Martin Beckett
+1, because I'm on the other side of the world from your example.
Adam Liss
This is originally by Nathaniel S Borenstein, author of my favorite computing quotes. See this answer: http://stackoverflow.com/questions/58640/great-programming-quotes#114314
Scottie T
+2  A: 

I've run into ethical issues a number of times, though most have been relatively minor compared to the issues talked about here.

Primarily they involved offers for contracts involving software to deliver spam in various forms (email, instant messengers, chatrooms), which has been easy to decline because of how much I hate it.

Also offers to develop cheats for games. I was once offered $20,000 to develop a few cheats for a popular online game. That was a little harder to turn down, but considering some of the recent lawsuits and rulings I'm pretty glad I did even without considering the ethical issues.

I was also asked to develop software for telecommunications companies that would enable the government to monitor calls. That was somewhat of a gray area since it was legal and there were some ethical possibilities for use, but I decided to stay away from it anyway.

Gerald
+1  A: 

There was an article published recently in Toronto (sorry, I don't remember where or I would provide a link) which discussed the ethics of writing price-fixing code. You don't have to go as far as military coding to find questionable programming tasks. You could work for a manufacturer and be asked to write code to implement price-fixing with a competitor. Here in Canada, if the company was caught, you would be responsible for having written the code.

This can create a difficult situation where your boss (who in the past has not requested anything remotely unethical) asks you to write such code. You could not have known about this when you took the job, and now you have an ethical decision to make. Deciding about the ethics of writing weaponry code has to do with personal ethics, not programming ethics. If you think working with weapons technology is unethical, don't apply to the military.

Elie
+2  A: 

I think you need to consider ethical questions before agreeing to work somewhere.

A few years ago I was approached by a short term loan company. They were one of those "payday loan" companies that attempts to sucker low income people into "feeling like they have more money than they really do," in the guise of "helping them." Once someone starts taking these loans, they're stuck in a downward spiral. They can't get out. Once you get it once, you need it forever.

I live in a less affluent neighborhood on the south side of Chicago, and I see this happen all the time. I think it's extremely depressing.

The company continued to press me, trying to convince me that it was a great "opportunity" and that the business was growing rapidly. Just goes to show what kind of a company they really are.

I think ethics are very important in where you choose to work. You'll be spending a lot of time there and giving them the fruit of your intellectual labor. You should do everything in your power to make sure that labor isn't dedicated to something you disagree with at a philosophical level.

If someone can "choose" not to use the product you're building, then you can sure "choose" not to build it.

Sean Schulte
A: 

Great question. My answer is of course. Contrary to what some have said, you can't separate morality from your profession. If you write software whose purpose you feel is evil, then you are responsible. However, if you write software whose purpose you feel is good, yet people use it for evil, then I don't think you are responsible, but you should step back and consider whether it is good to continue its development.

JimDaniel
+2  A: 

I have recently resigned from a job and took another job with a decrease in salary because I did not agree with the ethics of the owner.

I will not abuse my conscience, or lie for another person.

Currently I work for people with exceptionally high morals (at least as far as I can tell)

And am much more relaxed and happier than I was. I believe it was the right choice. That also has the effect that I know I won’t have to work for clients that have questionable morals

Just my humble opinion Rihan

Rihan Meij