What would a "hippocratic oath for software developers" look like?

In times of Facebook collecting all the data, maybe it would be a nice idea to create some kind of ethical manifesto that provides ethical guidelines that developers can follow and/or commit to (pun intended).

What do you think, such an oath should look like?

1 Like

Just for reference, there is the User Data Manifest 2.0 which the FSFE contributed to. Netzpolitik also wrote a German article about it.

Would this be something you had in mind?

1 Like

Ah that is really interesting, thank you for the link :slight_smile:

Chelsea Manning also urges to create a “code of conduct” for software developers:

“Software-Entwicklung und andere Tech-Experten haben eine ethische und moralische Verantwortung. Wir müssen zu einem ethischen Rahmen für unser Handeln kommen, einem Verhaltenskodex. Das ist sehr schwer, denn die Technik entwickelt sich ständig weiter und es gibt keine Universallösung, die für alle passt.”

Translation:
“Software development and other technology experts have an ethical and moral responsibility. We must arrive at an ethical framework for our actions, a code of conduct. This is very difficult because technology is constantly evolving and there is no universal solution that fits everyone.”

That’s an interesting topic, but also not an easy one. A few weeks ago I found the “Ethical Design Manifesto” which also has some really good points.

The problem I see is that you can either look at it from a specific angle and become quite specific, but this way you risk to exclude large parts of professional programmers. For example many people here would probably say that you should only develop Free Software. The other option is to be quite generic like “do no harm”, "don’t be evil"™, etc. but then it becomes quite vague.

For me it is really hard to have a opinion on this topic, but I’m always interested in initiatives like the “Ethical Design Manifesto” and curious to learn about other opinions. Do you have any ideas how a “Hippocratic oath for software developers” could look like?

1 Like

The ethical design manifesto sounds really cool. I was surprised, that the guy having the talk was talking about how that the print helped people to negotiate with their bosses. It appears that things as simple as a printed graphic can make a difference, which I had not expected :slight_smile:. Thank you for the insight :smile:.

Asimov’s Three Laws of Robotics also come to mind :slight_smile:

“Don’t implement blockchain just to use the word blockchain.” Seems relevant in the current hype landscape.

However after having done a stint as a CTO of a small web marketing agency, I thing not coding massive amounts of tracking into applications would be a good point to be added. My boss once showed me a tool he used that allowed you to pump in an email and you would get the person’s home address, shopping data, interests, birthday… It was pretty freaky. And all powered by Salesforce.

1 Like

Probably finding an appropriate scope may be the most difficult thing (like Bjoern said).

Lets look at a few examples:

  1. extensive data gathering
  2. development of weapon systems
  3. software to circumvent other softwares protection mechanisms

I see trouble here on multiple sides:

  • Do these applications already have moral dimension?
  • These are applications, what about libraries?
  • Isn’t this more the “business side”?

Especially the last point makes me more to think about documentation, and programming culture than about what to program. As the “hippocratic oath” is also more about how to treat, behave and pay, than about who should be treated and who not.

Probably the issue of which applications programmers should not implement may be needs a deeper investigation, as to “who and why would someone pay a programmer to implement this”.

An interesting read by Netzpolitik.org (in German):

The Project #AlgoRules wants to create a hypocratic oath for software developers. For that purpose they are running an online survey which can be filled out until December 21st.

1 Like

at 35c3 there was a talk about what is good technology:

Although it is not explicitly tailored to software development I think it might contain valuable thoughts.

I the libre developer hereby swear by the IGNUcius, and by all the gods and goddesses of the Free Software, making them my withnesses, that i will carry out, according to my ability and judgement, this oath and this indenture.

To hold my teacher in this art equal to my own parents; to make him partner in my livelihood; when he is in nood of source code to share mine with him; to consider his family as my own colleagues, and to teach them this art, if they want to learn it, without fee or indenture; to impart precept, oral instructions, and all other instructions to my own sons, the sons of my teacher, and to indentured pupils who have who have taken the responsibility to create a software that respect it’s users.

I will use those … got bored just do the damn abstracting, tracking, brainstorm, implementation, peer-review, tests, CI/CD optimization, docs and then merge so that we don’t have to refactor your garbage~

Reminded me of https://blog.cleancoder.com/uncle-bob/2015/11/18/TheProgrammersOath.html
and the related talks he gave, like https://www.youtube.com/watch?v=Tng6Fox8EfI