Visit our site for past episodes and extra content.
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
Date of recording – July 21, 2015
Hosts Tobias Macey and Chris Patti
Follow us on iTunes, Stitcher, TuneIn, Google+ and Twitter
Give us feedback! (iTunes, Twitter, email, Disqus comments)
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
Django Code of Conduct more specific
Picks
Tobias
Phillips SHP9500
keybase.io – Tweet us with your favorite thing about the show to get an invite
Paul Blart: Mall Cop 2
Chris
Don’t Starve for IOS
Want to understand Pythonâ€s comprehensions? Think in Excel or SQL.
Barr Hill Gin
Glyph
Py2App
Blog post
PyObjC
Sensair Sou Vide immersion circulator
Keep In Touch
Twitter
Keybase.io
email
Glyph everywhere on the internet