Widdershin / programmers-oath

An oath for programmers, comparable to the Hippocratic Oath
Creative Commons Zero v1.0 Universal
725 stars 138 forks source link

Use of less humane code #81

Closed lil5 closed 6 years ago

lil5 commented 6 years ago

Something that should be added is a refusal to use the work of other, less ethical coders in your own code - much like how research carried out inhumanly on animals/humans is treated in medicine...

-- (wishes to stay anonymous and I have posted this on his/her behalf)

lil5 commented 6 years ago

article 0 includes

0. [...] I will stand firm against any requirement that exploits or harms people.

But nothing is said about animals

pachunka commented 6 years ago

But nothing is said about animals

While humans strikes me as the primary group being defended by this oath, the phrase "exploits or harms people" could say "is exploitative or causes harm" without losing impact. And makes it species-neurtal. :)

a refusal to use the work of other, less ethical coders in your own code

That seems like it would lead to a hard-to-resolve rabbit hole to me, but there's a simple upfront reason I think it won't work: It pits people against each other, and specifically asks programmers to judge each other morally - whereas every other tenet in the oath is about diligently policing your own behaviour.

It's also counter-productive. Let's say I get it into my head that my CPU's manufacturer's engineers were unethical in favouring performance over security, and I start second-guessing whether the resulting machine-code I produce has inherited some moral-poison.

Or, maybe some company releases an internal tool they made as open source, then later it turns out they had a toxic/abusive work environment - is code derived from their tool now morally 'infected'?

I think a requirement like that would drive people subtly crazy and ultimately act as a counter-productive force. The beauty of the oath is that it asks you to watch your own behaviour, make your own judgements - to make sure you're not the problem, instead of playing a moral blame-game on others. That's what's going to make it work.

lil5 commented 6 years ago

@pachunka

a refusal to use the work of other, less ethical coders in your own code

I fully agree with you that this will cause only more problems and that any loophole should be stuffed out by article 0

lil5 commented 6 years ago

@pachunka

This will urge deeper questions about what is humane treatment to animals, And what you propose, flat line to a zero tolerance policy.

(Would the lunch at work, chairs, office, computers: have to be vegan, fair trade?)

What is currently achievable in our current society under humane animal treatment? And is that something this world wants/needs?

"Personally I'm a vegan but I rather these be open questions than opinions for the community"

Update:

Or does this mean the oath disallows programs with affiliation to companies that afflicts "exploits or harms" animals (Animal population control programs, slaughterhouses, certain beauty products, pharmaceutical companies that test on animals) How far does the rabbit hole go?

mo-g commented 6 years ago

I like the thinking off the anonymous contributor, but I agree that the implications of this would make the oath completely unfollowable.


To take this to an aside; I'm vegetarian, and closer to vegan than most. Which is more harmful to animals - plastic dental floss made from materials with toxic production and toxic disposal, or silk floss coated with beeswax - made by killing insects, but not otherwise damaging to the environment?

Which is more harmful? Buying a belt made of leather, where a clearly conscious, emotional creature died to produce it, or again - relying on plastics with all the consequent trauma to animals that they involve?

These are issues that I already struggle with purely in terms of my own purchasing decisions! Expanding that to a strictly defined oath of moral conduct as a programmer, that I have publicly committed to upholding, would prevent me from being a coder, or more likely - from acting within the bounds of my oath.


Ignoring the plight of animals and the risks of digging too-many-layers into technology, mandating ethical verification for my code would be practically impossible.

Say I'm using protobufs. "Don't be evil" - I'm covered! But since then, Google has gone around and done a whole bunch of evil things. So - do I now demand that all users of my miraculous defibrillator code that improves success rate 90% immediately stop using it, because Google did some evil that I didn't know about when I used their libraries?

And yes. I know defibrillators are not going to improve by 90%. I know that it would be insane to use protobufs in a life-saving device. It's a hypothetical example, stop nitpicking at it.

mo-g commented 6 years ago

On the basis that there has been essentially unanimous agreement that this is a noble concept but infeasible one, I'm marking as a wontfix until someone weighs in with a big objection. Will leave open for a little while longer so it doesn't just vanish. :)

lil5 commented 6 years ago

@mo-g funny tho the anonymous OP didn't actually mean for such an interpretation (that of animals rights) But rather use of code from unethical sources, I just interpreted it so

mo-g commented 6 years ago

There was an interesting episode of Star Trek Voyager that dealt with some of these issues from a medical perspective (as a thinly veiled allegory of Josef Mengele). At the end of the day, the writers couldn't come up with a simple answer about what was the right choice.

More recently, and more directly to the issue at hand, is the fate of ReiserFS and Reiser4 following Hans Reiser's murder of his wife. In this case, Linux maintainers gently deflected the merging of Reiser4 code (their stated reason was that it did not meet Linux coding standards, whether this was the primary reason has been debated) but Reiser3, which was merged prior to the murder - remains available in the kernel tree.

Widdershin commented 6 years ago

Less humane code is an interesting one that I'd love to see more discussion about.

I'm actually very in favour of amending the harm tenet to include animals, perhaps we should have another issue to talk that through.

bortzmeyer commented 6 years ago

@mo-g I don't think that ReiserFS code is relevant here. The prohibition in medicine against using unethically-obtained results (such as the Tuskegee Experiment) was done in the hope of discouraging such unethical experiments (their authors sometimes want fame and recognition). Here, removing code written by a murderer would probably have zero inpact on future murderers.

lil5 commented 6 years ago

I will close this issue in a day (15 Mar 2018) as multiple have concluded this to be a non-issue