summaryrefslogtreecommitdiff
path: root/wiki/ethics/musings.md
blob: b9a899b9d6f836c46dceb583ad2142af772322aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# Undirected Musings about Ethics

## Further reading

* [The Fantasy and Abuse of the Manipulable User](http://modelviewculture.com/pieces/the-fantasy-and-abuse-of-the-manipulable-user)
* [Ethics for Programmers: Primum non Nocere](https://glyph.twistedmatrix.com/2005/11/ethics-for-programmers-primum-non.html)
* [The Internet with a Human Face](http://idlewords.com/bt14.htm)
* [Ethics vs Morals](http://www.diffen.com/difference/Ethics_vs_Morals)
* [Yes means Yes](http://yesmeansyesblog.wordpress.com)

## Why bother?

Everyone _thinks_ they're doing good most of the time. Ethical codes help
guide that sense into alignment with the surrounding social and political
context: doing good for whom, why, and with what kinds of caveats.

## It's not about engineering, it's about people

An ethical code for software development should not waste too much space
talking about _engineering practices_. Certainly there is value in getting
more developers and systems people to follow good engineering practice, but
an ethical code should focus on the interaction between trustworthiness, the
greater good, the personal good of _all_ the participants in the system, and
software itself.

(This comes up in Ethics for Programmers, above.)

It's no good to build a wonderfully-engineered system that is cheap to run
and easy to integrate with if it systematically disenfranchises and abuses
its users for the benefit of its owners, and that's a problem we actually
have via Facebook, Github, Twitter, and numerous others.

## Ethical codes are fundamentally extrinsic

Ethical codes exist so that others can judge our behaviour, not so that we
can judge our own behaviour.

## Ethical codes must be constraining

Ethical codes do not exist in a vacuum. A code that authorizes its adherents
to behave in any way they see fit, subject only to their own judgement, is no
ethical code at all. We already have that and the results have not been great.

_This is important_ - a meaningful ethical code for software would probably
cripple most software business models. An ethical code that prioritizes
active consent, for example, completely cripples advertising and analytics,
and puts a big roadblock in buyouts like Instagram's. This may well be good
for society.

## Integrity is not about contracts or legislation

Ethics, personal integrity, and group integrity are tangled together, but
modern Western conceptions of group integrity tend to revolve around “does
this group break the law or engender lawsuits,” not “does this group act in
the best interests of people outside of it.”

## Assumptions

I've embedded some of my personal morality into the “ethics” articles in this
section, in the absence of a published moral code. Those, obviously, aren't
absolute, but you can reason about their validity if you assume that I
believe the “end user's” privacy and active consent take priority over the
technical cleverness or business value of a software system.

### Consent and social software

This has some complicated downstream effects: “active consent” means
something you can't handwave away by putting implied consent (for example, to
future changes) in an EULA or privacy statement. I haven't written much that
calls out this pattern because it's _pervasive_.

The “end user is the real product” business model most social networks
operate on is fundamentally unethical under this code. It will always be more
valuable to the “real customers” (advertisers, analytics platforms, law
enforcement, and intelligence agencies) for users to be opted into new
measurements by default, _assuming_ consent rather than obtaining it.