Glyph on Ethics in Software - Episode 17

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

Keep In Touch

Start the discussion at https://discourse.pythonpodcast.com