aboutsummaryrefslogtreecommitdiffstats
path: root/posts/2019/three_spirits_floss.md
blob: ecd12ffede276891b7f5e39b2056a888c8da704b (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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
Title: Three Spirits of Libre Software
Author: bnewbold
Date: 2019-05-19
Tags: free-software
Status: draft

Individuals associate with social movements for many reasons: [frustration with
the status quo][tyranny-book], aspirational self-identity, peer-pressure,
cultural overlap, attraction to a romantic vision, et cetera. In trying to
clarify and organize my own support for the FLOSS movement (Free, Libre, and
Open-Source Software), I've come up with three underlying narratives or
"spirits" that motivate me.

<div class="sidebar">
I'm going to toss "free", "libre", and "open" around with abandon in this post,
instead of using the FLOSS acronym consistently. I'm only using them
intentionally when Capitalized.
<br>
"Hacker" and "Maker" cultures also have overlap FLOSS.
</div>

One motivation for writing these up is that discussion and critique of the
FLOSS movement is counter-productive if there isn't a shared understanding of
the goals and vision members are pursuing. I feel like I spend a lot of time
re-telling my own version of "what we're really trying to achieve here" and
disclaiming strawman arguments. Sometimes these discussions are with critics,
but just as often they are with disillusioned contributors who feel like they
are loosing the fight. Having these in a written form is something coherent to
point to, and also gives me a framework to gauge progress (or lack there of) in
the future.

I'll acknowledge right up front that a strong fourth category of interest is
social and cultural: I really love hanging out with hackers and Free Software
people, hearing about their projects and weird ideas, visiting their spaces and
events, earning respect and recognition, and so forth. But, at risk of
underselling that special something of this particular community, these
motivations exist in any group or movement, and here I'm addressing the values
and narratives unique to FLOSS.

[tyranny-book]: https://openlibrary.org/works/OL927028W/The_True_Believer_Thoughts_on_the_Nature_of_Mass_Movements


## Enlightenment Ideals

This is the most direct argument for libre software: that the individual
freedoms to read, inspect, and understand the technology we use are first-order
values and worth pursuing in their own right. That all human beings should be
respected as peers and contributors to our intellectual infrastructure, not
relegated to a class of passive users and consumers. This spirit is Romantic:
it's not a utilitarian argument or narrative story, but appeals directly to
principles and ideals (though utilitarian arguments can and are often made to
support these principles). When I think "this is just how it *ought* to be", I
know I'm feeling this spirit.

<center>
<a href="https://en.wikipedia.org/wiki/A_Philosopher_Lecturing_on_the_Orrery">
  <img src="/static/fig/2019/painting_philosopher_orrery.jpg" alt="A Philosopher Lecturing on the Orrery" title="A Philosopher Lecturing on the Orrery" width="750px">
</a>
<br>
<caption><i>"A Philosopher Lecturing on the Orrery" by Joseph Wright of Derby</i></caption>
</center>

The most notable and coherent defenders of this spirit historically has been
Richard Stallman and the Free Software Foundation. Stallman makes an explicitly
moral argument for "Four Freedoms":

0. The freedom to run the program as you wish, for any purpose
1. The freedom to study how the program works, and change it so it does your
   computing as you wish
2. The freedom to redistribute copies so you can help your neighbor
3. The freedom to distribute copies of your modified versions to others

Historically, advocates of "Open Source Software" did not think that making a
moral or ethical argument was an effective strategy in our society, and a
schism formed despite both groups sharing many concrete goals. Those advocates
framed Open Source as an economic strategy and a superior software engineering
process: emphasizing "this will work better for you" instead of "it's just the
right thing to do".  While some of the Open Source arguments are compelling,
I'm skeptical of the broader claims (eg, I think a lot of open source software
is of relatively poor quality) and am motivated more by the value-based
arguments.

A movement based on ideals align well with other "egalitarian" institutions and
cultures. How can we have high-quality public education and learning without
the ability to read source code and share derived experiments? Doesn't
scientific knowledge production require transparency and freedom to tinker with
our tools?

Challenges and counter-balances to this spirit are often political economic
arguments. Who underwrites these ideals? Don't we need to incentivize creators
and capital-holders? Some market maximalists argue that treating non-rivalrous
goods (like software and ideas) the same way we treat physical property will
increase utility for both producers and consumers, and that we would be
dangerously naive to treat them otherwise. Personally, I don't find these
arguments rationally compelling: markets are *often* effective for
coordination, and some form of regulation or redistribution *is* likely needed
for "creators" to live less precarious lives, but I believe artificial
enclosure ("intellectual property") has been a failure by it's own standards in
the software sector.

