A World of Ethical Programming

"Computers are good at following instructions, but not at reading your mind."
- Donald Knuth

When Mark Zuckerberg was hard at work creating what would become one of the largest human networks ever created, I think it is safe to assume that he did not anticipate everything that it would become. He had no idea Facebook would be used to spread hate or misinformation. Similarly, no one at Google purposefully programmed the site to trap users in their own bubbles of misinformation and distrust. However, Facebook has become just such an avenue, and Google's personalized search results have indeed trapped many people in their own subjective and isolated realities.


So if no one wanted these eventualities to occur, how have they happened? I would argue that it is because it is almost impossible to fully anticipate every consequence a piece of programming will have. Computers simply do what their programmer instructs, so if the programmer does not implement measures for (or against) a certain outcome, then unintended results will occur, and those results might be unintentionally unethical.


What, then, makes for ethical programming? Unlike other human endeavors, where ethical practices come about from refraining from taking certain actions, such as a doctor's prerogative to do no harm or an athlete refraining from cheating, ethical programming requires proaction. It is not enough to avoid telling a computer to not insult or belittle its user, nor to simply not instruct a computer to not spread misinformation. If a computer is not instructed what to do in response to certain user inputs, then whether the programmer was trying to be ethical or not, then the user might very well decide to act unethically, and one must ask one's self: if the programmer was able to prevent that outcome, then whose responsibility is that outcome? There may be no concrete answer to this question, but I don't believe that to be an excuse for the programmer to not try to prevent it in the future, because that is ethical programming: to anticipate how one's technology is going to be used, and steer the user toward using it as intended.


Is this website, then, ethical? Do my projects steer the user toward using it as I intended? I would like to think so, but I invite you to join the campaign against unethical programming and help me program ethically. Get in contact with me if you think there is something I can do more ethically, and feel free to reach out if there is a project to be collaborated on! The techological world is not going to ethicize itself.


- Joseph McGreene