EBoard 18: Ethics
Warning! You are being recorded (and transcribed) (provided the technology
is working correctly).
Approximate overview
- Quiz [15 min]
- Administrative stuff [10 min]
- Questions [10 min]
- Discussion [45 min or so]
- Why are we doing this?
- Review of the ACM code of ethics
- Some initial reflections.
- Case studies
Administrative stuff
- Happy March!
- Next week, we start to explore the wonders of recursion, one of the
ways in which we achieve repetition in programming languages.
About SoLA 2
- Same policies: Use your notes, our Web site(s), DrRacket, the DrRacket
docs, but not other people, not ChatGPT/LLMs, not other Web sites.
- All the LAs from SoLA 1 (except tracing) plus
- Conditionals (given as a quizLA)
- Documentation
- Testing
- Program style (last Friday’s quizLA)
- Lists and the big three (today’s quizLA)
- Ethical considerations (today’s topic)
- DO NOT RETAKE LAs you’ve already completed.
- Goes live Monday at 4pm and is due Wednesday at 11pm.
- Pre-reflection due tonight.
Token opportunities
Academic/Scholarly
- Tuesday, 2024-03-05, noon, Some PDR.
CS Table.
- Thursday, 2024-03-07, 7:00pm, Science 3819.
Mentor Session (probably on recursion).
Cultural
- Saturday and Sunday, 7pm, The Wall Theatre.
Neverland.
- Get tickets if possible. But you can also just go on a waitlist.
- You are competent human beings, you can probably figure out the
other times.
- Monday, 2024-03-04, Sebring Lewis.
Des Moines Metropolitan Opera: Beauty and the Beast
- Thursday, 2024-03-07, JRC 101, 8:00-9:30 pm.
Writers@Grinnell: Carl Phillips
- Thursday–Saturday, 2024-03-07 to 2024-03-09, 7:30 p.m.
Songs of the Scarlet and Wayback (play).
- Saturday, 2024-03-09, Harris Cinema, ??:??
Met Opera: Verdi’s La Forza del Destino.
Peer
- Friday, 2024-03-01, 4pm, Global Living Room in HSSC.
Middle of Everywhere.
- Friday, 2024-03-01, 7pm in JRC 101.
Spa Night.
- Relax with your friends.
- Earn prizes for relaxing better than other people.
- Make essential oils.
- Saturday, 2024-03-02, 2pm, in Sebring Lewis.
Orchestra, Bartok. Vegetables. More!
- Sunday, 2024-03-03, 1–3pm, in JRC 225.
Fiber Arts Club. Community. Arts. Music in the background. What could
be better.
Wellness
- Tuesday, 2024-03-05, noon-1pm, BRAC P103.
HIIT and Strength Fitness Class.
- Tuesday, 2024-03-05, 12:15–12:50, Bucksbaum 131.
Yoga in the Museum.
- Tuesday, 2024-03-05, 4pm, BRAC P103 (Multipurpose Dance Studio):
Yoga.
Misc
Other good things (no tokens)
Upcoming work
- Friday, 2024-03-01, 11:00pm, MP4 post-reflection
- Friday, 2024-03-01, 11:00pm, SoLA 2 pre-reflection
- Sunday, 2024-03-03, 11:00pm, Reading responses
- Monday, 2024-03-03, 4:00pm, SoLA 2 released.
- …
- Sunday, 2024-03-10, 11:00pm, MP3 Redo
- Sunday, 2024-03-10, 11:00pm, MP1 Second redo
When do you want the MP2 second redo and the MP4 redo due? My inclination
is April 7. Sam has good inclinations.
Friday PSA
- If you manipulate your consciousness, please do so in moderation.
- Remember that you do not have to do what other people do (or what
you think they do).
- Choose what is appropriate for you.
- You are awesome, I’d like to see you remain that way.
- Consent is essential.
Questions
Administrative
Will you provide an opportunity for me to put in more tokens. I’ve
turned in everything late.
Yes. Expect a new form over the weekend.
Will our grade reports include tokens?
I hope so. Soon.
Introduction
Why do we have this module in CSC-151?
- Computers and computing technology have an outsize impact on the world.
- Those who develop computing technology should understand their resposibilities
as professionals.
- We should have a day (or at least a class period) thinking about the
impacts of technology and our responsibilites
- Reminder: CS table discusses these issues on most Tuesdays.
- Reminder: TWO concentrations that consider these kinds of issues as
part of their work: Science, Medicine, and Society (SMS) and Digital
Studies.
Other notes
- Lots of different approaches in CS classes.
- Sam likes the ACM code of ethics.
- AI has created large numbers of challenges, particularly to understanding
why things are happening and unexpected factors.
Ethics
https://www.acm.org/code-of-ethics
Let’s read them aloud. We’ll just go around the room.
-
- GENERAL ETHICAL PRINCIPLES.
- 1.1 Contribute to society and to human well-being, acknowledging that all people are stakeholders in computing.
- 1.2 Avoid harm.
- 1.3 Be honest and trustworthy.
- 1.4 Be fair and take action not to discriminate.
- 1.5 Respect the work required to produce new ideas, inventions, creative works, and computing artifacts.
- 1.6 Respect privacy.
- 1.7 Honor confidentiality.
-
- PROFESSIONAL RESPONSIBILITIES.
- 2.1 Strive to achieve high quality in both the processes and products of professional work.
- 2.2 Maintain high standards of professional competence, conduct, and ethical practice.
- 2.3 Know and respect existing rules pertaining to professional work.
- 2.4 Accept and provide appropriate professional review.
- 2.5 Give comprehensive and thorough evaluations of computer systems and their impacts, including analysis of possible risks.
- 2.6 Perform work only in areas of competence.
- 2.7 Foster public awareness and understanding of computing, related technologies, and their consequences.
- 2.8 Access computing and communication resources only when authorized or when compelled by the public good.
- 2.9 Design and implement systems that are robustly and usably secure.
-
- PROFESSIONAL LEADERSHIP PRINCIPLES.
- 3.1 Ensure that the public good is the central concern during all professional computing work.
- 3.2 Articulate, encourage acceptance of, and evaluate fulfillment of social responsibilities by members of the organization or group.
- 3.3 Manage personnel and resources to enhance the quality of working life.
- 3.4 Articulate, apply, and support policies and processes that reflect the principles of the Code.
- 3.5 Create opportunities for members of the organization or group to grow as professionals.
- 3.6 Use care when modifying or retiring systems.
- 3.7 Recognize and take special care of systems that become integrated into the infrastructure of society.
-
- COMPLIANCE WITH THE CODE.
- 4.1 Uphold, promote, and respect the principles of the Code.
- 4.2 Treat violations of the Code as inconsistent with membership in the A
CM.
Initial reflections
A think-pair-share activity.
Which principles did you find surprising (or most surprising)? Why?
- Avoid harm was interesting, not in the basics, but “avoid unjustified
harm”. Is there justified harm?
- While there are some things about respecting the work of others, I was
surprised to see how broadly this reflected “Protect society as a whole”.
- It’s interesting that professionals are not only expected to focus on
their own projects, but also to share their broader expertise in critiquing
technology in general.
Which are your “favorite” principles? Why?
- 4.1 Uphold, promote, and respect the principles of the [Pirates’] Code.
- 1.4 Be fair and take action not to discriminate. You need to be
proactive, rather than just assuming that you are not discriminating.
- What should we do about the fact that people often don’t uphold the
policy?
Which principles do you expect to be hardest to follow? Why?
- The rules of the workplace may contradict the rules of the code. How
should we deal with that issue? What should you do if the rules are
set up against you.
- It seems like lots of software engineers have difficulty following any
of these rules.
- 2.6 Perform work only in areas of competence. Determining competence
can be hard. And sometimes you have to work in an area you are less
competent in to become competent. Plus “Do this by Thursday.”
A case study
Modified from https://ethics.acm.org/code-of-ethics/using-the-code/case-dark-ux-patterns/. (Please don’t look there for analysis.)
The change request Stewart received was simple enough: replace the web site’s rounded rectangle buttons with arrows and adjust the color palette to one that mixes red and green text. But when Stewart looked at the prototype, he found it confusing. The left arrow suggested that the web site would go back to a previous page or cancel some action; instead, this arrow replaced the button for accepting the company’s default product. The right arrow, on the other hand, upgraded the user to the more expensive category; it also silently added a protection warranty without asking for confirmation. Stewart suggested to his manager that this confusing design would probably trick users into more expensive options that they didn’t want. The response was that these were the changes requested by the client.
Shortly after the updates were released into their production system, Stewart’s team was invited to a celebration. As a result of these changes, revenues at their client had increased significantly over the previous quarter. At the celebration, Stewart overheard some of the client’s managers discussing the small increase for refunds by users who claimed that they didn’t want the protection plan, but there weren’t many. One manager noted several complaints from visually impaired users, who noted that the mixture of red and green text obscured important disclaimers about the product.
Modified from https://ethics.acm.org/code-of-ethics/using-the-code/case-dark-ux-patterns/. (Please don’t look there for analysis.)
TPS: What principles are at play? What should Stewart do (or have done)?
Principles at play
- “Avoid (unjustified) harm to others.” Is “increase our profits” a valid
justification? It doesn’t seem to be.
- “Take care not to discrimate.” This certainly discrimates against people
who are red-green color-blind. [+1, with detail]
- “1.3 Be honest and trustworthy.” The software isn’t. Is Stewart?
- and others
What should Stewart do (or have done)?
- Try to convince the client that the negative impacts of their approach
will outweigh the short-term financial benefits.
- Unfortunately, in normal situations, the programmer doesn’t communicate
directly with the client; the manager might. The manager’s manager
might.
- Phrase the harms in terms of issues the client understands.
- Try to find an approach that helps achieve the client goals in a more
ethical way (without having a GUI that misleads the client).
- Don’t drop the project; someone else less ethical will pick it up.
- Show the code of ethics to the client and talk to them about the issues.
- Do you risk getting fired? Do you quit?
- Send your resume out and wait.
Detour: What does a right arrow on a form mean?
- Usually “Continue”
- At Grinnell, “Submit”
- Is that ethical? It encourages people to submit without realizing that
they won’t have the opportunity to enter more information.
Detour: UI Design, revisited (the ethics of algorithms)
- We can sort lists.
- We’ll even learn how to do so ourselves, rather than relying on
sort
- As a search designer, I might want to give users a list of autocomplete
options, based on the frequency of the similar queries we’ve seend.
- Are there issues the programmers should have worried about in designing
such a system?
- Yes. The Interweb is filled with atrocious people who do atrocious
searches and we therefore get atrocious autofills.
Another case study
Modified from https://ethics.acm.org/code-of-ethics/using-the-code/case-malware-disruption/. Please don’t read the analysis.
Rogue Services advertised its web hosting services as “cheap, guaranteed uptime, no matter what.” While some of Rogue’s clients were independent web-based retailers, the majority were focused on malware and spam. Several botnets used Rogue’s reliability guarantees to protect their command-and-control servers from take-down attempts. Spam and other fraudulent services leveraged Rogue for continuous delivery. Corrupted advertisements often linked to code hosted on Rogue to exploit browser vulnerabilities to infect machines with ransomware.
Despite repeated requests from major ISPs and international organizations, Rogue refused to intervene with these services, citing their “no matter what” pledge to their customers. Furthermore, international pressure from other governments failed to induce national-level intervention, as Rogue was based in a country whose laws did not adequately proscribe such hosting activities.
Ultimately, Rogue was forcibly taken offline through a coordinated effort from multiple security vendors working with several government organizations. This effort consisted of a targeted worm that spread through Rogue’s network. This denial-of-service attack successfully took Rogue’s machines offline, destroying much of the data stored with the ISP in the process. All of Rogue’s clients were affected. No other ISPs reported any impact from the worm, as it included mechanisms to limit its spread. As a result of this action, spam and botnet traffic immediately dropped significantly. In addition, new infections of several forms of ransomware ceased.
TPS: Was the response appropriate? Ethical? What principles would permit the security vendors and government organizations to write such software. Which might suggest that they behaved unethically?
Final thoughts
We probably won’t have time for any final thoughts.