Upload
nodejsfoundation
View
58
Download
1
Embed Size (px)
Citation preview
Morality of CodeGlen R. Goodwin - SAS Institute, inc.
Morality of Code
Glen R. Goodwin
Distinguished Software Engineer and Chief Architect for Cyber Security R&D
SAS Institute, Inc.
Morality of Code
{ … }
{1001101011100000101101010010110011101001100010101011001010110111000111100000000000001111101011100102001010101011010101111010010001011000011010010011101011010101111000}
function commandRobot(command) {let parsed = parseCommand(command);return executeCommand(parsed);
}commandRobot(“make sandwich”);
function commandRobot(command) {let parsed = parseCommand(command);return executeCommand(parsed);
}commandRobot(“make sandwich”);commandRobot(“kill all humans”);
Morality of code is about understanding the moral consequences of what happens when someone executes or reads our code.
"I suspect that many of you see no real connection between social, political, and ethical values and what you work on. You don’t build bombs, experiment on people, or destroy the environment. You don’t spy on populations. You hack math and write papers. This doesn’t sound ethically laden. I want to show you that it is." - Dr. Phillip Rogaway
http://web.cs.ucdavis.edu/~rogaway/papers/moral-fn.pdf
"I suspect that many of you see no real connection between social, political, and ethical values and what you work on. You don’t build bombs, experiment on people, or destroy the environment. You don’t spy on populations. You hack math and write papers. This doesn’t sound ethically laden. I want to show you that it is." - Dr. Phillip Rogaway
http://web.cs.ucdavis.edu/~rogaway/papers/moral-fn.pdf
Cause painSpread hateInduce fearOppress others
Because considering the moral consequences of things is hard.
It takes workand it takes courage.
"i'm just writing code here. I'm not responsible for what people do with it."
"Nobody would ever use my code like that"
"If I didn't write it someone else would."
"my stuff isn't harming anyone"
StealHarassBullyOppress
This is all good and well until you find out something you wrote is killing people.
“I think it’s safe to say that every tool we create has the potential to be used as a vehicle for harassment.”
http://negativitysandwiches.com/post/147953585530/i-wrote-a-blog-about-building-things-that-are-then
We are allowing, permitting, encouraging even, our code to be used in ways that we as individuals and as a community may find reprehensible.
How do we ensure our code is used in a morally responsible way?
A moral and ethical manner that is consistent with ours.
Question 1.
What are my moral intents as the author of this code?
Question 2.
What are my users going to do with this code?
Question 3.
What are my obligations to those who suffer the effects of my code?
Question 4.
What are my responsibilities for what people do with this code?
1. What are my moral intents as the author of this code?
2. What are my users going to do with this code?
3. What are my obligations to those whom suffer the effects of my code?
4. What are my responsibilities for what people do with this code?
Not writing it in the first place.
Sam Harris: “Can we build A.I. without losing control over it.”
https://www.samharris.org/blog/item/ted-talk-can-we-build-ai-without-losing-control-over-it
Consider not releasing everything.
Build in safe guards.
Explain your intent.
"if you create something that is used other than your initial intentions, you are responsible to make it clear what your artist statement is or what the lesson you are trying to teach is. and that’s not even the absolute minimum of your responsibility, in my opinion." - Jenn Schiffer
http://negativitysandwiches.com/post/147953585530/i-wrote-a-blog-about-building-things-that-are-then
The intent of this code ‘npmbox’ is to provide a tool for the bundling of npm packages and their dependencies into a single tar file for transport and installation later, possibly in an offline or un-networked system.
Any usage outside of this behavior is strictly against the author’s intent and a violation of the terms of usage.
Limiting Usage through Licensing.
Copyright (c) 2016 YOUR NAME GOES HERE.
Permission is hereby granted, free of charge, to any personobtaining a copy of this software and associated documentationfiles (the "Software"), to deal in the Software withoutrestriction, including without limitation the rights to use,copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom theSoftware is furnished to do so, subject to the followingconditions:
The above copyright notice and this permission notice shall beincluded in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIESOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE ANDNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHTHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISINGFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OROTHER DEALINGS IN THE SOFTWARE.
... copies of the Software, and to permit persons to whom theSoftware is furnished to do so, subject to the followingconditions:
<INSERT ADDITIONAL CONDITIONS HERE>The above copyright notice and this permission notice shall beincluded in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIESOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE ANDNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHTHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISINGFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OROTHER DEALINGS IN THE SOFTWARE.
... copies of the Software, and to permit persons to whom theSoftware is furnished to do so, subject to the followingconditions:
Use of this software for criminal purposes or to harass any individual for any reason is strictly prohibited.The above copyright notice and this permission notice shall beincluded in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIESOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE ANDNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHTHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISINGFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OROTHER DEALINGS IN THE SOFTWARE.
... copies of the Software, and to permit persons to whom theSoftware is furnished to do so, subject to the followingconditions:
Use of this software is strictly prohibited by any military or government intelligence agency or any contractor acting on the behalf of a military or government intelligence agency.The above copyright notice and this permission notice shall beincluded in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIESOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE ANDNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHTHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISINGFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OROTHER DEALINGS IN THE SOFTWARE.
> tail conf.notes.txt
A moral responsibility to examine our code to ensure it is used in a manner morally consistent with our intended usage.
Glen R. GoodwinSAS Institute, inc.
https://arei.nethttps://twitter.com/areinethttps://github.com/arei
Glen R. GoodwinSAS Institute, Inc.
https://arei.nethttps://twitter.com/areinethttps://github.com/arei
Thank You!
Field Guide to United States Intellectual Propertyhttps://fieldguide.kemitchell.com/
MIT License Line by Linehttps://writing.kemitchell.com/2016/09/21/MIT-License-Line-by-Line.html