There are also some weak points to this narrative as a pragmatic activist
philosophy.  It is hard to advocate for free software ideals when many of the
most directly empowering and productive software tools are proprietary.  Should
we ask students and scientists to use an inferior tools on principle?  This
spirit is often invoked in universal terms ("all software should be free and
open on principle"), but the principles apply more strongly to some software or
"fields of endeavor" than others. For example, most individuals in society are
probably willing to accept proprietary book-keeping, industrial controls, or
airline-ticketing software, because these are considered private-sector or
professional tooling, not part of the public sphere. Environmentalists face a
similar challenge rallying public support to protect pest and insects, even
though they are just as ecologically important as apex predators and
"charismatic megafauna".


## Hedging Authority

<!--
Another set of narratives around libre software focuses less on positive ideals
and more on resistance to consolidation of power and market exploitation. In
this world view, technology is a huge enabler of authoritarianism 
-->

Another narrative is that even a small specialist community of radical hackers
can indirectly increase freedom for everybody. These hackers can tinker and
work their magic at all layers of the digital "stack", and their tools and
knowledge are open in principle, though they may be impractical for most to
take advantage of.  Like armed militias, these anti-authoritarian groups are
distributed throughout society ("a hacker on every block", like doctors or
lawyers might be) and keep critical technical power and abilities from becoming
over-centralized and exploited. They serve as watchers ("trust but verify"),
activists, and liberators.

<center>
<a href="https://www.bunniestudios.com/blog/?p=2062">
  <img src="/static/fig/2019/netv_insides_sm.jpg" alt="netv" title="netv" height="150px">
</a>
<a href="https://www.theverge.com/2017/12/23/16812834/edward-snowden-haven-guardian-project-laptop-phone">
  <img src="/static/fig/2019/snowden_verge.jpg" alt="snowden" title="snowden" height="150px">
</a>
</center>

The tools and alternatives built by this community give everybody leverage
against centralized power and monopoly: the existence of even an inferior and
unpopular alternative makes it harder for a monopoly to exploit its position.

People with this mindset tend to concentrate on strategic "bottleneck"
technologies that could be abused for social and economic control: compilers,
bootloaders, 3D-printers, kernels, browsers, media players and interfaces (DVD,
blueray, HDMI). They also love powerful debugging and development tools that
can be used to inspect or reverse engineer systems (hardware or software): JTAG
debuggers, disassemblers, electron microscopes, software defined radio
transceivers, and logic analyzers.

The GNU project has a bit of this spirit. The original goal was to ensure that
the early community of hackers would always have the tools they needed to write
software, and wouldn't be beholden or fractured by external proprietary
software companies. This played out with a particular focus on developer
toolchains and "completeness" (having a free/libre implementation for every
component in the system). A project prioritizing direct public impact might
have prioritized user interfaces accessible to beginners, and might have been
willing to compromise on some of the back-end details, but GNU's focus has been
a success on their own terms in that today it is possible today to run a
free/libre operating system at all. Another success (to me) is the Tor project:
not a tool most people use every day, but it's there when we need it, and it's
very existence means that 100% surveillance (distinct from 95% surveillance) is
not viable.

A lot of folks see libre software projects as failures when they struggle to get
even a fraction of the users as well-funded proprietary alternatives.
Developers and maintainers are often criticized for not prioritizing broad
popular adoption. Part of this spirit to me is that having even
one-person-in-a-thousand using libre software can be taken as a big win: this
is more about what is *possible* than what is popular or common. A weakness of
this spirit is that it can be an excuse to neglect design, and in particular
accessibility.


## Post-Scarcity Economics

The last narrative centers around leveraging modern technology to "solve
problems" with radically less effort, and thus less need for traditional
organization or incentives. This is the optimism that individuals in their own
free time (or loosely organized groups with little or no funding or structure),
following their own whims and interests, can contribute to a software commons,
and that solutions from this commons can work so well that most people never
even realize there was a challenge or friction in the first place. The ur-myth
of this spirit is the hobbyist who gets frustrated about the cost or poor
quality of some government or corporate piece of software and writes a
replacement on a weekend afternoon, that works well enough gain near-universal
adoption for decades.

<center>
<a href="https://medium.com/@RickWebb/the-economics-of-star-trek-29bab88d50">
  <img src="/static/fig/2019/star_trek_city.jpg" alt="star trek" title="star trek" height="150px">
</a>
  <img src="/static/fig/2019/burning_man.jpg" alt="burning man" title="burning man" height="150px">
</center>

Two individuals who exemplify this spirit to me are Fabrice Bellard (creator of
QEMU, `ffmpeg`, and many other popular low-level software libraries) and Joey
Hess (creator of `git-annex`, `ikiwiki`, `debhelper`, and others). In reality
these individuals have structured their lifestyles around libre software work,
so it feels weird to call their efforts "low resource", but in the big picture
it's amazing how much they have produced and accomplished as individuals with
minimal support from traditional institutions.

To me this narrative is at once the most problematic and the most relatable.
All software exists in a massive superstructure of ongoing maintenance,
support, and external costs; and yet this narrative doesn't deny that
superstructure, it's emphasizing how empowering it can be. The stress and
expectations on unfunded developers whose side projects explode in popularity
are well documented. This method of production has no accountability (creators
have no formal obligation or commitment to the users of their software), huge
bias (who has the means and resources to contribute? whose problems do they try
to solve?), "race to the bottom" dynamics, etc. At the same time, "the market"
suffers many of the same challenges, and consumes a whole lot more societal
resources.

This narrative might be driven as much by the median dysfunction and
inefficiency of industrial software production as much as the productivity of
individual developers. The inefficiencies of individual production are
distributed and less visible.

The definition of success sort of boils down to just popularity, and there are
undeniably examples of popular free software projects with low initial effort.
For example, gzip, git, Redis, WordPress, Python, and VLC are all projects that
got to first releases with (relatively) few contributors, and have become
widely popular (for their specific use-cases).

Personally, this spirit is often a motivation to *start* projects, but
dissipates when the reality of effort actually required becomes apparent. Stated
most hyperbolically, "software is eating the world" and free software might be
the spearhead of a new post-scarcity political economic order: a form of
anarchic voluntary contribution to the common-wealth, with corporations,
capital, and government relegated to bit roles. More realistically, this form
of development depends on a larger more organized foundation, and can only form
a small part of the larger economy and ecosystem.

My intellectual hope for a better future lies in organization, norms,
regulation, and worker-directed collectives, not individual super-productivity.
At the same time, it's impossible not to have my heart swell of human pride and
optimism when I see a small group (or single individual) apparently "Solve" a
problem in their free time, in a way everybody could benefit from forever.


## Other Narratives

The three "spirits" above are what I think are core motivations to me, but
there are other narratives I think about and could be more motivating to
others.

As mentioned at the beginning, the **general culture of a community** can be a
strong attractor if it is welcoming, creative, healthy, diverse, challenging,
supportive, exciting, etc.

Many believe that some combination of common FLOSS development practices and
open access to source code leads to **better software quality** on it's own.
This particularly applies to cryptography and privacy/security sensitive
software (and some would say all software raises privacy and security
concerns).

There is **labor empowerment** argument that open source is better for the
careers of developers, because they can show a portfolio of previous work to
potential employers, and are more incentivized to create tools and high-quality
software because they know they can bring it along to any future jobs.

For many who **dislike traditional start-up and corporate culture** or
seek alternatives to capitalism, any alternative means of production is
appealing in it's own right.

------------

Thanks to [Asheesh](https://asheesh.org) and [Remy](https://twitter.com/remy_d)
for a long walk and conversation that clarified my thinking, as well as
Gabrielle Colman's [*Coding Freedom*][coding-freedom], Nadia Egbal's ["Roads
and Bridges" report][roads-bridges], and Mako Hill's [writings on free
software][https://mako.cc/] for stimulating these ideas in the first place.

This essay was first drafted in early 2018. Other recent writing on this
subject includes Steve Klabnik's ["The Culture War at the Heart of Open
Source"][klabnik-culture-war] and ["Freedom isn't Free"][logic-freedom-free] in
Logic Magazine.

[coding-freedom]: https://gabriellacoleman.org/Coleman-Coding-Freedom.pdf
[roads-bridges]: https://www.fordfoundation.org/about/library/reports-and-studies/roads-and-bridges-the-unseen-labor-behind-our-digital-infrastructure/
[klabnik-culture-war]: https://words.steveklabnik.com/the-culture-war-at-the-heart-of-open-source
[logic-freedom-free]: https://logicmag.io/05-freedom-isnt-free/