Glyph on Ethics in Software - Episode 17

Summary

In this episode we had a nice long conversation with Glyph Lefkowitz of Twisted fame about his views on the need for an established code of ethics in the software industry. Some of the main points that were covered include the need for maintaining a proper scope in the ongoing discussion, the responsibilities of individuals and corporations, and how any such code might compare with those employed by other professions. This is something that every engineer should be thinking about and the material that we cover will give you a good starting point when talking to your compatriots.

Brief Introduction

Welcome to Podcast.__init__ the podcast about Python and the people who make it great

We donate our time to you because we love Python and its community. If you would like to return the favor you can send us a donation. Everything that we don’t spend on producing the show will be donated to the PSF to keep the community alive.

Overview – Interview with Firstname Lastname about Topic

Interview with Glyph

Introductions

How did you get introduced to Python? – Chris

2000 – large scale collaborative gaming system in Java

Asynchronous IO

Twisted

Let’s start with the bad news What are some of the potential wide spread implications of less than ethical software that you were referring to in your Pycon talk? – Chris

Robot Apocalypse (Not really)

Much of the discussion around this derails into unrealistic nightmare scenarios

THERAC 25 radiation machine

Toyota unintended acceleration scandal

Real worry – gradual erosion of trust in programmers and computers

First requirement for a code of ethics – a clear understanding of the reality you’re trying to litigate

The search for ethics will likely begin in academia where this aspect of software dev is more like psychology.

In your talk you commented on the training courses that Lawyers are required to take as part of their certification. Do you think the fact that there is no standardized certification body for software development contributes to a lack of widely held ethical principles in software engineering? – Tobias

Do you think that it is necessary to form such a certification mechanism for developers as part of the effort to establish a recognized ethical code? – Tobias

If we were to create a certification to indicate proper training in the software engineers code of ethics, how do you think that would affect the rate at which people enter the industry? – Tobias

Assuming we can all agree on a set of relatively strict professional ethics that would prevent the above from happening, how would we enforce those ethics? Or do you advocate an honor system? – Chris

Ethics are by definition an honors system

Enforcement would be straight forward – professional organizations to maintain a record and deviations from that record

Need better laws & better jurisprudence

We need an Underwriters Laboratory seal for software development ethics

Code of software ethics will not and should not tell you how to be a decent human being.

Devs / companies can create software that could be used for evil – “We are merchants of death and these are lethal weapons” – could conceivably earn the ethical software developer’s seal of approval.

Where does accessibility of the software we make fit into a code of ethics? Do you think there should be a minimum level of support for technologies such as screen readers or captioning for audio content in the software that we build? – Tobias

Minimum levels of knowledge required

Minimum levels of content in curriculum

In your talk you mentioned how Rackspace’s stance on user support matches the ideals you’d previously laid out, can you flesh that out a bit for us? What does that mean to individual Rackers in their day to day work lives? – Chris

In your talk you mentioned that availability of the software source should be mandatory for compliance with a properly defined ethical framework. What mechanisms for providing that access do you think would be acceptable? Should there be a central repository for housing and providing access to that source? – Tobias

Would the list of acceptable mechanisms change according to the intended audience of the software? – Tobias

What responsibility do you think producers of software should have to maintain an archive of the source for past versions? – Tobias

How should we define what level of access is provided? In the case of commercial software should the source only be available to paying customers, perhaps delivered along with the product? This also poses an interesting quandary for SaaS providers. Should they provide the source to their systems only to paying customers, or to potential customers as well? – Tobias

This question of transparency and availability of source is especially interesting in the light of a number of stories that have come out recently about patients who have been provided with prostheses and other medical devices. In a number of cases, shortly after receiving the device, the company who made it, which are increasingly startups, goes out of business, leaving the patient with no way of obtaining support for something that they are dependent on for their health and well-being. Having the source for those devices available would help mitigate the impact of such a situation. – Tobias

You brought up an interesting aspect of the trust equation and its relevance to the need for an ethical code. Because what we do as software engineers is effectively viewed as sorcery by a vast majority of the public, they must therefore wholly place their trust in us as part of using the products that we create. As you mentioned with the demise of the scribe with the rise of literacy, increasing the overall awareness of how software works at a basic level partially reduces that depency of trust. At what level of aptitude do you think our relationship with our users becomes more equitable? How does the concept of source availability play into this topic of general education? – Tobias

What can the Python community in particular do to start the ball rolling towards defining a set of professional ethics, and what has it already done in this area? – Chris

PSF Code of Conduct is a starting point

PSF is an organization of individuals

Corporations are cagey about getting involved for fear of it becoming a legally binding contract