webring 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1601 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
- <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
3
- <channel>
4
- <title>Drew DeVault's blog</title>
5
- <link>https://drewdevault.com</link>
6
- <description>Recent content in Blogs on Drew DeVault's blog</description>
7
- <generator>Hugo -- gohugo.io</generator>
8
- <language>en</language>
9
- <lastBuildDate>Fri, 24 May 2024 00:00:00 +0000</lastBuildDate>
10
-
11
- <atom:link href="https://drewdevault.com/blog/index.xml" rel="self" type="application/rss+xml"/>
12
-
13
- <item>
14
- <title>Writing a Unix clone in about a month</title>
15
- <link>https://drewdevault.com/2024/05/24/2024-05-24-Bunnix.html</link>
16
- <pubDate>Fri, 24 May 2024 00:00:00 +0000</pubDate>
17
-
18
- <guid>https://drewdevault.com/2024/05/24/2024-05-24-Bunnix.html</guid>
19
- <description>&lt;p&gt;I needed a bit of a break from &amp;ldquo;real work&amp;rdquo; recently, so I started a new
20
- programming project that was low-stakes and purely recreational. On April 21st,
21
- I set out to see how much of a Unix-like operating system for x86_64 targets
22
- that I could put together in about a month. The result is
23
- &lt;a href="https://git.sr.ht/~sircmpwn/bunnix"&gt;Bunnix&lt;/a&gt;. Not including days I didn&amp;rsquo;t work
24
- on Bunnix for one reason or another, I spent 27 days on this project.&lt;/p&gt;
25
- &lt;p&gt;Here&amp;rsquo;s a little demo of the results&amp;hellip;&lt;/p&gt;
26
- &lt;iframe title="A short demo of the Bunnix operating system" width="720" height="400" src="https://spacepub.space/videos/embed/415822ac-5755-42a4-9081-b48639eed6be" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups"&gt;&lt;/iframe&gt;
27
- &lt;p&gt;You can try it for yourself if you like:&lt;/p&gt;
28
- &lt;ul&gt;
29
- &lt;li&gt;&lt;a href="https://cyanide.ayaya.dev/bunnix.iso"&gt;Bunnix 0.0.0 iso&lt;/a&gt;&lt;/li&gt;
30
- &lt;/ul&gt;
31
- &lt;p&gt;To boot this ISO with qemu:&lt;/p&gt;
32
- &lt;pre tabindex="0"&gt;&lt;code&gt;qemu-system-x86_64 -cdrom bunnix.iso -display sdl -serial stdio
33
- &lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You can also write the iso to a USB stick and boot it on real hardware. It will
34
- probably work on most AMD64 machines &amp;ndash; I have tested it on a ThinkPad X220 and
35
- a Starlabs Starbook Mk IV. Legacy boot and EFI are both supported. There are
36
- some limitations to keep in mind, in particular that there is no USB support, so
37
- a PS/2 keyboard (or PS/2 emulation via the BIOS) is required. Most laptops rig
38
- up the keyboard via PS/2, and &lt;abbr title="your milage may vary"&gt;YMMV&lt;/abbr&gt;
39
- with USB keyboards via PS/2 emulation.&lt;/p&gt;
40
- &lt;p&gt;&lt;em&gt;Tip: the DOOM keybindings are weird. WASD to move, right shift to shoot, and
41
- space to open doors. Exiting the game doesn&amp;rsquo;t work so just reboot when you&amp;rsquo;re
42
- done playing. I confess I didn&amp;rsquo;t spend much time on that port.&lt;/em&gt;&lt;/p&gt;
43
- &lt;h2 id="whats-there"&gt;What&amp;rsquo;s there?&lt;/h2&gt;
44
- &lt;p&gt;The Bunnix kernel is (mostly) written in &lt;a href="https://harelang.org"&gt;Hare&lt;/a&gt;, plus some
45
- C components, namely lwext4 for ext4 filesystem support and libvterm for the
46
- kernel video terminal.&lt;/p&gt;
47
- &lt;p&gt;The kernel supports the following drivers:&lt;/p&gt;
48
- &lt;ul&gt;
49
- &lt;li&gt;PCI (legacy)&lt;/li&gt;
50
- &lt;li&gt;AHCI block devices&lt;/li&gt;
51
- &lt;li&gt;GPT and MBR partition tables&lt;/li&gt;
52
- &lt;li&gt;PS/2 keyboards&lt;/li&gt;
53
- &lt;li&gt;Platform serial ports&lt;/li&gt;
54
- &lt;li&gt;CMOS clocks&lt;/li&gt;
55
- &lt;li&gt;Framebuffers (configured by the bootloaders)&lt;/li&gt;
56
- &lt;li&gt;ext4 and memfs filesystems&lt;/li&gt;
57
- &lt;/ul&gt;
58
- &lt;p&gt;There are numerous supported kernel features as well:&lt;/p&gt;
59
- &lt;ul&gt;
60
- &lt;li&gt;A virtual filesystem&lt;/li&gt;
61
- &lt;li&gt;A /dev populated with block devices, null, zero, and full psuedo-devices,
62
- /dev/kbd and /dev/fb0, serial and video TTYs, and the /dev/tty controlling
63
- terminal.&lt;/li&gt;
64
- &lt;li&gt;Reasonably complete terminal emulator and somewhat passable termios support&lt;/li&gt;
65
- &lt;li&gt;Some 40 syscalls, including for example clock_gettime, poll, openat et al,
66
- fork, exec, pipe, dup, dup2, ioctl, etc&lt;/li&gt;
67
- &lt;/ul&gt;
68
- &lt;p&gt;Bunnix is a single-user system and does not currently attempt to enforce Unix
69
- file modes and ownership, though it could be made multi-user relatively easily
70
- with a few more days of work.&lt;/p&gt;
71
- &lt;p&gt;Included are two bootloaders, one for legacy boot which is multiboot-compatible
72
- and written in Hare, and another for EFI which is written in C. Both of them
73
- load the kernel as an ELF file plus an initramfs, if required. The EFI
74
- bootloader includes zlib to decompress the initramfs; multiboot-compatible
75
- bootloaders handle this decompression for us.&lt;/p&gt;
76
- &lt;p&gt;The userspace is largely assembled from third-party sources. The following
77
- third-party software is included:&lt;/p&gt;
78
- &lt;ul&gt;
79
- &lt;li&gt;Colossal Cave Adventure (advent)&lt;/li&gt;
80
- &lt;li&gt;dash (/bin/sh)&lt;/li&gt;
81
- &lt;li&gt;Doom&lt;/li&gt;
82
- &lt;li&gt;gzip&lt;/li&gt;
83
- &lt;li&gt;less (pager)&lt;/li&gt;
84
- &lt;li&gt;lok (/bin/awk)&lt;/li&gt;
85
- &lt;li&gt;lolcat&lt;/li&gt;
86
- &lt;li&gt;mandoc (man pages)&lt;/li&gt;
87
- &lt;li&gt;sbase (core utils)&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
88
- &lt;li&gt;tcc (C compiler)&lt;/li&gt;
89
- &lt;li&gt;Vim 5.7&lt;/li&gt;
90
- &lt;/ul&gt;
91
- &lt;p&gt;The libc is derived from musl libc and contains numerous modifications to suit
92
- Bunnix&amp;rsquo;s needs. The curses library is based on netbsd-curses.&lt;/p&gt;
93
- &lt;p&gt;The system works but it&amp;rsquo;s pretty buggy and some parts of it are quite slapdash:
94
- your milage will vary. Be prepared for it to crash!&lt;/p&gt;
95
- &lt;h2 id="how-bunnix-came-together"&gt;How Bunnix came together&lt;/h2&gt;
96
- &lt;p&gt;I started documenting the process on Mastodon on day 3 &amp;ndash; check out &lt;a href="https://fosstodon.org/@drewdevault/112319697309218275"&gt;the
97
- Mastodon thread&lt;/a&gt; for the
98
- full story. Here&amp;rsquo;s what it looked like on day 3:&lt;/p&gt;
99
- &lt;p&gt;&lt;img src="https://cdn.fosstodon.org/media_attachments/files/112/319/693/110/194/041/original/2c0bd7006a74aece.png" alt="Screenshot of an early Bunnix build, which boots up, sets up available memory, and exercises an early in-memory filesystem"&gt;&lt;/p&gt;
100
- &lt;p&gt;Here&amp;rsquo;s some thoughts after the fact.&lt;/p&gt;
101
- &lt;p&gt;Some of Bunnix&amp;rsquo;s code stems from an earlier project,
102
- &lt;a href="https://sr.ht/~sircmpwn/helios"&gt;Helios&lt;/a&gt;. This includes portions of the kernel
103
- which are responsible for some relatively generic CPU setup (GDT, IDT, etc), and
104
- some drivers like AHCI were adapted for the Bunnix system. I admit that it would
105
- probably not have been possible to build Bunnix so quickly without prior
106
- experience through Helios.&lt;/p&gt;
107
- &lt;p&gt;Two of the more challenging aspects were ext4 support and the virtual terminal,
108
- for which I brought in two external dependencies, lwext4 and libvterm. Both
109
- proved to be challenging integrations. I had to rewrite my filesystem layer a
110
- few times, and it&amp;rsquo;s still buggy today, but getting a proper Unix filesystem
111
- design (including openat and good handling of inodes) requires digging into
112
- lwext4 internals a bit more than I&amp;rsquo;d have liked. I also learned a lot about
113
- mixing source languages into a Hare project, since the kernel links together
114
- Hare, assembly, and C sources &amp;ndash; it works remarkably well but there are some
115
- pain points I noticed, particularly with respect to building the ABI integration
116
- riggings. It&amp;rsquo;d be nice to automate conversion of C headers into Hare forward
117
- declaration modules. Some of this work already exists in hare-c, but has a ways
118
- to go. If I were to start again, I would probably be more careful in my design
119
- of the filesystem layer.&lt;/p&gt;
120
- &lt;p&gt;Getting the terminal right was difficult as well. I wasn&amp;rsquo;t sure that I was going
121
- to add one at all, but I eventually decided that I wanted to port vim and that
122
- was that. libvterm is a great terminal state machine library, but it&amp;rsquo;s poorly
123
- documented and required a lot of fine-tuning to integrate just right. I also
124
- ended up spending a lot of time on performance to make sure that the terminal
125
- worked smoothly.&lt;/p&gt;
126
- &lt;p&gt;Another difficult part to get right was the scheduler. Helios has a simpler
127
- scheduler than Bunnix, and while I initially based the Bunnix scheduler on
128
- Helios I had to throw out and rewrite quite a lot of it. Both Helios and Bunnix
129
- are single-CPU systems, but unlike Helios, Bunnix allows context switching
130
- within the kernel &amp;ndash; in fact, even preemptive task switching enters and exits
131
- via the kernel. This necessitates multiple kernel stacks and a different
132
- approach to task switching. However, the advantages are numerous, one of which
133
- being that implementing blocking operations like disk reads and pipe(2) are much
134
- simpler with wait queues. With a robust enough scheduler, the rest of the kernel
135
- and its drivers come together pretty easily.&lt;/p&gt;
136
- &lt;p&gt;Another source of frustration was signals, of course. Helios does not attempt to
137
- be a Unix and gets away without these, but to build a Unix, I needed to
138
- implement signals, big messy hack though they may be. The signal implementation
139
- which ended up in Bunnix is pretty bare-bones: I mostly made sure that SIGCHLD
140
- worked correctly so that I could port dash.&lt;/p&gt;
141
- &lt;p&gt;Porting third-party software was relatively easy thanks to basing my libc on
142
- musl libc. I imported large swaths of musl into my own libc and adapted it to
143
- run on Bunnix, which gave me a pretty comprehensive and reliable C library
144
- pretty fast. With this in place, porting third-party software was a breeze, and
145
- most of the software that&amp;rsquo;s included was built with minimal patching.&lt;/p&gt;
146
- &lt;h2 id="what-i-learned"&gt;What I learned&lt;/h2&gt;
147
- &lt;p&gt;Bunnix was an interesting project to work on. My other project, Helios, is a
148
- microkernel design that&amp;rsquo;s Not Unix, while Bunnix is a monolithic kernel that is
149
- much, much closer to Unix.&lt;/p&gt;
150
- &lt;p&gt;One thing I was surprised to learn a lot about is filesystems. Helios, as a
151
- microkernel, spreads the filesystem implementation across many drivers running
152
- in many separate processes. This works well enough, but one thing I discovered
153
- is that it&amp;rsquo;s quite important to have caching in the filesystem layer, even if
154
- only to track living objects. When I revisit Helios, I will have a lot of work
155
- to do refactoring (or even rewriting) the filesystem code to this end.&lt;/p&gt;
156
- &lt;p&gt;The approach to drivers is also, naturally, much simpler in a monolithic kernel
157
- design, though I&amp;rsquo;m not entirely pleased with all of the stuff I heaped into ring
158
- 0. There might be room for an improved Helios scheduler design that incorporates
159
- some of the desirable control flow elements from the monolithic design into a
160
- microkernel system.&lt;/p&gt;
161
- &lt;p&gt;I also finally learned how signals work from top to bottom, and boy is it ugly.
162
- I&amp;rsquo;ve always felt that this was one of the weakest points in the design of Unix
163
- and this project did nothing to disabuse me of that notion.&lt;/p&gt;
164
- &lt;p&gt;I had also tried to avoid using a bitmap allocator in Helios, and generally
165
- memory management in Helios is a bit fussy altogether &amp;ndash; one of the biggest pain
166
- points with the system right now. However, Bunnix uses a simple bitmap allocator
167
- for all conventional pages on the system and I found that it works really,
168
- really well and does not have nearly as much overhead as I had feared it would.
169
- I will almost certainly take those lessons back to Helios.&lt;/p&gt;
170
- &lt;p&gt;Finally, I&amp;rsquo;m quite sure that putting together Bunnix in just 30 days is a feat
171
- which would not have been possible with a microkernel design. At the end of the
172
- day, monolithic kernels are just much simpler to implement. The advantages of a
173
- microkernel design are compelling, however &amp;ndash; perhaps a better answer lies in a
174
- hybrid kernel.&lt;/p&gt;
175
- &lt;h2 id="whats-next"&gt;What&amp;rsquo;s next&lt;/h2&gt;
176
- &lt;p&gt;Bunnix was (note the past tense) a project that I wrote for the purpose of
177
- recreational programming, so it&amp;rsquo;s purpose is to be fun to work on. And I&amp;rsquo;ve had
178
- my fun! At this point I don&amp;rsquo;t feel the need to invest more time and energy into
179
- it, though it would definitely benefit from some. In the future I may spend a
180
- few days on it here and there, and I would be happy to integrate improvements
181
- from the community &amp;ndash; send patches to my &lt;a href="https://lists.sr.ht/~sircmpwn/public-inbox"&gt;public inbox&lt;/a&gt;. But for the most
182
- part it is an art project which is now more-or-less complete.&lt;/p&gt;
183
- &lt;p&gt;My next steps in OS development will be a return to Helios with a lot of lessons
184
- learned and some major redesigns in the pipeline. But I still think that Bunnix
185
- is a fun and interesting OS in its own right, in no small part due to its
186
- demonstration of Hare as a great language for kernel hacking. Some of the
187
- priorities for improvements include:&lt;/p&gt;
188
- &lt;ul&gt;
189
- &lt;li&gt;A directory cache for the filesystem and better caching generally&lt;/li&gt;
190
- &lt;li&gt;Ironing out ext4 bugs&lt;/li&gt;
191
- &lt;li&gt;procfs and top&lt;/li&gt;
192
- &lt;li&gt;mmaping files&lt;/li&gt;
193
- &lt;li&gt;More signals (e.g. SIGSEGV)&lt;/li&gt;
194
- &lt;li&gt;Multi-user support&lt;/li&gt;
195
- &lt;li&gt;NVMe block devices&lt;/li&gt;
196
- &lt;li&gt;IDE block devices&lt;/li&gt;
197
- &lt;li&gt;ATAPI and ISO 9660 support&lt;/li&gt;
198
- &lt;li&gt;Intel HD audio support&lt;/li&gt;
199
- &lt;li&gt;Network stack&lt;/li&gt;
200
- &lt;li&gt;Hare toolchain in the base system&lt;/li&gt;
201
- &lt;li&gt;Self hosting&lt;/li&gt;
202
- &lt;/ul&gt;
203
- &lt;p&gt;Whether or not it&amp;rsquo;s me or one of you readers who will work on these first
204
- remains to be seen.&lt;/p&gt;
205
- &lt;p&gt;In any case, have fun playing with Bunnix!&lt;/p&gt;
206
- &lt;div class="footnotes" role="doc-endnotes"&gt;
207
- &lt;hr&gt;
208
- &lt;ol&gt;
209
- &lt;li id="fn:1"&gt;
210
- &lt;p&gt;sbase is good software written by questionable people. I do not endorse suckless.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
211
- &lt;/li&gt;
212
- &lt;/ol&gt;
213
- &lt;/div&gt;
214
- </description>
215
- </item><item>
216
- <title>Copyleft licenses are not “restrictive”</title>
217
- <link>https://drewdevault.com/2024/04/19/2024-04-19-Copyleft-is-not-restrictive.html</link>
218
- <pubDate>Fri, 19 Apr 2024 00:00:00 +0000</pubDate>
219
-
220
- <guid>https://drewdevault.com/2024/04/19/2024-04-19-Copyleft-is-not-restrictive.html</guid>
221
- <description>&lt;p&gt;One may observe an axis, or a &amp;ldquo;spectrum&amp;rdquo;, along which free and open source
222
- software licenses can be organized, where one end is &amp;ldquo;permissive&amp;rdquo; and the other
223
- end is &amp;ldquo;copyleft&amp;rdquo;. It is important to acknowledge, however, that though copyleft
224
- can be found at the opposite end of an axis with respect to permissive, it is
225
- not synonymous with the linguistic antonym of permissive &amp;ndash; that is, copyleft
226
- licenses are not &amp;ldquo;restrictive&amp;rdquo; by comparison with permissive licenses.&lt;/p&gt;
227
- &lt;p&gt;&lt;em&gt;Aside: Free software is not synonymous with copyleft and open source is not
228
- synonymous with permissive, though this is a common misconception. Permissive
229
- licenses are generally free software and copyleft licenses are generally open
230
- source; the distinction between permissive and copyleft is orthogonal to the
231
- distinction between free software and open source.&lt;/em&gt;&lt;/p&gt;
232
- &lt;p&gt;It is a common misunderstanding to construe copyleft licenses as more
233
- &amp;ldquo;restrictive&amp;rdquo; or &amp;ldquo;less free&amp;rdquo; than permissive licenses. This view is predicated
234
- on a shallow understanding of freedom, a sort of passive freedom that presents
235
- as the absence of obligations. Copyleft is predicated on a deeper understanding
236
- of freedom in which freedom is a &lt;em&gt;positive guarantee of rights&lt;/em&gt;.&lt;sup&gt;&lt;a
237
- href="https://plato.stanford.edu/entries/liberty-positive-negative/"&gt;[source]&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
238
- &lt;p&gt;Let&amp;rsquo;s consider the matter of freedom, obligation, rights, and restrictions in
239
- depth.&lt;/p&gt;
240
- &lt;p&gt;Both forms of licenses include obligations, which are not the same thing as
241
- restrictions. An example of an obligation can be found in the permissive MIT
242
- license:&lt;/p&gt;
243
- &lt;blockquote&gt;
244
- &lt;p&gt;Permission is hereby granted […] to deal in the Software without restriction
245
- […] subject to the following conditions:&lt;/p&gt;
246
- &lt;p&gt;The above copyright notice and this permission notice shall be included in all
247
- copies or substantial portions of the Software.&lt;/p&gt;
248
- &lt;/blockquote&gt;
249
- &lt;p&gt;This obliges the user, when distributing copies of the software, to include the
250
- copyright notice. However, it does not &lt;em&gt;restrict&lt;/em&gt; the use of the software under
251
- any conditions. An example of a restriction comes from the infamous JSON
252
- license, which adds the following clause to a stock MIT license:&lt;/p&gt;
253
- &lt;blockquote&gt;
254
- &lt;p&gt;The Software shall be used for Good, not Evil.&lt;/p&gt;
255
- &lt;/blockquote&gt;
256
- &lt;p&gt;IBM famously petitioned Douglas Crockford for, and received, a license to do
257
- evil with JSON.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; This kind of clause is broadly referred to in the free
258
- software jargon as &amp;ldquo;discrimination against field of endeavour&amp;rdquo;, and such
259
- restrictions contravene both the free software and open source definitions. To
260
- quote the &lt;a href="https://opensource.org/osd"&gt;Open Source Definition&lt;/a&gt;, clause 6:&lt;/p&gt;
261
- &lt;blockquote&gt;
262
- &lt;p&gt;The license must not restrict anyone from making use of the program in a
263
- specific field of endeavor. For example, it may not restrict the program from
264
- being used in a business, or from being used for genetic research.&lt;/p&gt;
265
- &lt;/blockquote&gt;
266
- &lt;p&gt;No such restrictions are found in free or open source software licenses, be they
267
- permissive or copyleft &amp;ndash; all FOSS licenses permit the use of the software for
268
- any purpose without restriction. You can sell both permissive and copyleft
269
- software, use it as part of a commercial cloud service,&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; use the software
270
- as part of a nuclear weapons program,&lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt; or do whatever else you want with
271
- it. There are no restrictions on how free software is used, regardless of if it
272
- is permissive or copyleft.&lt;/p&gt;
273
- &lt;p&gt;Copyleft does not impose restrictions, but it does impose obligations. The
274
- obligations exist to guarantee rights to the users of the software &amp;ndash; in other
275
- words, to ensure freedoms. In this respect copyleft licenses are &lt;em&gt;more free&lt;/em&gt;
276
- than permissive licenses.&lt;/p&gt;
277
- &lt;p&gt;Freedom is a political concept, and in order to understand this, we must
278
- consider it in political terms, which is to say as an exercise in power
279
- dynamics. Freedom without obligation is a contradiction. Freedom &lt;em&gt;emerges&lt;/em&gt; from
280
- obligations, specifically obligations imposed on power.&lt;/p&gt;
281
- &lt;p&gt;Where does freedom come from?&lt;/p&gt;
282
- &lt;p&gt;Consider the United States as an example, a society which sets forth freedom as
283
- a core political value.&lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt; Freedoms in the US are ultimately grounded in the US
284
- constitution and its bill of rights. These tools create freedoms by guaranteeing
285
- rights to US citizens through the imposition of &lt;em&gt;obligations&lt;/em&gt; on the government.
286
- For instance, you have a right to an attorney when accused of a crime in the
287
- United States, and as such the government is &lt;em&gt;obliged&lt;/em&gt; to provide you with one.
288
- It is from obligations such as these that freedom emerges. Freedom of assembly,
289
- another example, is guaranteed such that the police are prevented from breaking
290
- up peaceful protests &amp;ndash; this freedom emerges from a &lt;em&gt;constraint&lt;/em&gt; (or
291
- restriction, if you must) on power (the government) as a means of guaranteeing
292
- the rights and freedom of those with less power by comparison (its citizens).&lt;/p&gt;
293
- &lt;p&gt;Who holds the power in the context of software?&lt;/p&gt;
294
- &lt;p&gt;Consider non-free software by contrast: software is written by corporations and
295
- sold on to users with substantial restrictions on its use. Corporations hold
296
- more power than individuals: they have more resources (e.g. money), more
297
- influence, and, in a sense more fundamental to the software itself, they retain
298
- in private the tools to understand the software, or to modify its behavior, and
299
- they dictate the conditions under which it may be used (e.g. only if your
300
- license key has not expired, or only for certain purposes). This is true of
301
- anyone who retains the source code in private and uses copyright law to enforce
302
- their will upon the software &amp;ndash; in this way they possess, and exercise, power
303
- over the user.&lt;/p&gt;
304
- &lt;p&gt;Permissive licenses do not provide any checks on this power; generally they
305
- preserve &lt;a href="https://en.wikipedia.org/wiki/Moral_rights"&gt;moral rights&lt;/a&gt; and little
306
- else. Permissive licenses provide for relatively few and narrow freedoms, and
307
- are not particularly &amp;ldquo;free&amp;rdquo; as such. Copyleft licenses constrain these powers
308
- through additional obligations, and from these obligations greater freedoms
309
- emerge. Specifically, they oblige reciprocity. They are distinguished from
310
- permissive licenses in this manner, but where permissive licenses &lt;em&gt;permit&lt;/em&gt;,
311
- copyleft does not &lt;em&gt;restrict&lt;/em&gt; per-se &amp;ndash; better terms might be &amp;ldquo;reciprocal&amp;rdquo; and
312
- &amp;ldquo;non-reciprocal&amp;rdquo;, but perhaps that ship has sailed. &amp;ldquo;You may use this software
313
- &lt;em&gt;if&lt;/em&gt; &amp;hellip;&amp;rdquo; is a statement made both by permissive and copyleft licenses, with
314
- different &lt;em&gt;if&lt;/em&gt;s. Neither form of license says &amp;ldquo;you cannot use this software &lt;em&gt;if&lt;/em&gt;
315
- &amp;hellip;&amp;rdquo;; licenses which do so are non-free.&lt;/p&gt;
316
- &lt;p&gt;Permissive licenses and copyleft licenses are both free software, but only the
317
- latter provides a guarantee of rights, and while both might be free only the
318
- latter provides &lt;em&gt;freedom&lt;/em&gt;.&lt;/p&gt;
319
- &lt;div class="footnotes" role="doc-endnotes"&gt;
320
- &lt;hr&gt;
321
- &lt;ol&gt;
322
- &lt;li id="fn:1"&gt;
323
- &lt;p&gt;Strictly speaking this exception was for JSLint, not JSON. But I digress.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
324
- &lt;/li&gt;
325
- &lt;li id="fn:2"&gt;
326
- &lt;p&gt;This is even true if the software uses the AGPL license.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
327
- &lt;/li&gt;
328
- &lt;li id="fn:3"&gt;
329
- &lt;p&gt;Take a moment here to entertain the supposition that nuclear warheads
330
- are legally obliged to include a copy of the MIT license, if they
331
- incorporate MIT licensed code in their guidance systems, on board, as they
332
- are &amp;ldquo;distributing&amp;rdquo; that software to the, err, recipients. As it were.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
333
- &lt;/li&gt;
334
- &lt;li id="fn:4"&gt;
335
- &lt;p&gt;The extent to which it achieves this has, of course, been the subject of
336
- intense debate for centuries.&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
337
- &lt;/li&gt;
338
- &lt;/ol&gt;
339
- &lt;/div&gt;
340
- </description>
341
- </item><item>
342
- <title>FDO's conduct enforcement actions regarding Vaxry</title>
343
- <link>https://drewdevault.com/2024/04/09/2024-04-09-FDO-conduct-enforcement.html</link>
344
- <pubDate>Tue, 09 Apr 2024 00:00:00 +0000</pubDate>
345
-
346
- <guid>https://drewdevault.com/2024/04/09/2024-04-09-FDO-conduct-enforcement.html</guid>
347
- <description>&lt;p&gt;freedesktop(.org), aka FDO, recently banned Hyprland maintainer Vaxry from the
348
- FDO community, and in response Vaxry has taken his case to the court of public
349
- opinion, publishing their email exchanges and writing about it on his blog.&lt;/p&gt;
350
- &lt;p&gt;It saddens me to bear witness to these events today. I wrote &lt;a href="https://drewdevault.com/2023/09/17/Hyprland-toxicity.html"&gt;in September of
351
- last year&lt;/a&gt; about problems with toxicity in the Hyprland community. I
352
- initially reached out to Vaxry to discuss these problems in private in February
353
- of last year. I failed to get through to him, leading to that blog post in
354
- September. I spent some time in the following weeks talking with Vaxry on his
355
- behavior and his community&amp;rsquo;s social norms, again in private, but again, I was
356
- unable to get through to him. Unfortunately, we find ourselves again leaving the
357
- private sphere and discussing Vaxry&amp;rsquo;s behavior and the problem posed by the
358
- Hyprland community once again.&lt;/p&gt;
359
- &lt;p&gt;The fact of the matter is that Hyprland remains a toxic community, enabled and
360
- encouraged by its toxic leadership, namely Vaxry. FDO&amp;rsquo;s decision to ban Vaxry is
361
- ultimately a consequence of Vaxry&amp;rsquo;s behavior, and because he has elected to
362
- appeal his case in public, I am compelled to address his behavior in public. I
363
- hereby rise firmly in defense of FDO&amp;rsquo;s decision.&lt;/p&gt;
364
- &lt;p&gt;I invite you to start by reading the two email threads, &lt;a href="https://blog.vaxry.net/resource/articleFDO/LyudeMails.pdf"&gt;one&lt;/a&gt;, and &lt;a href="https://blog.vaxry.net/resource/articleFDO/lyudeReply.pdf"&gt;two&lt;/a&gt;,
365
- which Vaxry has published for your consideration, as well as Vaxry&amp;rsquo;s follow-ups
366
- on his blog, &lt;a href="https://blog.vaxry.net/articles/2024-fdo-and-redhat"&gt;one&lt;/a&gt;, and &lt;a href="https://blog.vaxry.net/articles/2024-fdo-and-redhat2"&gt;two&lt;/a&gt;.&lt;/p&gt;
367
- &lt;p&gt;Here&amp;rsquo;s my read on the situation.&lt;/p&gt;
368
- &lt;p&gt;The FDO officer that reached out to Vaxry did it after Vaxry&amp;rsquo;s problematic
369
- behavior was brought to her attention by members of the FDO community, and was
370
- acting on her mandate within the FDO conduct enforcement board by investigating
371
- complaints submitted to her by this community. It is not a stretch to suggest a
372
- close relationship between these communities exists: FDO is the steward of both
373
- the Wayland protocol and implementation and the wlroots library, essential
374
- dependencies of Hyprland and sources for collaboration between Hyprland and FDO.
375
- Vaxry and other members of the Hyprland community had already participated
376
- extensively in these projects (mainly in discussions on IRC and GitLab issues)
377
- at the time of the email exchange, in spaces where the code of conduct applies.&lt;/p&gt;
378
- &lt;p&gt;The FDO officer duly investigated the complaints she had received and found, in
379
- collaboration with the other members of the FDO conduct enforcement team, that
380
- they were credible, and worrying. There are numerous examples of behavior from
381
- Vaxry that contravenes the FDO code of conduct in several different respects,
382
- and any number of them would be grounds for an immediate ban. Since these
383
- behaviors are concerning, but did not take place in the FDO community, the
384
- conduct board decided to issue a warning in private, stating that if this sort
385
- of behavior was seen in the FDO community that it would result in enforcement
386
- action from the conduct team.&lt;/p&gt;
387
- &lt;p&gt;All of the actions from the FDO conduct team are reasonable and show
388
- considerable restraint. Vaxry could have taken it in stride with no consequences
389
- to himself. Instead, he immediately escalated the situation. He construes the
390
- FDO officer&amp;rsquo;s polite and well-reasoned warning as threats and intimidation. He
391
- minimizes examples of his own hate speech by shrugging them off as a joke. He
392
- belittles the FDO officer and builds a straw man wherein her email is an
393
- official statement on behalf of RedHat, and cites a conspiracy theory about
394
- &lt;abbr title="diversity, equity, and inclusion"&gt;DEI&lt;/abbr&gt; programs at RedHat as
395
- justification for calling the FDO officer a hypocrite. He is insulted on my
396
- behalf that my name was cited in the FDO officer&amp;rsquo;s email in lowercase, &amp;ldquo;drew&amp;rdquo;,
397
- and feels the need to address this.&lt;/p&gt;
398
- &lt;p&gt;The FDO officer responds to Vaxry&amp;rsquo;s unhinged rant with a sarcastic quip
399
- clarifying that it was indeed within the FDO conduct team&amp;rsquo;s remit to ban Vaxry
400
- from their GitLab instance &amp;ndash; I confess that in my view this was somewhat
401
- unprofessional, though I can easily sympathize with the FDO officer given the
402
- context. Following this, Vaxry states that Hyprland will cease all communication
403
- with FDO&amp;rsquo;s conduct team and &lt;em&gt;ignore&lt;/em&gt; (emphasis his) any future emails from them.
404
- Finally, he threatens legal action (on what basis is unclear) and signs the
405
- email.&lt;/p&gt;
406
- &lt;p&gt;Regardless of how you feel about the conduct team issuing a private warning to
407
- Vaxry on the basis of activities outside of FDO community spaces, the email
408
- thread that ensues most certainly is within the scope of the FDO code of
409
- conduct, and Vaxry&amp;rsquo;s behavior therein is sufficient justification for a ban from
410
- the FDO community as far as I&amp;rsquo;m concerned. The conduct team cites Vaxry&amp;rsquo;s stated
411
- intention to ignore any future conduct interventions as the ultimate reason for
412
- the ban, which I find entirely reasonable on FDO&amp;rsquo;s part. I have banned people
413
- for far less than this, and I stand by it.&lt;/p&gt;
414
- &lt;p&gt;Vaxry&amp;rsquo;s follow-up blog posts only serve to underscore this point. First of all,
415
- he immediately opens with a dog-whistle calling for the reader to harass the FDO
416
- officer in question: &amp;ldquo;I don&amp;rsquo;t condone harassing this person, but here is their
417
- full name, employer and contact details&amp;rdquo;:&lt;/p&gt;
418
- &lt;blockquote&gt;
419
- &lt;p&gt;I do not condone any hateful messages sent towards any of the parties
420
- mentioned.&lt;/p&gt;
421
- &lt;p&gt;Recently I have received an email filled with threats to my inbox, from a
422
- member of the X.org board, Freedesktop.org, and a Red Hat employee. Their name
423
- is [redacted].&lt;/p&gt;
424
- &lt;/blockquote&gt;
425
- &lt;p&gt;Moreover, Vaxry claims to have apologised for his past conduct, which is not
426
- true. In lieu of an apology, Vaxry has spent the &amp;ldquo;1.5 years&amp;rdquo; since the last
427
- incident posting angry rants on his blog calling out minority representation and
428
- &amp;ldquo;social justice warriors&amp;rdquo; in light of his perceived persecution. Meanwhile the
429
- Hyprland community remains a toxic place, welcoming hate, bullying, and
430
- harassment, but now prohibiting all &amp;ldquo;political&amp;rdquo; speech, which in practice means
431
- any discussion of LGBTQ topics, though this is largely unenforced. In the end,
432
- the Hyprland community&amp;rsquo;s fundamental problem is that they&amp;rsquo;re all &amp;ldquo;just having
433
- fun&amp;rdquo;, and it seems that they can&amp;rsquo;t have &amp;ldquo;fun&amp;rdquo; unless it&amp;rsquo;s at someone else&amp;rsquo;s
434
- expense.&lt;/p&gt;
435
- &lt;p&gt;The FDO team is right that Hyprland&amp;rsquo;s community reflects poorly on the Linux
436
- desktop community as a whole. Vaxry has created a foothold for hate,
437
- transphobia, homophobia, bullying, and harassment in the Linux desktop
438
- community. We are right to take action to correct this problem.&lt;/p&gt;
439
- &lt;p&gt;Every option other than banning Vaxry has been exhausted over the past year and
440
- a half. I personally spent several weeks following my last blog post on the
441
- matter discussing Vaxry&amp;rsquo;s behavior in confidence and helping him understand how
442
- to improve, and at my suggestion he joined a private community of positive male
443
- role models to discuss these issues in a private and empathetic space. After a
444
- few weeks of these private discussions, the last thing he said to me was &amp;ldquo;I do
445
- believe there could be arguments to sway my opinion towards genocide&amp;rdquo;.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
446
- &lt;p&gt;There&amp;rsquo;s nothing left to do but to build a fence around Hyprland and protect the
447
- rest of the community from them. I know that there&amp;rsquo;s a lot of good people who
448
- use and contribute to Hyprland, and I&amp;rsquo;m sorry for those of you who are affected
449
- by this problem. But, in the end, actions have consequences. The rest of the
450
- community has no choice but to sanction Vaxry.&lt;/p&gt;
451
- &lt;p&gt;And, to Vaxry &amp;ndash; I know you&amp;rsquo;re reading this &amp;ndash; there are going to continue to be
452
- consequences for your actions, but it&amp;rsquo;s still not too late to change. I know
453
- it&amp;rsquo;s humiliating to be called out like this, and I really would rather not have
454
- had to do so. FDO is probably not the last time you&amp;rsquo;re going to be banned if you
455
- don&amp;rsquo;t change course, and it would reflect better on you if you took it on the
456
- chin and didn&amp;rsquo;t post inflammatory rants on your blog &amp;ndash; trust me, you don&amp;rsquo;t look
457
- like the good guy here. You are trapped in an echo chamber of hate, anger, and
458
- bigotry. I hope that you find a way out, and that someday you can build a
459
- community which is as great as your software is.&lt;/p&gt;
460
- &lt;p&gt;And, to the FDO officer in question: I&amp;rsquo;m so sorry that you&amp;rsquo;re at the ass end of
461
- all of this hate and abuse. You don&amp;rsquo;t deserve any of it. You did a good job, and
462
- I&amp;rsquo;m proud of you and the rest of the FDO conduct team. If you need any support,
463
- someone to talk to, don&amp;rsquo;t hesitate to reach out and ask, on IRC, Matrix, email,
464
- whatever. Don&amp;rsquo;t read the comments.&lt;/p&gt;
465
- &lt;p&gt;And on that note, I condemn in the harshest terms the response from communities
466
- like /r/linux on the subject. The vile harassment and hate directed at the FDO
467
- officer in question is obscene and completely unjustifiable. I don&amp;rsquo;t care what
468
- window manager or desktop environment you use &amp;ndash; this kind of behavior is
469
- completely uncalled for. I expect better.&lt;/p&gt;
470
- &lt;hr&gt;
471
- &lt;p&gt;&lt;em&gt;P.S. The Hyprland community has already descended on me before even publishing
472
- this post, after I called Vaxry out on Mastodon a few hours ago. My
473
- notifications are not full of reasonable objections to my complaints, but
474
- instead the response is slurs and death threats. This only serves to prove my
475
- characterization of the Hyprland community as deeply toxic.&lt;/em&gt;&lt;/p&gt;
476
- &lt;div class="footnotes" role="doc-endnotes"&gt;
477
- &lt;hr&gt;
478
- &lt;ol&gt;
479
- &lt;li id="fn:1"&gt;
480
- &lt;p&gt;Yes, this is taken out of context. But, if you raise this objection, I
481
- struggle to imagine in what context you think this statement can be read
482
- sympathetically.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
483
- &lt;/li&gt;
484
- &lt;/ol&gt;
485
- &lt;/div&gt;
486
- </description>
487
- </item><item>
488
- <title>Why Prusa is floundering, and how you can avoid their fate</title>
489
- <link>https://drewdevault.com/2023/12/26/2023-12-26-Prusa-is-floundering.html</link>
490
- <pubDate>Tue, 26 Dec 2023 00:00:00 +0000</pubDate>
491
-
492
- <guid>https://drewdevault.com/2023/12/26/2023-12-26-Prusa-is-floundering.html</guid>
493
- <description>&lt;p&gt;Prusa is a 3D printer manufacturer which has a long history of being admired by
494
- the 3D printing community for high quality, open source printers. They have been
495
- struggling as of late, and came under criticism for making the firmware of their
496
- Mk4 printer non-free.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
497
- &lt;p&gt;&lt;a href="https://lucumr.pocoo.org/2023/12/25/life-and-death-of-open-source/"&gt;Armin Ronacher&lt;/a&gt; uses Prusa as a case-study in why open source companies
498
- fail, and uses this example to underline his argument that open source needs to
499
- adapt for commercial needs, namely by adding commercial exclusivity clauses to
500
- its licenses &amp;ndash; Armin is one of the principal proponents of the non-free
501
- Functional Source License. Armin cites his experience with a Chinese
502
- manufactured 3D printer as evidence that intellectual property is at the heart
503
- of Prusa&amp;rsquo;s decline, and goes on to discuss how this dynamic applies to his own
504
- work in developing a non-free license for use with Sentry. I find this work
505
- pretty interesting &amp;ndash; FSL is a novel entry into the non-free license compendium,
506
- and it&amp;rsquo;s certainly a better way to do software than proprietary models, assuming
507
- that it&amp;rsquo;s not characterized as free or open source. But, allow me to use the
508
- same case study to draw different conclusions.&lt;/p&gt;
509
- &lt;p&gt;It is clear on the face of it that Prusa&amp;rsquo;s move to a non-free firmware is
510
- unrelated to their struggles with the Chinese competition &amp;ndash; their firmware was
511
- GPL&amp;rsquo;d, and the cited competitor (Bambu) evidently respects copyleft, and there&amp;rsquo;s
512
- no evidence that Bambu&amp;rsquo;s printers incorporate derivatives of Prusa&amp;rsquo;s firmware in
513
- a manner which violates the GPL. Making the license non-free is immaterial to
514
- the market dynamics between Prusa and Bambu, so the real explanation must lie
515
- elsewhere.&lt;/p&gt;
516
- &lt;p&gt;If you had asked me 10 years ago what I expected Prusa&amp;rsquo;s largest risk would be,
517
- I would have simply answered &amp;ldquo;China&amp;rdquo; and you would have probably said the same.
518
- The Chinese economy and industrial base can outcompete Western manufacturing in
519
- almost every manufacturing market.&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt; This was always the obvious
520
- vulnerability in their business model, and they &lt;em&gt;absolutely&lt;/em&gt; needed to be
521
- prepared for this situation, or their death was all but certain. Prusa made one
522
- of the classic errors in open source business models: they made their product,
523
- made it open source, sold it, and assumed that they were done working on their
524
- business model.&lt;/p&gt;
525
- &lt;p&gt;It was inevitable that someday Chinese manufacturers would undercut Prusa on
526
- manufacturing costs. Prusa responded to this certainty by not diversifying their
527
- business model whatsoever. There has only ever been one Prusa product: their
528
- latest 3D printer model. The Mk4 costs $1,200. You can buy the previous
529
- generation (at $1,000), or the MINI (from 2019, $500). You can open your wallet
530
- and get their high-end printers, which are neat but fail to address the one
531
- thing that most users at this price-point really want, which is more build
532
- volume. Or, you can buy an Ender 3 off Amazon right now for $180 and you&amp;rsquo;ll get
533
- better than half of the value of an Mk4 at an 85% discount. You could also buy
534
- Creality&amp;rsquo;s flagship model for a cool $800 and get a product which beats the Mk4
535
- in every respect. China has joined the market, bringing with them all of the
536
- competitive advantages their industrial base can bring to bear, and Prusa&amp;rsquo;s
537
- naive strategy is causing their position to fall like a rock.&lt;/p&gt;
538
- &lt;p&gt;Someone new to 3D printing will pick up an Ender and will probably be happy with
539
- it for 1-2 years. When they upgrade, will they upgrade to a Prusa or an Ender 5?
540
- Three to five years a customer spends in someone else&amp;rsquo;s customer pipeline is an
541
- incredibly expensive opportunity cost Prusa is missing out on. This opportunity
542
- cost is the kind of arithmetic that would make loss leaders like a cheap,
543
- low-end, low-or-negative-margin Prusa printer make financial sense. Hell, Prusa
544
- should have made a separate product line of white-labeled Chinese entry-level 3D
545
- printers just to get people on the Prusa brand.&lt;/p&gt;
546
- &lt;p&gt;Prusa left many stones unturned. Bambu&amp;rsquo;s cloud slicer is a massive lost
547
- opportunity for Prusa. On-demand cloud printing services are another lost
548
- opportunity. Prusa could have built a marketplace for models &amp;amp; parts and skimmed
549
- a margin off of the top, but they waited until 2022 to launch Printables &amp;ndash;
550
- waiting until the 11th hour when everyone was fed up with Thingiverse. Imagine a
551
- Prusa where it works out of the box, you can fire up a slicer in your browser
552
- which auto-connects to your printer and prints models from a Prusa-operated
553
- model repository, paying $10 for a premium model, $1 off the top goes to Prusa,
554
- with the same saved payment details which ensure that a fresh spool of Prusa
555
- filament arrives at your front door when it auto-detects that your printer is
556
- almost out. The print you want is too big for your build volume? Click here to
557
- have it cloud printed &amp;ndash; do you want priority shipping for that? Your hot-end is
558
- reaching the end of its life &amp;ndash; as one of our valued business customers on our
559
- premium support contract we would be happy to send you a temporary replacement
560
- printer while yours is shipped in for service.&lt;/p&gt;
561
- &lt;p&gt;Prusa&amp;rsquo;s early foothold in the market was strong, and they were wise to execute
562
- the way they did early on. But they &lt;em&gt;absolutely&lt;/em&gt; had to diversify their lines of
563
- business. Prusa left gaping holes in the market and utterly failed to capitalize
564
- on any of them. Prusa could have been synonymous with 3D printing if they had
565
- invested in the brand (though they probably needed a better name). I should be
566
- able to walk into a Best Buy and pick up an entry-level Prusa for $250-$500, or
567
- into a Home Depot and pick up a workshop model for $1000-$2000. I should be able
568
- to bring it home, unbox it, scan a QR code to register it with PrusaConnect, and
569
- have a Benchy printing in less than 10 minutes.&lt;/p&gt;
570
- &lt;p&gt;Chinese manufacturers did all of this and more, and they&amp;rsquo;re winning. They aren&amp;rsquo;t
571
- just cheaper &amp;ndash; they offer an outright better product. These are not cheap
572
- knock-offs: if you want the best 3D printer today it&amp;rsquo;s going to be a Chinese
573
- one, regardless of how much you want to spend, but, as it happens, you&amp;rsquo;re going
574
- to spend less.&lt;/p&gt;
575
- &lt;p&gt;Note that none of this is material to the license of the product, be it free or
576
- non-free. It&amp;rsquo;s about building a brand, developing a customer relationship, and
577
- identifying and exploiting market opportunities. Hackers and enthusiasts who
578
- found companies like Prusa tend to imagine that the product is everything, but
579
- it&amp;rsquo;s not. Maybe 10% of the work is developing the 3D printer itself &amp;ndash;
580
- don&amp;rsquo;t abandon the other 90% of your business. Especially when you make that 10%
581
- open: someone else is going to repurpose it, do the other 90%, and eat your
582
- lunch. FOSS is &lt;em&gt;great&lt;/em&gt; precisely because it makes that 10% into community
583
- property and shares the cost of innovation, but you&amp;rsquo;d be a fool to act as if
584
- that was all there was to it. You need to deal with sales and marketing, chase
585
- down promising leads, identify and respond to risks, look for and exploit new
586
- market opportunities, and much more to be successful.&lt;/p&gt;
587
- &lt;p&gt;This is a classic failure mode of open source businesses, and it&amp;rsquo;s &lt;em&gt;Prusa&amp;rsquo;s
588
- fault&lt;/em&gt;. They had an excellent foothold early in the market, leveraging open
589
- source and open hardware to great results and working hand-in-hand with
590
- enthusiasts early on to develop the essential technology of 3D printing. Then,
591
- they figured they were done developing their business model, and completely
592
- dropped the ball as a result. Open source is not an &amp;ldquo;if you build it, the money
593
- will come&amp;rdquo; situation, and to think otherwise is a grave mistake. Businesses need
594
- to identify their risks and then mitigate them, and if they don&amp;rsquo;t do that due
595
- diligence, then it&amp;rsquo;s &lt;em&gt;their fault&lt;/em&gt; when it fails &amp;ndash; it&amp;rsquo;s not a problem with
596
- FOSS.&lt;/p&gt;
597
- &lt;p&gt;Free and open source software is an incredibly powerful tool, including as a
598
- commercial opportunity. FOSS really has changed the world! But building a
599
- business is still hard, and in addition to its fantastic advantages, the FOSS
600
- model poses important and challenging constraints that you need to understand
601
- and work with. You have to be creative, and you must do a risk/reward assessment
602
- to understand how it applies to your business and how you can utilize it for
603
- commercial success. Do the legwork and you can utilize FOSS for a competitive
604
- advantage, but skip this step and you will probably fail within a decade.&lt;/p&gt;
605
- &lt;div class="footnotes" role="doc-endnotes"&gt;
606
- &lt;hr&gt;
607
- &lt;ol&gt;
608
- &lt;li id="fn:1"&gt;
609
- &lt;p&gt;I sourced this information from Armin&amp;rsquo;s blog post, but it didn&amp;rsquo;t
610
- hold up to a later fact check: the
611
- &lt;a href="https://github.com/prusa3d/Prusa-Firmware-Buddy"&gt;Mk4 firmware&lt;/a&gt; seems to be
612
- free software. It seems the controversy here has to do with Prusa
613
- developing its slicer software behind closed doors and doing occasional
614
- source-code dumps, rather than managing a more traditional &amp;ldquo;bazaar&amp;rdquo; style
615
- project.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
616
- &lt;/li&gt;
617
- &lt;li id="fn:2"&gt;
618
- &lt;p&gt;That said, there are still vulnerabilities in the Chinese industrial
619
- base that can be exploited by savvy Western entrepreneurs. Chinese access to
620
- Western markets is constrained below a certain scale, for instance, in ways
621
- that Western businesses are not.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
622
- &lt;/li&gt;
623
- &lt;/ol&gt;
624
- &lt;/div&gt;
625
- </description>
626
- </item><item>
627
- <title>Richard Stallman's political discourse on sex</title>
628
- <link>https://drewdevault.com/2023/11/25/2023-11-26-RMS-on-sex.html</link>
629
- <pubDate>Sat, 25 Nov 2023 00:00:00 +0000</pubDate>
630
-
631
- <guid>https://drewdevault.com/2023/11/25/2023-11-26-RMS-on-sex.html</guid>
632
- <description>&lt;p&gt;Richard Stallman, the founder of the Free Software Foundation, has been subject
633
- to numerous allegations of misconduct. He stepped down in 2019, and following
634
- his re-instatement in 2021, a famous &lt;a href="https://rms-open-letter.github.io/"&gt;open letter&lt;/a&gt; was published in which
635
- numerous organizations and individuals from throughout the Free Software
636
- ecosystem called for his removal from the Free Software Foundation. The letter
637
- had no effect; Stallman remains a voting member of the FSF&amp;rsquo;s &lt;a href="https://www.fsf.org/about/staff-and-board"&gt;board of
638
- directors&lt;/a&gt; to this day and continues to receive numerous &lt;a href="https://stallman.org/talks.html"&gt;speaking
639
- engagements&lt;/a&gt;.&lt;/p&gt;
640
- &lt;p&gt;&lt;em&gt;Content warning: This article discusses sexual abuse, sexual assault, sexual
641
- harassment, and all of the above with respect to minors, as well as the systemic
642
- normalization of abuse, and directly quotes statements which participate in the
643
- normalization of abuse.&lt;/em&gt;&lt;/p&gt;
644
- &lt;p&gt;This article presents an analysis of Stallman&amp;rsquo;s political discourse on sex with
645
- the aim of establishing the patterns that cause the sort of discomfort that led
646
- to Stallman&amp;rsquo;s public condemnation. In particular, we will address how Stallman
647
- speaks about sexual assault, harassment, consent, and minors in his discourse.&lt;/p&gt;
648
- &lt;p&gt;I think that it is important to acknowledge this behavior not as a series of
649
- isolated incidents, nor a conflict with Stallman&amp;rsquo;s &amp;ldquo;&lt;a href="https://www.fsf.org/news/statement-of-fsf-board-on-election-of-richard-stallman"&gt;personal style&lt;/a&gt;&amp;rdquo;,
650
- but a pattern of behavior from which a political narrative forms, and draws
651
- attention to the fact that the meager retractions, excuses, and non-apologies
652
- from both Stallman and the Free Software Foundation as a whole fail to account
653
- for that pattern in a meaningful way.&lt;/p&gt;
654
- &lt;p&gt;The failure of the Free Software community to account for Richard Stallman&amp;rsquo;s
655
- behavior has a chilling effect. The norms set by our leadership influence the
656
- norms of our broader community, and many members of the Free Software community
657
- look to Stallman as a ideological and political leader. The norms Stallman
658
- endorses are harmful and deeply confronting and alienating to many people, in
659
- particular women and children. Should these norms be adopted by our movement, we
660
- risk creating a community which enables the exploitation of vulnerable people.&lt;/p&gt;
661
- &lt;p&gt;Let&amp;rsquo;s begin to address this by considering Stallman&amp;rsquo;s retraction of his comments
662
- in support of pedophilia. The following comment from Stallman in 2013 drew harsh
663
- criticism:&lt;/p&gt;
664
- &lt;blockquote&gt;
665
- &lt;p&gt;There is little evidence to justify the widespread assumption that willing
666
- participation in pedophilia hurts children.&lt;/p&gt;
667
- &lt;/blockquote&gt;
668
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://web.archive.org/web/20210325014249/https://stallman.org/archives/2012-nov-feb.html#04_January_2013_(Pedophilia)"&gt;stallman.org, 04 January 2013 &amp;ldquo;Pedophilia&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
669
- &lt;p&gt;Following much of the criticism directed at Stallman, he had a number of
670
- &amp;ldquo;personal conversations&amp;rdquo; which reframed his views. Of the many comments Stallman
671
- has made which drew ire, this is one of the few for which a correction was made,
672
- in September 2019:&lt;/p&gt;
673
- &lt;blockquote&gt;
674
- &lt;p&gt;Many years ago I posted that I could not see anything wrong about sex between
675
- an adult and a child, if the child accepted it.&lt;/p&gt;
676
- &lt;p&gt;Through personal conversations in recent years, I&amp;rsquo;ve learned to understand how
677
- sex with a child can harm per psychologically. This changed my mind about the
678
- matter: I think adults should not do that. I am grateful for the conversations
679
- that enabled me to understand why.&lt;/p&gt;
680
- &lt;/blockquote&gt;
681
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://web.archive.org/web/20210325015259/https://stallman.org/archives/2019-jul-oct.html#14_September_2019_(Sex_between_an_adult_and_a_child_is_wrong)"&gt;stallman.org, 14 September 2019 &amp;ldquo;Sex between an adult and a child is wrong&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
682
- &lt;p&gt;This statement from Stallman has been accepted by his defenders as evidence of
683
- his capitulation on pedophilia. I argue that this statement is misleading due to
684
- the particular way Stallman uses the word &amp;ldquo;child&amp;rdquo;. When Stallman uses this word,
685
- he does so with a very specific meaning, which he explains on his website:&lt;/p&gt;
686
- &lt;blockquote&gt;
687
- &lt;p&gt;Children: Humans up to age 12 or 13 are children. After that, they become
688
- adolescents or teenagers. Let&amp;rsquo;s resist the practice of infantilizing
689
- teenagers, by not calling them &amp;ldquo;children&amp;rdquo;.&lt;/p&gt;
690
- &lt;/blockquote&gt;
691
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://www.stallman.org/antiglossary.html"&gt;stallman.org, &amp;ldquo;Anti-glossary&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
692
- &lt;p&gt;It seems clear from this definition is that Stallman&amp;rsquo;s comments are not a
693
- capitulation at all. His 2019 retraction, when interpreted using his definition
694
- of &amp;ldquo;children&amp;rdquo;, does not contradict most of Stallman&amp;rsquo;s past statements regarding
695
- sex and minors, including his widely criticized defenses of many people accused
696
- of sexual impropriety with minors.&lt;/p&gt;
697
- &lt;p&gt;Stallman&amp;rsquo;s most recent direct response to his criticism underscores this:&lt;/p&gt;
698
- &lt;blockquote&gt;
699
- &lt;p&gt;It was right for me to talk about the injustice to Minsky, but it was
700
- tone-deaf that I didn&amp;rsquo;t acknowledge as context the injustice that Epstein did
701
- to women or the pain that caused.&lt;/p&gt;
702
- &lt;/blockquote&gt;
703
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://www.fsf.org/news/rms-addresses-the-free-software-community"&gt;fsf.org, April 12, 2021, &amp;ldquo;RMS addresses the free software community&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
704
- &lt;p&gt;Stallman qualifies his apology by explicitly re-affirming his defense of Marvin
705
- Minsky, which is addressed in detail later in this piece. Stallman&amp;rsquo;s
706
- doubling-down here is consistent with the supposition that Stallman maintains
707
- the view that minors can have sexual relationships with adults of any age,
708
- provided that they aren&amp;rsquo;t &amp;ldquo;children&amp;rdquo; &amp;ndash; in other words, provided they&amp;rsquo;re at
709
- least 13 or 14 years old.&lt;/p&gt;
710
- &lt;p&gt;Stallman cares deeply about language and its usage. His strange and deliberate
711
- usage of the word &amp;ldquo;children&amp;rdquo; is also found many times throughout his political
712
- notes over the years. For example:&lt;/p&gt;
713
- &lt;blockquote&gt;
714
- &lt;p&gt;It sounds horrible: &amp;ldquo;UN peacekeepers accused of child rape in South Sudan.&amp;rdquo;
715
- But the article makes it pretty clear that the &amp;ldquo;children&amp;rdquo; involved were not
716
- children. They were teenagers.&lt;/p&gt;
717
- &lt;/blockquote&gt;
718
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://web.archive.org/web/20180509120046/https://stallman.org/archives/2018-mar-jun.html#30_April_2018_(UN_peacekeepers_in_South_Sudan)"&gt;stallman.org, 30 April 2018 &amp;ldquo;UN peacekeepers in South Sudan&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
719
- &lt;p&gt;Here Stallman again explicitly distinguishes &amp;ldquo;teenagers&amp;rdquo; from children, drawing
720
- this distinction especially in the context of sexual relationships between
721
- adults and minors. Stallman repeats this pattern many times over the years &amp;ndash; we
722
- see it again in Stallman&amp;rsquo;s widely criticized defense of Cody Wilson:&lt;/p&gt;
723
- &lt;blockquote&gt;
724
- &lt;p&gt;Cody Wilson has been charged with hiring a &amp;ldquo;child&amp;rdquo; sex worker. Her age has
725
- not been announced, but I think she must surely be a teenager, not a child.
726
- Calling teenagers &amp;ldquo;children&amp;rdquo; in this context is a way of smearing people with
727
- normal sexual proclivities as &amp;ldquo;perverts&amp;rdquo;.&lt;/p&gt;
728
- &lt;/blockquote&gt;
729
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://web.archive.org/web/20180924231708/https://stallman.org/archives/2018-jul-oct.html#23_September_2018_(Cody_Wilson)"&gt;stallman.org, 23 September 2018 &amp;ldquo;Cody Wilson&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
730
- &lt;p&gt;And once more when defending Roy Moore:&lt;/p&gt;
731
- &lt;blockquote&gt;
732
- &lt;p&gt;Senate candidate Roy Moore tried to start dating/sexual relationships with
733
- teenagers some decades ago.&lt;/p&gt;
734
- &lt;p&gt;He tried to lead Ms Corfman step by step into sex, but he always respected
735
- &amp;ldquo;no&amp;rdquo; from her and his other dates. Thus, Moore does not deserve the
736
- exaggerated condemnation that he is receiving for this. As an example of
737
- exaggeration: one mailing referred to these teenagers as &amp;ldquo;children&amp;rdquo;, even the
738
- one that was 18 years old. Many teenagers are minors, but none of them are
739
- children.&lt;/p&gt;
740
- &lt;p&gt;The condemnation is surely sparked by the political motive of wanting to
741
- defeat Moore in the coming election, but it draws fuel from ageism and the
742
- fashion for overprotectiveness of &amp;ldquo;children&amp;rdquo;.&lt;/p&gt;
743
- &lt;/blockquote&gt;
744
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://web.archive.org/web/20180104112431/https://www.stallman.org/archives/2017-nov-feb.html#27_November_2017_(Roy_Moore's_relationships)"&gt;stallman.org, 27 November 2017 &amp;ldquo;Roy Moore&amp;rsquo;s relationships&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
745
- &lt;p&gt;Ms. Corfman was 14 at the time Roy Moore is accused of initiating sexual contact
746
- with her; Moore was 32 at the time. Here we see an example of him re-iterating
747
- his definition of &amp;ldquo;children&amp;rdquo;, a distinction he draws especially to suggest that
748
- an adult having sex with a minor is socially acceptable.&lt;/p&gt;
749
- &lt;p&gt;Note that Stallman refers to Ms. Corfman as Moore&amp;rsquo;s &amp;ldquo;date&amp;rdquo;. Stallman&amp;rsquo;s use of
750
- this word is important: here he normalizes the possibility that a minor and an
751
- adult could engage in a healthy dating relationship. In this statement, Stallman
752
- cites an article which explains circumstances which do not resemble such a
753
- normalized dating experience: Moore isolated Corfman from her mother, drove her
754
- directly to his home, and initiated sexual contact there.&lt;/p&gt;
755
- &lt;p&gt;Note also that the use of the phrase &amp;ldquo;step by step&amp;rdquo; in this quotation is more
756
- commonly referred to as &amp;ldquo;grooming&amp;rdquo; in the discourse on child sexual
757
- exploitation.&lt;/p&gt;
758
- &lt;p&gt;Stallman reaches for similar reasoning in other political notes, such as the
759
- following:&lt;/p&gt;
760
- &lt;blockquote&gt;
761
- &lt;p&gt;A British woman is on trial for going to a park and inviting teenage boys to
762
- have sex with her there. Her husband acted as a lookout in case someone else
763
- passed by. One teenager allegedly visited her at her house repeatedly to have
764
- sex with her.&lt;/p&gt;
765
- &lt;p&gt;None of these acts would be wrong in any sense, provided they took precautions
766
- against spreading infections. The idea that adolescents (of whatever sex) need
767
- to be &amp;ldquo;protected&amp;rdquo; from sexual experience they wish to have is prudish
768
- ignorantism, and making that experience a crime is perverse.&lt;/p&gt;
769
- &lt;/blockquote&gt;
770
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://web.archive.org/web/20170612074722/http://stallman.org/archives/2017-mar-jun.html#26_May_2017_(Prudish_ignorantism)"&gt;stallman.org, 26 May 2017, &amp;ldquo;Prudish ignorantism&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
771
- &lt;p&gt;The woman in question, aged 60, had sex with her husband, age 69, in a public
772
- space, and invited spectators as young as 11 to participate.&lt;/p&gt;
773
- &lt;p&gt;Stallman has also sought to normalize adult attraction to minors, literally
774
- describing it as &amp;ldquo;normal&amp;rdquo; in September 2018:&lt;/p&gt;
775
- &lt;blockquote&gt;
776
- &lt;p&gt;Calling teenagers &amp;ldquo;children&amp;rdquo; encourages treating teenagers as children, a
777
- harmful practice which retards their development into capable adults.&lt;/p&gt;
778
- &lt;p&gt;In this case, the effect of that mislabeling is to smear Wilson. It is rare,
779
- and considered perverse, for adults to be physically attracted to children.
780
- However, it is normal for adults to be physically attracted to adolescents.
781
- Since the claims about Wilson is the latter, it is wrong to present it as the
782
- former.&lt;/p&gt;
783
- &lt;/blockquote&gt;
784
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://www.stallman.org/archives/2018-sep-dec.html#23_September_2018_(Cody_Wilson)"&gt;stallman.org, 23 September 2018, &amp;ldquo;Cody Wilson&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
785
- &lt;p&gt;One month prior, Stallman made a statement which similarly normalized adult
786
- attraction to minors, and suggests that acting on this attraction should be
787
- acceptable to society, likening opposition to this view to homosexual conversion
788
- therapy:&lt;/p&gt;
789
- &lt;blockquote&gt;
790
- &lt;p&gt;This accords with the view that Stendhal reported in France in the 1800s,
791
- that a woman&amp;rsquo;s most beautiful years were from 16 to 20.&lt;/p&gt;
792
- &lt;p&gt;Although this attitude on men&amp;rsquo;s part is normal, the author still wants to
793
- present it as wrong or perverted, and implicitly demands men somehow control
794
- their attraction to direct it elsewhere. Which is as absurd, and as
795
- potentially oppressive, as claiming that homosexuals should control their
796
- attraction and direct it towards to the other sex. Will men be pressured to
797
- undergo &amp;ldquo;age conversion therapy&amp;rdquo; intended to brainwash them to feel attracted
798
- mainly to women of their own age?&lt;/p&gt;
799
- &lt;/blockquote&gt;
800
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://web.archive.org/web/20180911075211/https://www.stallman.org/archives/2018-jul-oct.html#21_August_2018_(Age_and_attraction)"&gt;stallman.org, 21 August 2018, &amp;ldquo;Age and attraction&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
801
- &lt;p&gt;A trend is thus clearly seen in Stallman&amp;rsquo;s regular political notes, over several
802
- years, wherein Stallman re-iterates his position that &amp;ldquo;adolescents&amp;rdquo; or
803
- &amp;ldquo;teenagers&amp;rdquo; are distinct from &amp;ldquo;children&amp;rdquo; for the purpose of having sex with
804
- adults, and normalizes and defends adult attraction to minors and adults who
805
- perform sexual acts with minors. We see this distinction of the two groups,
806
- children and adolescents, outlined again on his &amp;ldquo;anti-glossary&amp;rdquo;, which still
807
- published on his website today, albeit without the connotations of sex. His
808
- regular insistence on a definition of children which excludes adolescents
809
- serves such that his redaction of his controversial 2013 comment serves to
810
- redact none of the other widely-condemned comments he has made since.&lt;/p&gt;
811
- &lt;p&gt;Stallman has often written political notes when people accused of sexual
812
- impropriety, particularly with minors, appear in the news, or appear among
813
- Stallman&amp;rsquo;s social circle. Stallman&amp;rsquo;s comments generally downplay the abuse and
814
- manipulate language in a manner which benefits perpetrators of abuse. We see
815
- this downplaying in another example from 2019:&lt;/p&gt;
816
- &lt;blockquote&gt;
817
- &lt;p&gt;Should we accept stretching the terms &amp;ldquo;sexual abuse&amp;rdquo; and &amp;ldquo;molestation&amp;rdquo; to
818
- include looking without touching?&lt;/p&gt;
819
- &lt;p&gt;I do not accept it.&lt;/p&gt;
820
- &lt;/blockquote&gt;
821
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://www.stallman.org/archives/2019-may-aug.html#11_June_2019_(Stretching_meaning_of_terms)"&gt;stallman.org, 11 June 2019 &amp;ldquo;Stretching meaning of terms&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
822
- &lt;p&gt;Stallman is writing here in response to a news article outlining accusations of
823
- sexual misconduct directed at Ohio State athletics doctor Richard Strauss.
824
- Strauss was accused of groping at least 177 students between 1979 and 1997
825
- during routine physical exams, accusations corroborated by at least 50 members
826
- of the athletic department staff.&lt;/p&gt;
827
- &lt;p&gt;In addition to Stallman&amp;rsquo;s regular fixation of the use of the word &amp;ldquo;children&amp;rdquo;
828
- with respect to sex, this political note also draws our attention to the next
829
- linguistic fixation of Stallman I want to question: the use of phrases like
830
- &amp;ldquo;sexual abuse&amp;rdquo; and &amp;ldquo;sexual assault&amp;rdquo;. The term &amp;ldquo;sexual assault&amp;rdquo; also appears in
831
- Stallman&amp;rsquo;s &amp;ldquo;Anti-glossary&amp;rdquo;:&lt;/p&gt;
832
- &lt;blockquote&gt;
833
- &lt;p&gt;Sexual assault: The term is applied to a broad range of actions, from rape on
834
- one end, to the least physical contact on the other, as well as everything in
835
- between. It acts as propaganda for treating them all the same. That would be
836
- wrong.&lt;/p&gt;
837
- &lt;p&gt;The term is further stretched to include sexual harassment, which does not
838
- refer to a single act, but rather to a series of acts that amounts to a form
839
- of gender bias. Gender bias is rightly prohibited in certain situations for
840
- the sake of equal opportunity, but that is a different issue.&lt;/p&gt;
841
- &lt;p&gt;I don&amp;rsquo;t think that rape should be treated the same as a momentary touch.
842
- People we accuse have a right to those distinctions, so I am careful not to
843
- use the term &amp;ldquo;sexual assault&amp;rdquo; to categorize the actions of any person on any
844
- specific occasion.&lt;/p&gt;
845
- &lt;/blockquote&gt;
846
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://www.stallman.org/antiglossary.html"&gt;stallman.org, &amp;ldquo;Anti-glossary&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
847
- &lt;p&gt;Stallman often fixates on the term &amp;ldquo;sexual assault&amp;rdquo; throughout his political
848
- notes. He feels that the term fails to distinguish between &amp;ldquo;grave&amp;rdquo; and &amp;ldquo;minor&amp;rdquo;
849
- crimes, as he illustrated in 2021:&lt;/p&gt;
850
- &lt;blockquote&gt;
851
- &lt;p&gt;&amp;ldquo;Sexual assault&amp;rdquo; is so vague that it makes no sense as a charge. Because of
852
- that term, we can&amp;rsquo;t whether these journalists were accused of a grave crime
853
- or a minor one. However, the charge of espionage shows this is political
854
- persecution.&lt;/p&gt;
855
- &lt;/blockquote&gt;
856
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://stallman.org/archives/2021-jul-oct.html#21_July_2021_(Imprisonment_of_journalists)"&gt;stallman.org, 21 July 2021, &amp;ldquo;Imprisonment of journalists&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
857
- &lt;p&gt;I would like to find out what kind of crimes Stallman feels the need to
858
- distinguish along this axis. His other political notes give us some hints,
859
- such as this one regarding Al Franken&amp;rsquo;s sexual misconduct scandal:&lt;/p&gt;
860
- &lt;blockquote&gt;
861
- &lt;p&gt;If it is true that he persistently pressured her to kiss him, on stage and
862
- off, if he stuck his tongue into her mouth despite her objections, that could
863
- well be sexual harassment. He should have accepted no for an answer the first
864
- time she said it. However, calling a kiss &amp;ldquo;sexual assault&amp;rdquo; is an exaggeration,
865
- an attempt to equate it to much graver acts, that are crimes.&lt;/p&gt;
866
- &lt;p&gt;The term &amp;ldquo;sexual assault&amp;rdquo; encourages that injustice, and I believe it has been
867
- popularized specifically with that intention. That is why I reject that term.&lt;/p&gt;
868
- &lt;/blockquote&gt;
869
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://web.archive.org/web/20190801201704/https://stallman.org/archives/2019-may-aug.html#30_July_2019_(Al_Franken)"&gt;stallman.org, 30 July 2019, &amp;ldquo;Al Franken&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
870
- &lt;p&gt;Stallman also wrote in 2020 to question the use of the phrase again:&lt;/p&gt;
871
- &lt;blockquote&gt;
872
- &lt;p&gt;In the US, when thugs&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; rape people they say are suspects, it is
873
- rare to bring them to justice.&lt;/p&gt;
874
- &lt;p&gt;I object to describing any one crime as &amp;ldquo;sexual assault&amp;rdquo; because that is vague
875
- about the severity of the crime. This article often uses that term to refer to
876
- many crimes that differ in severity but raise the same issue. That may be a
877
- valid practice.&lt;/p&gt;
878
- &lt;/blockquote&gt;
879
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://stallman.org/notes/2020-jul-oct.html#12_August_2020_(When_thugs_rape_people_they_say_are_suspects)"&gt;stallman.org, 12 August 2020, &amp;ldquo;When thugs rape people they say are suspects&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
880
- &lt;p&gt;In the article Stallman cites in this political note, various unwelcome sexual
881
- acts by the police are described, the least severe of which is probably
882
- molestation.&lt;/p&gt;
883
- &lt;p&gt;More alarmingly, Stallman addresses his views on the term &amp;ldquo;sexual assault&amp;rdquo; in
884
- this 2017 note, affording for the possibility that a 35-year-old man could have
885
- had consensual sex with an 11-year-old girl.&lt;/p&gt;
886
- &lt;blockquote&gt;
887
- &lt;p&gt;Jelani Maraj (who I had never heard of) could be imprisoned for a long time
888
- for &amp;ldquo;sexual assault&amp;rdquo;. What does that concretely mean?&lt;/p&gt;
889
- &lt;p&gt;Due to the vagueness of the term &amp;ldquo;sexual assault&amp;rdquo; together with the dishonest
890
- law that labels sex with adolescents as &amp;ldquo;rape&amp;rdquo; even if they are willing, we
891
- cannot tell from this article what sort of acts Maraj was found to have
892
- committed. So we can&amp;rsquo;t begin to judge whether those acts were wrong.&lt;/p&gt;
893
- &lt;p&gt;I see at least three possibilities. Perhaps those acts really constituted
894
- rape — it is a possibility. Or perhaps the two had sex willingly, but her
895
- parents freaked out and demanded prosecution. Or, intermediate between those
896
- two, perhaps he pressured her into having sex, or got her drunk.&lt;/p&gt;
897
- &lt;/blockquote&gt;
898
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://stallman.org/archives/2017-nov-feb.html#13_November_2017_(Jelani_Maraj)"&gt;stallman.org, 13 November 2017, &amp;ldquo;Jelani Maraj&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
899
- &lt;p&gt;Another article by Stallman does not explicitly refer to sexual assault, but
900
- does engage in a bizarre defense of a journalist who was fired for masturbating
901
- during a video conference. In this article Stallman fixates on questions such as
902
- whether or not the genitals being in view of the webcam was intentional or not,
903
- and suggests that masturbating on a video call would be acceptable should the
904
- genitals remain unseen.&lt;/p&gt;
905
- &lt;blockquote&gt;
906
- &lt;p&gt;The New Yorker&amp;rsquo;s unpublished note to staff was vague about its grounds for
907
- firing Toobin. Indeed, it did not even acknowledge that he had been fired.
908
- This is unfair, like convicting someone on unstated charges. Something didn&amp;rsquo;t
909
- meet its &amp;ldquo;standards of conduct&amp;rdquo;, but it won&amp;rsquo;t tell us what — we can only
910
- guess. What are the possibilities? Intentionally engaging in video-call sex as
911
- a side activity during a work meeting? If he had not made a mistake in keeping
912
- that out of view of the coworkers, why would it make a difference what the
913
- side activity was?&lt;/p&gt;
914
- &lt;/blockquote&gt;
915
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://www.stallman.org/articles/toobin.html"&gt;stallman.org, November 2020, &amp;ldquo;On the Firing of Jeffrey Toobin&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
916
- &lt;p&gt;Finally, Stallman elaborated on his thoughts on the term most recently in
917
- October 2023. This note gives the clearest view of Stallman&amp;rsquo;s preferred
918
- distinction between various sexual crimes:&lt;/p&gt;
919
- &lt;blockquote&gt;
920
- &lt;p&gt;I warned that the stretchable term &amp;ldquo;sexual assault&amp;rdquo;, which extends from grave
921
- crimes such as rape through significant crimes such as groping and down to no
922
- clear lower bound, could be stretched to criminalize minor things, perhaps
923
- even stealing a kiss. Now this has happened.&lt;/p&gt;
924
- &lt;p&gt;What next? Will a pat on the arm or a hug be criminalized? There is no clear
925
- limit to how far this can go, when a group builds up enough outrage to push
926
- it.&lt;/p&gt;
927
- &lt;/blockquote&gt;
928
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://www.stallman.org/archives/2023-sep-dec.html#15_October_2023_(Sexual_assault_for_stealing_a_kiss)"&gt;stallman.org, 15 October 2023, &amp;ldquo;Sexual assault for stealing a kiss&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
929
- &lt;p&gt;From Stallman&amp;rsquo;s statements, we can refine his objection to the term &amp;ldquo;sexual
930
- assault&amp;rdquo;, and sexual behaviors generally, to further suggest that the following
931
- beliefs are held by Stallman on the subject:&lt;/p&gt;
932
- &lt;ul&gt;
933
- &lt;li&gt;Groping and molestation are not sexual assault, but are crimes&lt;/li&gt;
934
- &lt;li&gt;Kissing someone without consent is not sexual assault, furthermore it is not wrong&lt;/li&gt;
935
- &lt;li&gt;Masturbating during a video conference is not wrong if you are not seen doing so&lt;/li&gt;
936
- &lt;li&gt;A 35-year-old man having sex with an 11-year-old girl does not constitute
937
- rape, nor sexual assault, but is in fact conscionable&lt;/li&gt;
938
- &lt;/ul&gt;
939
- &lt;p&gt;The last of these may be covered under Stallman&amp;rsquo;s 2019 retraction, even
940
- accounting for Stallman&amp;rsquo;s unconventional use of the word &amp;ldquo;children&amp;rdquo;.&lt;/p&gt;
941
- &lt;p&gt;Stallman&amp;rsquo;s fixation on the term &amp;ldquo;sexual assault&amp;rdquo; can be understood in his
942
- political notes as having the political aims of eroding the meaning of the
943
- phrase, questioning the boundaries of consent, downplaying the importance of
944
- agency in intimate interactions, appealing for the defense of people accused of
945
- sexual assault, and arguing for sexual relationships between minors and adults
946
- to be normalized. In one notable case, he has used this political angle to rise
947
- to the defense of his friends &amp;ndash; in Stallman&amp;rsquo;s infamous email regarding Marvin
948
- Minsky, he writes the following:&lt;/p&gt;
949
- &lt;blockquote&gt;
950
- &lt;p&gt;The injustice [done to Minsky] is in the word “assaulting”. The term “sexual
951
- assault” is so vague and slippery that it facilitates accusation inflation:
952
- taking claims that someone did X and leading people to think of it as Y, which
953
- is much worse than X.&lt;/p&gt;
954
- &lt;p&gt;(&amp;hellip;)&lt;/p&gt;
955
- &lt;p&gt;The word “assaulting” presumes that he applied force or violence, in some
956
- unspecified way, but the article itself says no such thing. Only that they had
957
- sex.&lt;/p&gt;
958
- &lt;p&gt;We can imagine many scenarios, but the most plausible scenario is that she
959
- presented herself to him as entirely willing. Assuming she was being coerced
960
- by Epstein, he would have had every reason to tell her to conceal that from
961
- most of his associates.&lt;/p&gt;
962
- &lt;p&gt;I’ve concluded from various examples of accusation inflation that it is
963
- absolutely wrong to use the term “sexual assault” in an accusation.&lt;/p&gt;
964
- &lt;/blockquote&gt;
965
- &lt;p&gt;&lt;small&gt;— Excerpt from &lt;a href="https://scribe.rip/medium.com/@selamie/remove-richard-stallman-fec6ec210794"&gt;Selam G&amp;rsquo;s recount of Stallman&amp;rsquo;s email&lt;/a&gt; to MIT Computer Science and Artificial Intelligence Laboratory mailing list, September 2019. Selam&amp;rsquo;s quotation has been corroborated by other sources.
966
- Minsky is, in this context, accused of having had a sexual encounter with a
967
- minor facilitated by convicted child trafficker Ghislaine Maxwell. The original
968
- accusation does not state that this sexual encounter actually occurred; only
969
- that the minor in question was instructed to have sex with Minsky. Minsky would
970
- have been at least 75 years old at the time of the alleged incident; the minor
971
- was 16.
972
- &lt;/small&gt;&lt;/p&gt;
973
- &lt;p&gt;There is an important, but more subtle pattern in Stallman&amp;rsquo;s statements that I
974
- want to draw your attention to here: Stallman appears to have little to no
975
- understanding of the role of power dynamics in sexual harassment, assault, and
976
- rape. Stallman appears to reject the supposition that these acts could occur
977
- without an element of outwardly apparent violent coercion.&lt;/p&gt;
978
- &lt;p&gt;This is most obviously evidenced by his statements regarding the sexual abuse of
979
- minors; most people understand that minors cannot consent to sex even if they
980
- &amp;ldquo;appear willing&amp;rdquo;, in particular because an adult in this situation is exploiting
981
- a difference in experience and maturity to manipulate the child into sexually
982
- satisfying them &amp;ndash; in other words, a power differential. Stallman seems to
983
- reject this understanding of consent in his various defenses of people accused
984
- of sexual impropriety with minors, and in cases where the pretense of consent
985
- cannot be easily established, he offers the perpetrator the benefit of the
986
- doubt.&lt;/p&gt;
987
- &lt;p&gt;We can also find an example of Stallman disregarding power dynamics with respect
988
- to adults in the following political note from 2017:&lt;/p&gt;
989
- &lt;blockquote&gt;
990
- &lt;p&gt;A famous theater director had a habit of pestering women, asking them for sex.&lt;/p&gt;
991
- &lt;p&gt;As far as I can tell from this article, he didn&amp;rsquo;t try to force women into sex.&lt;/p&gt;
992
- &lt;p&gt;When women persistently said no, he does not seem to have tried to punish them.&lt;/p&gt;
993
- &lt;p&gt;The most he did was ask.&lt;/p&gt;
994
- &lt;p&gt;He was a pest, but nothing worse than that.&lt;/p&gt;
995
- &lt;/blockquote&gt;
996
- &lt;p&gt;&lt;small&gt;— &lt;a href="https://web.archive.org/web/20180131020215/https://stallman.org/archives/2017-jul-oct.html#29_October_2017_(Pestering_women)"&gt;stallman.org, 29 October 2017, &amp;ldquo;Pestering women&amp;rdquo;&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
997
- &lt;p&gt;In this case we have an example of &amp;ldquo;quid pro quo&amp;rdquo;, a kind of sexual harassment
998
- which weaponizes power dynamics for sexual gratification. This kind of sexual
999
- harassment is explicitly cited as illegal by Title VII of the US Civil Rights
1000
- Act. A lack of competence in this respect displayed by Stallman, whose position
1001
- in the Free Software Foundation board of directors requires that he act in a
1002
- manner consistent with this law, is alarming.&lt;/p&gt;
1003
- &lt;p&gt;I have identified this blindness to power dynamics as a recurring theme in
1004
- Stallman&amp;rsquo;s comments on sexual abuse, be it with respect to sexual relationships
1005
- between minors and adults, managers and subordinates, students and teachers, or
1006
- public figures and their audience. I note for the reader that Stallman has held
1007
- and currently holds several of these positions of power.&lt;/p&gt;
1008
- &lt;p&gt;In addition to his position as a voting member of the Free Software Foundation&amp;rsquo;s
1009
- Board of Directors, Stallman is still invited to speak at events and
1010
- conferences. &lt;a href="https://github.com/ddol/rre-rms/blob/master/fulltext/20111018.txt"&gt;Stallman&amp;rsquo;s infamous rider&lt;/a&gt; prescribes a number of his
1011
- requirements for attending an event; most of his conditions are relatively
1012
- reasonable, though amusing. In this document, he states his preference for being
1013
- accommodated in private, on a &amp;ldquo;spare couch&amp;rdquo;, when he travels. At these events,
1014
- in these private homes, he may be afforded many opportunities to privacy with
1015
- vulnerable people, including minors that, in his view, can consent to having sex
1016
- with adults.&lt;/p&gt;
1017
- &lt;p&gt;In summary, Stallman has a well-documented and oft-professed set of political
1018
- beliefs which reject the social and legal norms regarding consent. He is not
1019
- simply quietly misled in these beliefs; rather he advocates for these values
1020
- using his political platform. He has issued no meaningful retractions of these
1021
- positions or apologies for harm caused, and has continued to pursue a similar
1022
- agenda since his return to the FSF board of directors.&lt;/p&gt;
1023
- &lt;p&gt;This creates a toxic environment not only in the Free Software Foundation and in
1024
- Stallman&amp;rsquo;s direct purview, but in the broader Free Software movement. The free
1025
- software movement is culturally poisoned by our support of Stallman as our
1026
- ideological leader. The open letter calling for Stallman&amp;rsquo;s removal received
1027
- 3,000 signatures; the counter-letter in support of Stallman received 6,876
1028
- before it stopped accepting submissions.&lt;/p&gt;
1029
- &lt;p&gt;Richard Stallman founded the Free Software Foundation in 1985, and has performed
1030
- innumerable works to the benefit of our community since then. We&amp;rsquo;ve taken
1031
- Stallman&amp;rsquo;s views on software freedom seriously, and they&amp;rsquo;ve led us to great
1032
- achievements. It is to Stallman&amp;rsquo;s credit that the Free Software community is
1033
- larger than one man. However, one&amp;rsquo;s political qualifications to speak about free
1034
- software does not make one qualified to address matters of sex; in this respect
1035
- Stallman&amp;rsquo;s persistence presents as dangerous incompetence.&lt;/p&gt;
1036
- &lt;p&gt;When we consider his speech on sex as a discourse that has been crafted and
1037
- rehearsed methodically over the years, he asks us to consider him seriously, and
1038
- so we must. When we analyze the dangerous patterns in this discourse, we have to
1039
- conclude that he is not fit for purpose in his leadership role, and we must
1040
- acknowledge the shadow that our legitimization of his discourse casts on our
1041
- community.&lt;/p&gt;
1042
- &lt;div class="footnotes" role="doc-endnotes"&gt;
1043
- &lt;hr&gt;
1044
- &lt;ol&gt;
1045
- &lt;li id="fn:1"&gt;
1046
- &lt;p&gt;Stallman consistently refers to police officers as &amp;ldquo;thugs&amp;rdquo; in his
1047
- writing; see Stallman&amp;rsquo;s &lt;a href="https://stallman.org/glossary.html"&gt;Glossary&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
1048
- &lt;/li&gt;
1049
- &lt;/ol&gt;
1050
- &lt;/div&gt;
1051
- </description>
1052
- </item><item>
1053
- <title>Can I be on your podcast?</title>
1054
- <link>https://drewdevault.com/2023/11/09/Can-I-be-on-your-podcast.html</link>
1055
- <pubDate>Thu, 09 Nov 2023 00:00:00 +0000</pubDate>
1056
-
1057
- <guid>https://drewdevault.com/2023/11/09/Can-I-be-on-your-podcast.html</guid>
1058
- <description>&lt;p&gt;I am working on rousing the &lt;a href="https://harelang.org"&gt;Hare&lt;/a&gt; community to get the
1059
- word out about our work. I have drafted the &lt;a href="https://harelang.org/evangelism/"&gt;Hare evangelism&lt;/a&gt; guidelines to
1060
- this effect, which summarizes how we want to see our community bringing Hare to
1061
- more people.&lt;/p&gt;
1062
- &lt;p&gt;We&amp;rsquo;d like to spread the word in a way which is respectful of the attention of
1063
- others &amp;ndash; we&amp;rsquo;re explicitly eschewing unsolicited prompts for projects to
1064
- consider writing/rewriting in Hare, as well as any paid sponsorships or
1065
- advertising. Blog posts about Hare, videos, participating in (organic) online
1066
- discussions &amp;ndash; much better! And one idea we have is to talk about Hare on
1067
- podcasts which might be interested in the project.&lt;/p&gt;
1068
- &lt;p&gt;If that describes your podcast, here&amp;rsquo;s my bold request: can I make an
1069
- appearance?&lt;/p&gt;
1070
- &lt;p&gt;Here are some mini &amp;ldquo;press kits&amp;rdquo; to give you a hook and some information that
1071
- might be useful for preparing an interview.&lt;/p&gt;
1072
- &lt;h2 id="the-hare-programming-language"&gt;The Hare programming language&lt;/h2&gt;
1073
- &lt;blockquote&gt;
1074
- &lt;p&gt;Hare is a systems programming language designed to be simple, stable, and
1075
- robust. Hare uses a static type system, manual memory management, and a
1076
- minimal runtime. It is well-suited to writing operating systems, system tools,
1077
- compilers, networking software, and other low-level, high performance tasks.&lt;/p&gt;
1078
- &lt;/blockquote&gt;
1079
- &lt;p&gt;Hare has been in development since late 2019 and today has about 100
1080
- contributors.&lt;/p&gt;
1081
- &lt;ul&gt;
1082
- &lt;li&gt;&lt;a href="https://harelang.org/"&gt;Official website&lt;/a&gt;&lt;/li&gt;
1083
- &lt;li&gt;&lt;a href="https://sr.ht/~sircmpwn/hare/"&gt;Source code &amp;amp; development resources&lt;/a&gt;&lt;/li&gt;
1084
- &lt;li&gt;&lt;a href="https://spacepub.space/w/ajS983L4cEG82jiiaTYfXv"&gt;&amp;ldquo;Introducing the Hare programming language&amp;rdquo;, video, 2022&lt;/a&gt;&lt;/li&gt;
1085
- &lt;li&gt;GPLv3, MPL 2.0, MIT&lt;/li&gt;
1086
- &lt;/ul&gt;
1087
- &lt;p&gt;&lt;img src="https://harelang.org/mascot.png" alt="A hand-drawn picture of a rabbit"&gt;&lt;/p&gt;
1088
- &lt;p&gt;&lt;em&gt;Hare&amp;rsquo;s official mascot, Harriet. Drawn by Louis Taylor, CC-0&lt;/em&gt;&lt;/p&gt;
1089
- &lt;h2 id="the-ares-operating-system"&gt;The Ares operating system&lt;/h2&gt;
1090
- &lt;p&gt;Ares is an operating system written in Hare which is under development. It
1091
- features a micro-kernel oriented design and runs on x86_64 and aarch64. Its
1092
- design is inspired by the seL4 micro-kernel and Plan 9.&lt;/p&gt;
1093
- &lt;ul&gt;
1094
- &lt;li&gt;&lt;a href="https://ares-os.org/"&gt;Official website&lt;/a&gt;&lt;/li&gt;
1095
- &lt;li&gt;&lt;a href="https://sr.ht/~sircmpwn/helios"&gt;Source code &amp;amp; development resources&lt;/a&gt;&lt;/li&gt;
1096
- &lt;li&gt;&lt;a href="https://spacepub.space/w/wpKXfhqqr7FajEAf4B2Vc2"&gt;&amp;ldquo;Introducing the Helios micro-kernel&amp;rdquo;, video, FOSDEM 2023&lt;/a&gt;&lt;/li&gt;
1097
- &lt;li&gt;GPLv3&lt;/li&gt;
1098
- &lt;/ul&gt;
1099
- &lt;p&gt;&lt;img src="https://files.catbox.moe/a4g9my.jpg" alt="A photo of a laptop running the Ares operating system"&gt;&lt;/p&gt;
1100
- &lt;p&gt;&lt;em&gt;A picture of a ThinkPad running Ares and demonstrating some features&lt;/em&gt;&lt;/p&gt;
1101
- &lt;h2 id="himitsu-a-secret-storage-system"&gt;Himitsu: a secret storage system&lt;/h2&gt;
1102
- &lt;blockquote&gt;
1103
- &lt;p&gt;Himitsu is a secure secret storage system for Unix-like systems. It provides
1104
- an arbitrary key/value store (where values may be secret) and a query language
1105
- for manipulating the key store.&lt;/p&gt;
1106
- &lt;/blockquote&gt;
1107
- &lt;p&gt;Himitsu is written in Hare.&lt;/p&gt;
1108
- &lt;ul&gt;
1109
- &lt;li&gt;&lt;a href="https://himitsustore.org/"&gt;Official website&lt;/a&gt;&lt;/li&gt;
1110
- &lt;li&gt;&lt;a href="https://sr.ht/~sircmpwn/himitsu"&gt;Source code &amp;amp; development resources&lt;/a&gt;&lt;/li&gt;
1111
- &lt;li&gt;&lt;a href="https://himitsustore.org/intro.mp4"&gt;Video tour&lt;/a&gt;&lt;/li&gt;
1112
- &lt;li&gt;GPLv3&lt;/li&gt;
1113
- &lt;/ul&gt;
1114
- &lt;h2 id="interested"&gt;Interested?&lt;/h2&gt;
1115
- &lt;p&gt;If any of these topics are relevant for your podcast and you&amp;rsquo;d like to talk
1116
- about them, please reach out to me via email: &lt;a href="mailto:sir@cmpwn.com"&gt;sir@cmpwn.com&lt;/a&gt;&lt;/p&gt;
1117
- &lt;p&gt;Thanks!&lt;/p&gt;
1118
- </description>
1119
- </item><item>
1120
- <title>On "real name" policies</title>
1121
- <link>https://drewdevault.com/2023/10/31/On-real-names.html</link>
1122
- <pubDate>Tue, 31 Oct 2023 00:00:00 +0000</pubDate>
1123
-
1124
- <guid>https://drewdevault.com/2023/10/31/On-real-names.html</guid>
1125
- <description>&lt;p&gt;Some free software projects reject anonymous or pseudonymous contributions,
1126
- requiring you to author patches using your &amp;ldquo;real name&amp;rdquo;. Such projects have a
1127
- so-called &amp;ldquo;real name&amp;rdquo; policy; Linux is one well-known example.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
1128
- &lt;p&gt;The root motivations behind such policies vary, but in my experience the most
1129
- often cited rationale is that it&amp;rsquo;s important to establish the provenance of the
1130
- contribution for copyright reasons. In the case of Linux, contributors are asked
1131
- to &amp;ldquo;sign-off&amp;rdquo; their commits to indicate their agreement to the terms of the
1132
- Developer Certificate of Origin (DCO), which includes clauses like the
1133
- following:&lt;/p&gt;
1134
- &lt;blockquote&gt;
1135
- &lt;p&gt;The contribution was created in whole or in part by me and I have the right to
1136
- submit it under the open source license indicated in the file.&lt;/p&gt;
1137
- &lt;/blockquote&gt;
1138
- &lt;p&gt;To some extent, the DCO serves as a legal assertion of copyright and an
1139
- agreement to license a work under given copyright terms (GPLv2 in the case of
1140
- Linux). This record also means that the author of the code is accountable in
1141
- case the copyright is challenged; in the case of an anonymous or pseudonymous
1142
- contributor you&amp;rsquo;re shit out of luck. At that point, liability over the
1143
- disagreement would likely fall into the hands of the maintainer that accepted
1144
- the contribution. It is reasonable for a maintainer to ask a contributor to
1145
- assert their copyright and accept liability over the provenance of their code in
1146
- a legally meaningful and accountable form.&lt;/p&gt;
1147
- &lt;p&gt;The possibility that someone may have something useful to offer to a free
1148
- software project, but is not comfortable disclosing their name for any number of
1149
- reasons, is a reasonable supposition. A maintainer whose &amp;ldquo;real name&amp;rdquo; policy is
1150
- challenged on this basis would also be reasonable in saying &amp;ldquo;I feel for you, but
1151
- I cannot agree to accept legal liability over the provenance of this code,
1152
- nor can I communicate that risk to end-users who acquire code under a license
1153
- that may or may not be valid as such&amp;rdquo;.&lt;/p&gt;
1154
- &lt;p&gt;&amp;ldquo;Real name&amp;rdquo; policies are controversial in the free software community. I open
1155
- with this perspective in an attempt to cool down the room. Those who feel
1156
- marginalized by &amp;ldquo;real name&amp;rdquo; policies often skew young, and many treat matters
1157
- such as copyright and licensing with disdain. Moreover, the problem tends to
1158
- inflame deeply hurtful sentiments and raise thorny matters of identity and
1159
- discrimination, and it&amp;rsquo;s easy to construe the intent of the policymakers as the
1160
- intent to cause harm. The motivations behind these policies are reasonable.&lt;/p&gt;
1161
- &lt;p&gt;That said, intent or otherwise, these policies can cause harm. The profile of
1162
- the contributor who is comfortable using their &amp;ldquo;real name&amp;rdquo; is likely to fall
1163
- more narrowly into over-represented demographics in our community; enforcing a
1164
- real-name policy will ostracize some people. Those with marginalized identities
1165
- tend to be less comfortable with disclosing their &amp;ldquo;real name&amp;rdquo;. Someone who has
1166
- been subject to harassment may not be comfortable with this disclosure, since it
1167
- offers more fuel to harassers keeping tabs on their activities. The use of a
1168
- &amp;ldquo;real name&amp;rdquo; also confers a gender bias; avoiding a &amp;ldquo;real name&amp;rdquo; policy neatly
1169
- eliminates discrimination on this basis. Of course, there are also many
1170
- &lt;a href="https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/"&gt;falsehoods programmers believe about names&lt;/a&gt; which can present in the
1171
- implementation of such a policy.&lt;/p&gt;
1172
- &lt;p&gt;There is also one particular problem which has been at the heart of conflict
1173
- surrounding the use of &amp;ldquo;real-name&amp;rdquo; policies in free software: transgender
1174
- identities. A transgender person is likely to change their name in the process
1175
- of assuming their new identity. When this happens, their real name changes.
1176
- However, it may or may not match their legal name &amp;ndash; some trans people opt to
1177
- change it, others don&amp;rsquo;t; if they do it is a process that takes time. Meanwhile,
1178
- addressing a trans person by their old name, or &amp;ldquo;deadname&amp;rdquo;, is highly
1179
- uncomfortable. Doing so deliberately, as a matter of policy or otherwise, is a
1180
- form of discrimination. Many trans people experience deliberate &amp;ldquo;deadnaming&amp;rdquo; as
1181
- a form of harassment in their daily lives, and institutionalizing this behavior
1182
- is cruel.&lt;/p&gt;
1183
- &lt;p&gt;The truth is, managing the names of participants is more challenging than anyone
1184
- would like. On the one hand, names establish accountability and facilitate
1185
- collaboration, and importantly, credit the authors of a work for services
1186
- performed. On the other hand, names are highly personal and deeply affecting,
1187
- and their usage and changes over time are the subject of important consideration
1188
- at the discretion of their owner. A complicating factor is that handling names
1189
- properly introduces technical problems which must be overcome.&lt;/p&gt;
1190
- &lt;p&gt;To embrace the advantages of &amp;ldquo;real name&amp;rdquo; policies &amp;ndash; establishing provenance,
1191
- encouraging accountability, fostering a social environment &amp;ndash; without causing
1192
- harm, the approach I have settled on for my projects is to use the DCO to
1193
- establish provenance and encourage contributors to sign-off and participate
1194
- under the identity they feel most comfortable with. I encourage people to
1195
- utilize an identity they use beyond the project&amp;rsquo;s walls, to foster a social
1196
- environment and a connection to the broader community, to establish
1197
- accountability, and to ensure that participants are reachable for further
1198
- discussion on their work. If a contributor&amp;rsquo;s identity changes, we make every
1199
- effort to support this change in contemporary, future, and historical use.&lt;/p&gt;
1200
- &lt;div class="footnotes" role="doc-endnotes"&gt;
1201
- &lt;hr&gt;
1202
- &lt;ol&gt;
1203
- &lt;li id="fn:1"&gt;
1204
- &lt;p&gt;A &lt;a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d4563201f33a022fc0353033d9dfeb1606a88330"&gt;change to Linux policy&lt;/a&gt; earlier this year refines their approach to
1205
- alleviate the concerns raised in this article.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
1206
- &lt;/li&gt;
1207
- &lt;/ol&gt;
1208
- &lt;/div&gt;
1209
- </description>
1210
- </item><item>
1211
- <title>Going off-script</title>
1212
- <link>https://drewdevault.com/2023/10/13/Going-off-script.html</link>
1213
- <pubDate>Fri, 13 Oct 2023 00:00:00 +0000</pubDate>
1214
-
1215
- <guid>https://drewdevault.com/2023/10/13/Going-off-script.html</guid>
1216
- <description>&lt;p&gt;There is a phenomenon in society which I find quite bizarre. Upon our entry to
1217
- this mortal coil, we are endowed with self-awareness, agency, and free will.
1218
- Each of the 8 billion members of this human race represents a unique person, a
1219
- unique worldview, and a unique agency. Yet, many of us have the same fundamental
1220
- goals and strive to live the same life.&lt;/p&gt;
1221
- &lt;p&gt;I think of such a life experiences as &amp;ldquo;following the script&amp;rdquo;. Society lays down
1222
- for us a framework for living out our lives. Everyone deviates from the script
1223
- to some extent, but most people hit the important beats. In Western society,
1224
- these beats are something like, go to school, go to college, get a degree, build
1225
- a career, get married, have 1.5 children, retire to Florida, die.&lt;/p&gt;
1226
- &lt;p&gt;There are a number of reasons that someone may deviate from the script. The most
1227
- common case is that the deviations are imposed by circumstance. A queer person
1228
- will face discrimination, for instance, in marriage, or in adopting and raising
1229
- children. Someone born into the lower class will have reduced access to higher
1230
- education and their opportunities for career-building are curtailed accordingly;
1231
- similar experiences follow for people from marginalized groups. Furthermore,
1232
- more and more people who might otherwise be able to follow the script are
1233
- finding that they can&amp;rsquo;t afford a home and don&amp;rsquo;t have the resources to build a
1234
- family.&lt;/p&gt;
1235
- &lt;p&gt;There are nevertheless many people who are afforded the opportunity to follow
1236
- the script, and when they do so, they often experience something resembling a
1237
- happy and fulfilling life. Generally this is not the result of a deliberate
1238
- choice &amp;ndash; no one was presented with the script and asked &amp;ldquo;is this what you
1239
- want&amp;rdquo;? Each day simply follows the last and you make the choices that correspond
1240
- with what you were told a good life looks like, and sometimes a good life
1241
- follows.&lt;/p&gt;
1242
- &lt;p&gt;Of course, it is entirely valid to want the &amp;ldquo;scripted&amp;rdquo; life. But you were not
1243
- asked if you wanted it: it was just handed to you on a platter. The average
1244
- person lacks the philosophical background which underpins their worldview and
1245
- lifestyle, and consequently cannot explain &lt;em&gt;why&lt;/em&gt; it&amp;rsquo;s &amp;ldquo;good&amp;rdquo;, for them or
1246
- generally. Consider your career. You were told that it was a desirable thing to
1247
- build for yourself, and you understand how to execute your duties as a member of
1248
- the working class, but can you explain why those duties are important and why
1249
- you should spend half of your waking life executing them? Of course, if you are
1250
- good at following the script, you are rewarded for doing so, generally with
1251
- money, but not necessarily with self-actualization.&lt;/p&gt;
1252
- &lt;p&gt;This state of affairs leads to some complex conflicts. This approach to life
1253
- favors the status quo and preserves existing power structures, which explains in
1254
- part why it is re-enforced by education and broader social pressures. It also
1255
- leads to a sense of learned helplessness, a sense that this is the only way
1256
- things can be, which reduces the initiative to pursue social change &amp;ndash; for
1257
- example, by forming a union.&lt;/p&gt;
1258
- &lt;p&gt;It can also be uncomfortable to encounter someone who does not follow the
1259
- script, or even questions the script. You may be playing along, and mostly or
1260
- entirely exposed to people who play along. Meeting someone who doesn&amp;rsquo;t &amp;ndash; they
1261
- skipped college, they don&amp;rsquo;t want kids, they practice polyamory, they identify as
1262
- a gender other than what you presumed, etc &amp;ndash; this creates a moment of
1263
- dissonance and often resistance. This tends to re-enforce biases and can even
1264
- present as inadvertent micro-aggressions.&lt;/p&gt;
1265
- &lt;p&gt;I think it&amp;rsquo;s important to question the script, even if you decide that you like
1266
- it. You should be able to explain &lt;em&gt;why&lt;/em&gt; you like it. This process of questioning
1267
- is a radical act. A radical, in its non-pejorative usage, is born when someone
1268
- questions their life and worldview, decides that they want something else, and
1269
- seeks out others who came to similar conclusions. They organize, they examine
1270
- their discomfort and put it to words, and they share these words in the hope
1271
- that they can explain a similar discomfort that others might feel within
1272
- themselves. Radical movements, which by definition is any movement which
1273
- challenges the status quo, are the stories of the birth and spread of radical
1274
- ideas.&lt;/p&gt;
1275
- &lt;p&gt;Ask yourself: who are you? Did you choose to be this person? Who do you want to
1276
- be, and how will you become that person? Should you change your major? Drop out?
1277
- Quit your job, start a business, found a labor union? Pick up a new hobby? Join
1278
- or establish a social club? An activist group? Get a less demanding job, move
1279
- into a smaller apartment, and spend more time writing or making art? However you
1280
- choose to live, choose it deliberately.&lt;/p&gt;
1281
- &lt;p&gt;The next step is an exercise in solidarity. How do you feel about others who
1282
- made their own choices, choices which may be alike or different to your own?
1283
- Or those whose choices were constrained by their circumstances? What can you do
1284
- together that you couldn&amp;rsquo;t do alone?&lt;/p&gt;
1285
- &lt;p&gt;Who do you want to be? Do you know?&lt;/p&gt;
1286
- </description>
1287
- </item><item>
1288
- <title>The forbidden topics</title>
1289
- <link>https://drewdevault.com/2023/09/29/The-forbidden-topics.html</link>
1290
- <pubDate>Fri, 29 Sep 2023 00:00:00 +0000</pubDate>
1291
-
1292
- <guid>https://drewdevault.com/2023/09/29/The-forbidden-topics.html</guid>
1293
- <description>&lt;p&gt;There are forbidden topics in the hacker community. One is sternly reprimanded
1294
- for bringing them up, by their peers, their leaders, and the community at large.
1295
- In private, one can expect threats and intimidation; in public, outcry and
1296
- censorship. The forbidden topics are enforced by the moderators of our spaces,
1297
- taken off of forums, purged from chat rooms, and cleaned up from GitHub issues
1298
- and mailing lists; the ban-hammers fall swiftly and resolutely. My last article
1299
- to touch these subjects was removed from Hacker News by the moderators within 30
1300
- minutes and landed several death threats in my inbox. The forbidden topics, when
1301
- raised, are met with a resounding, aggressive dismissal and unconditional
1302
- condemnation.&lt;/p&gt;
1303
- &lt;p&gt;Some years ago, the hacker community possessed near-unanimous praise for the
1304
- ideals of free speech; the hacker position was generally that of what we would
1305
- now understand as &amp;ldquo;radical&amp;rdquo; free speech, which is to say the kind of &amp;ldquo;shout
1306
- &amp;lsquo;fire&amp;rsquo; in a crowded movie theater&amp;rdquo; radical, but more specifically the kind that
1307
- tolerates hate speech. The popular refrain went, &amp;ldquo;I disapprove of what you say,
1308
- but I will defend to the death your right to say it&amp;rdquo;. Many hackers hold this as
1309
- a virtue to this day. I once held this as a virtue for myself.&lt;/p&gt;
1310
- &lt;p&gt;However, this was a kind of free speech which was unconsciously contingent on
1311
- being used for speech with which the listener was comfortable. The hacker
1312
- community at this time was largely homogeneous, and as such most of the speech
1313
- we were exposed to was of the comfortable sort. As the world evolved around us,
1314
- and more people found their voice, this homogeneity began to break down. Critics
1315
- of radical free speech, victims of hate speech, and marginalized people of
1316
- all kinds began to appear in hacker communities. The things they had to say were
1317
- not comfortable.&lt;/p&gt;
1318
- &lt;p&gt;The free speech absolutists among the old guard, faced with this discomfort,
1319
- developed a tendency to defend hate speech and demean speech that challenged
1320
- them. They were not the target of the hate, so it did not make them personally
1321
- uncomfortable, and defending it would maintain the pretense of defending free
1322
- speech, of stalwartly holding the line on a treasured part of their personal
1323
- hacker ethic. Speech which challenged their preconceptions and challenged their
1324
- power structures was not so easily acceptable. The pretense is dropped and they
1325
- lash out in anger, calling for the speakers to be excluded from our communities.&lt;/p&gt;
1326
- &lt;p&gt;Some of the once-forbidden topics are becoming less so. There are carefully
1327
- chalked-out spaces where we can talk about them, provided they are not too
1328
- challenging, such as LGBTQ identities or the struggles of women in our spaces.
1329
- Such discussions are subject to careful management by our leaders and
1330
- moderators, to the extent necessary to preserve power structures. Those who
1331
- speak on these topics are permitted to do so relatively free of retaliation
1332
- provided that they speak from a perspective of humility, a voice that &amp;ldquo;knows its
1333
- place&amp;rdquo;. Any speech which suggests that the listener may find themselves subject
1334
- to a non-majority-conforming person in a position of power, or even that of a
1335
- peer, will have crossed the line; one must speak as a victim seeking the pity
1336
- and grace of your superiors to be permitted space to air your grievances.&lt;/p&gt;
1337
- &lt;p&gt;Similarly, space is made for opposition to progressive speech, again moderated
1338
- only insofar as it is necessary to maintain power structures. Some kinds of
1339
- overt hate speech may rouse a response from our leaders, but those who employ a
1340
- more subtle approach are permitted their voice. Thus, both progressive speech
1341
- and hate speech are permitted within a carefully regulated framework of power
1342
- preservation.&lt;/p&gt;
1343
- &lt;p&gt;Some topics, however, remain strictly forbidden.&lt;/p&gt;
1344
- &lt;p&gt;Our community has persistent and pervasive problems of a particular sort which
1345
- we are not allowed to talk about: sexual harassment and assault. Men who
1346
- assault, harass, and even rape women in our spaces, are protected. A culture of
1347
- silence is enforced, and those who call out rape, sexual assault, or harassment,
1348
- those who criticise they who enable and protect these behaviors, are punished,
1349
- swiftly and aggressively.&lt;/p&gt;
1350
- &lt;p&gt;Men are terrified of these kinds of allegations. It seems like a life sentence:
1351
- social ostracization, limited work opportunities, ruined relationships. We may
1352
- have events in our past that weigh on our conscience; was she too drunk, did she
1353
- clearly consent, did she regret it in the morning? Some of us have events in our
1354
- past that we try not to think about, because if we think too hard, we might
1355
- realize that we crossed the line. This fills men with guilt and uncertainty, but
1356
- also fear. We know the consequences if our doubts became known.&lt;/p&gt;
1357
- &lt;p&gt;So we lash out in this fear. We close ranks. We demand the most stringent
1358
- standards of evidence to prove anything, evidence that we know is not likely to
1359
- be there. We refuse to believe that our friends were not the men we thought they
1360
- were, or to confront that we might not be ourselves. We demand due process under
1361
- the law, we say they should have gone to the police, that they can&amp;rsquo;t make
1362
- accusations of such gravity without hard proof. Think of the alleged
1363
- perpetrator; we can&amp;rsquo;t ruin their lives over frivolous accusations.&lt;/p&gt;
1364
- &lt;p&gt;For victims, the only recourse permitted by society is to suffer in silence.
1365
- Should they speak, victims are subject to similar persecutions: they are
1366
- ostracized, struggle to work, and lose their relationships. They have to manage
1367
- the consequences of a traumatic experience with support resources which are
1368
- absent or inadequate. Their trauma is disbelieved, their speech is punished, and
1369
- their assailants walk free among us as equals while they are subject to
1370
- retaliatory harassment or worse.&lt;/p&gt;
1371
- &lt;p&gt;Victims have no recourse which will satisfy men. Reporting a crime is traumatic,
1372
- especially one of this nature. I have heard many stories of disbelief from the
1373
- authorities, disbelief in the face of overwhelming evidence. They were told it
1374
- was their fault. They were told they should have been in a different place, or
1375
- wearing something else, or should have simply been a different person. It&amp;rsquo;s
1376
- their fault, not the aggressor&amp;rsquo;s. It&amp;rsquo;s about what they, the victim, should
1377
- have done differently, never mind what the perpetrator should have done
1378
- differently. It&amp;rsquo;s estimated that less than 1% of rapes end with the rapist in
1379
- jail&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; &amp;ndash; the remainder go unreported, unprosecuted or fail after years of
1380
- traumatic legal proceedings for the victims. The legal system does not provide
1381
- justice: it exacerbates harm. A hacker will demand this process is completed
1382
- before they will seek justice, or allow justice to be sought. Until then, we
1383
- will demand silence, and retaliate if our demands are not met.&lt;/p&gt;
1384
- &lt;p&gt;The strict standards of evidence required by the justice system are there
1385
- because of the state monopoly on violence: a guilty verdict in a crime will lead
1386
- to the imprisonment of the accused. We have no such recourse available in
1387
- private, accordingly there is no need to hold ourselves to such standards. Our
1388
- job is not to punish the accused, but rather to keep our communities safe. We
1389
- can establish the need to take action to whatever standard &lt;em&gt;we&lt;/em&gt; believe is
1390
- sufficient, and by setting these standards as strict as the courts we will fail
1391
- to resolve over 99% of the situations with which we are faced &amp;ndash; a standard
1392
- which is clearly not sufficient to address the problem. I&amp;rsquo;m behind you if you
1393
- want to improve the justice system in this regard, but not if you set this as a
1394
- blocker to seeking any justice at all. What kind of hacker puts their faith in
1395
- authority?&lt;/p&gt;
1396
- &lt;p&gt;I find the state of affairs detestable. The hypocrisy of the free speech
1397
- absolutist who demands censorship of challenging topics. The fact that the
1398
- famous hacker curiosity can suddenly dry up if satisfying it would question our
1399
- biases and preconceptions. The complicity of our moderators in censoring
1400
- progressive voices in the defense of decorum and the status quo. The duplicitous
1401
- characterization of &amp;ldquo;polite&amp;rdquo; hate speech as acceptable in our communities. Our
1402
- failure to acknowledge our own shortcomings, our fear of seeing the &amp;ldquo;other&amp;rdquo; in a
1403
- position of power, and the socially enforced ignorance of the &amp;ldquo;other&amp;rdquo; that
1404
- naturally leads to failing to curtail discrimination and harassment in our
1405
- communities. The ridiculously high standard of evidence we require from victims,
1406
- who simply ask for our &lt;em&gt;belief&lt;/em&gt; at a minimum, before we&amp;rsquo;ll consider doing
1407
- anything about their grievance, if we could even be convinced in the first
1408
- place.&lt;/p&gt;
1409
- &lt;p&gt;Meanwhile, the problems that these forbidden topics seek to discuss are present
1410
- in our community. That includes the &amp;ldquo;polite&amp;rdquo; problems, such as the conspicuous
1411
- lack of diversity in our positions of power, which may be discussed and
1412
- commiserated only until someone suggests doing something about it; and also the
1413
- impolite problems up to and including the protection of the perpetrators of
1414
- sexual harassment, sexual assault, and, yes, rape.&lt;/p&gt;
1415
- &lt;p&gt;Most hackers live under the comfortable belief that it &amp;ldquo;can&amp;rsquo;t happen here&amp;rdquo;, but
1416
- it can and it does. I attended a hacker event this year &amp;ndash; HiP Berlin &amp;ndash; where I
1417
- discovered that some of the organizers had cooperated to make it possible for
1418
- multiple known rapists to participate, working together to find a way to
1419
- circumvent the event&amp;rsquo;s code of conduct &amp;ndash; a document that they were tasked with
1420
- enforcing. One of the victims was in attendance, believing the event to be safe.
1421
- At every hacker event I have attended in recent memory, I have personally
1422
- witnessed or heard stories of deeply problematic behavior and protection for its
1423
- perpetrators from the leadership.&lt;/p&gt;
1424
- &lt;p&gt;Our community has problems, important problems, that every hacker should care
1425
- about, and we need the bravery and humility to face them, not the cowardice to
1426
- retaliate against those who speak up. Talk to, listen to, and believe your peers
1427
- and their stories. Stand up for what&amp;rsquo;s right, and speak out when you see
1428
- something that isn&amp;rsquo;t. Demand that your leaders and moderators do the right
1429
- thing. Make a platform where people can safely speak about what our community
1430
- needs to do right by them, and have the courage to listen to them and confront
1431
- yourself.&lt;/p&gt;
1432
- &lt;p&gt;You need to be someone who will &lt;em&gt;do something about it&lt;/em&gt;.&lt;/p&gt;
1433
- &lt;hr&gt;
1434
- &lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: Case in point: this post was quietly removed by Hacker News moderators
1435
- within 40 minutes of its submission.&lt;/p&gt;
1436
- &lt;div class="footnotes" role="doc-endnotes"&gt;
1437
- &lt;hr&gt;
1438
- &lt;ol&gt;
1439
- &lt;li id="fn:1"&gt;
1440
- &lt;p&gt;&lt;a href="https://www.rainn.org/statistics/criminal-justice-system"&gt;Criminal Justice System statistics, RAINN&lt;/a&gt;&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
1441
- &lt;/li&gt;
1442
- &lt;/ol&gt;
1443
- &lt;/div&gt;
1444
- </description>
1445
- </item><item>
1446
- <title>Hyprland is a toxic community</title>
1447
- <link>https://drewdevault.com/2023/09/17/Hyprland-toxicity.html</link>
1448
- <pubDate>Sun, 17 Sep 2023 00:00:00 +0000</pubDate>
1449
-
1450
- <guid>https://drewdevault.com/2023/09/17/Hyprland-toxicity.html</guid>
1451
- <description>&lt;p&gt;&lt;a href="https://hyprland.org/"&gt;Hyprland&lt;/a&gt; is an open source Wayland compositor based on &lt;a href="https://gitlab.freedesktop.org/wlroots/wlroots"&gt;wlroots&lt;/a&gt;, a
1452
- project I started back in 2017 to make it easier to build good Wayland
1453
- compositors. It&amp;rsquo;s a project which is loved by its users for its emphasis on
1454
- customization and &amp;ldquo;eye candy&amp;rdquo; &amp;ndash; beautiful graphics and animations, each
1455
- configuration tailored to the unique look and feel imagined by the user who
1456
- creates it. It&amp;rsquo;s a very exciting project!&lt;/p&gt;
1457
- &lt;p&gt;Unfortunately, the effect is spoilt by an incredibly toxic and hateful
1458
- community. I cannot recommend Hyprland to anyone who is not prepared to steer
1459
- well clear of its community spaces. Imagine a high school boys&amp;rsquo; locker room come
1460
- to life on Discord and GitHub and you&amp;rsquo;ll get an idea of what it&amp;rsquo;s like.&lt;/p&gt;
1461
- &lt;p&gt;I became aware of the issues with Hyprland&amp;rsquo;s community after details of numerous
1462
- hateful incidents on their Discord came to my attention by way of the
1463
- grapevine. Most of them stem from the community&amp;rsquo;s tolerance of hate: community
1464
- members are allowed to express hateful views with impunity, up to and including
1465
- astonishing views such as endorsements of eugenics and calls for hate-motivated
1466
- violence. Such comments are treated as another act in the one big inside joke
1467
- that is the Hyprland community &amp;ndash; the community prefers not to take itself &amp;ldquo;too
1468
- seriously&amp;rdquo;. Hate is moderated only if it is &amp;ldquo;disruptive&amp;rdquo; (e.g. presents as
1469
- spam), but hate presented with a veneer of decorum (or sarcasm) is tolerated,
1470
- and when challenged, it&amp;rsquo;s laughed off as a joke.&lt;/p&gt;
1471
- &lt;p&gt;In one particular incident, the moderators of the Discord server engaged in a
1472
- harassment campaign against a transgender user, including using their moderator
1473
- privileges to edit the pronouns in their username from &amp;ldquo;they/she&amp;rdquo; to
1474
- &amp;ldquo;who/cares&amp;rdquo;. These roles should be held by trusted community leaders, and it&amp;rsquo;s
1475
- from their behavior that the community&amp;rsquo;s culture and norms stem &amp;ndash; they set an
1476
- example for the community and define what behaviors are acceptable or expected.
1477
- The problem comes from the top down.&lt;/p&gt;
1478
- &lt;p&gt;Someone recently pitched a code of conduct &amp;ndash; something that this project sorely
1479
- needs &amp;ndash; in a &lt;a href="https://web.archive.org/web/20230917015135/https://github.com/hyprwm/Hyprland/issues/3209"&gt;GitHub issue&lt;/a&gt;. This thread does not have much overt hate, but
1480
- it does clearly show how callous and just plain &lt;em&gt;mean&lt;/em&gt; the community is,
1481
- including its leadership (Vaxerski is the original author of Hyprland).
1482
- Everything is a joke and anyone who wants to be &amp;ldquo;serious&amp;rdquo; about anything is
1483
- mercilessly bullied and made fun of. Quoting this discussion:&lt;/p&gt;
1484
- &lt;blockquote&gt;
1485
- &lt;p&gt;I think [a Code of Conduct] is pretty discriminatory towards people that
1486
- prefer a close, hostile, homogeneous, exclusive, and unhealthy community.&lt;/p&gt;
1487
- &lt;/blockquote&gt;
1488
- &lt;blockquote&gt;
1489
- &lt;p&gt;First of all, why would I pledge to uphold any values? Seems like just
1490
- inconveniencing myself. [&amp;hellip;] If I&amp;rsquo;d want to moderate, I&amp;rsquo;d spend 90% of the
1491
- time reading kids arguing about bullshit instead of coding.&lt;/p&gt;
1492
- &lt;/blockquote&gt;
1493
- &lt;blockquote&gt;
1494
- &lt;p&gt;If you don&amp;rsquo;t know how to behave without a wall of text explaining how to
1495
- behave online then you shouldn&amp;rsquo;t be online.&lt;/p&gt;
1496
- &lt;/blockquote&gt;
1497
- &lt;p&gt;I am not someone who believes all projects need a code of conduct, &lt;em&gt;if&lt;/em&gt; there
1498
- exists a reasonable standard of conduct in its absence &amp;ndash; and that means having
1499
- a community that does not bully and harass others for expressing differing
1500
- points of view, let alone for simply having a marginalized identity.&lt;/p&gt;
1501
- &lt;p&gt;I would have preferred to address these matters in private, so I reached out to
1502
- Vaxry in February. He responded with a lack of critical awareness over how
1503
- toxicity presents in his community. However, following my email, he put out a
1504
- poll for the Discord community to see if the community members experienced
1505
- harassment in the community &amp;ndash; apparently 40% of respondents reported such
1506
- experiences. Vaxry et al implemented new moderation policies as a result. But
1507
- these changes did not seem to work: the problems are still present, and the
1508
- community is still a toxic place that facilitates bullying and hate, including
1509
- from the community leaders.&lt;/p&gt;
1510
- &lt;p&gt;Following my email conversation with Vaxry, he appeared on &lt;a href="https://invidious.mnus.de/watch?v=nskemNa_Kn4"&gt;a podcast&lt;/a&gt; to
1511
- discuss toxicity in the Hyprland community. This quote from the interview
1512
- clearly illustrates the attitude of the leadership:&lt;/p&gt;
1513
- &lt;blockquote&gt;
1514
- &lt;p&gt;[A trans person] joined the Discord server and made a big deal out of their
1515
- pronouns [..] because they put their pronouns in their nickname and made a big
1516
- deal out of them because people were referring to them as &amp;ldquo;he&amp;rdquo; [misgendering
1517
- them], which, on the Internet, let&amp;rsquo;s be real, is the default. And so, one
1518
- of the moderators changed the pronouns in their nickname to &amp;ldquo;who/cares&amp;rdquo;. [&amp;hellip;]
1519
- Let&amp;rsquo;s be real, this isn&amp;rsquo;t like, calling someone the N-word or something.&lt;/p&gt;
1520
- &lt;/blockquote&gt;
1521
- &lt;p&gt;Later he describes a more moderated community (the /r/unixporn discord server)
1522
- as having an environment in which everyone is going to &amp;ldquo;lick your butthole just
1523
- to be nice&amp;rdquo;. He compared himself to &lt;a href="https://en.wikipedia.org/wiki/Terry_A._Davis"&gt;Terry Davis&lt;/a&gt;, the late operating system
1524
- developer whose struggles with mental illness were broadcast for the world to
1525
- see, citing a video in which he answers a phone call and refers to the person on
1526
- the phone by the N-word &amp;ldquo;ten times&amp;rdquo; &amp;ndash; Vaxry compares this to his approach to
1527
- answering &amp;ldquo;stupid questions&amp;rdquo;.&lt;/p&gt;
1528
- &lt;p&gt;It really disappoints me to see such an exciting project brought low by a
1529
- horribly mismanaged community of hate and bullying. Part of what makes open
1530
- source software great is that it&amp;rsquo;s great for everyone. It&amp;rsquo;s unfortunate that
1531
- someone can discover this cool project, install it and play with it and get
1532
- excited about it, then join the community to find themselves at the wrong end of
1533
- this behavior. No one deserves that.&lt;/p&gt;
1534
- &lt;p&gt;I empathise with Vaxry. I remember being young, smart, productive&amp;hellip; and mean. I
1535
- did some cool stuff, but I deeply regret the way I treated people. It wasn&amp;rsquo;t
1536
- really my fault &amp;ndash; I was a product of my environment &amp;ndash; but it was my
1537
- responsibility. Today, I&amp;rsquo;m proud to have built many welcoming communities, where
1538
- people are rewarded for their involvement, rather than coming away from their
1539
- experience hurt. What motivates us to build and give away free software if not
1540
- bringing joy to ourselves and others? Can we be proud of a community which
1541
- brings more suffering into the world?&lt;/p&gt;
1542
- &lt;p&gt;&lt;strong&gt;My advice to the leadership&lt;/strong&gt; begins with taking a serious look in the mirror.
1543
- This project needs a &amp;ldquo;come to Jesus&amp;rdquo; moment. Ask yourself what kind of community
1544
- you can be proud of &amp;ndash; can you be proud of a community that people walk away
1545
- from feeling dejected and hurt? Yours is not a community that brings people joy.
1546
- What are you going to do about it?&lt;/p&gt;
1547
- &lt;p&gt;A good start will be to consider the code of conduct proposal seriously, but a
1548
- change of attitude is also required. &lt;a href="mailto:sir@cmpwn.com"&gt;My inbox&lt;/a&gt; is open to any of the
1549
- leaders in this project (or any other project facing similar problems) if you
1550
- want to talk. I&amp;rsquo;m happy to chat with you in good faith and help you understand
1551
- what&amp;rsquo;s needed and why it&amp;rsquo;s important.&lt;/p&gt;
1552
- &lt;p&gt;To members of the &lt;strong&gt;Hyprland community&lt;/strong&gt;, I want each of you to personally step
1553
- up to make the community better. If you see hate and bullying, don&amp;rsquo;t stay
1554
- silent. This is a community which proclaims to value radical free speech: test
1555
- it by using your speech to argue against hate. Participate in the community as
1556
- you think it should be, not as it necessarily is, and change will follow. If you
1557
- are sensitive to hate, or a member of a marginalized group, however, I would
1558
- just advise steering clear of Hyprland until the community improves.&lt;/p&gt;
1559
- &lt;p&gt;If the leadership fails to account for these problems, it will be up to the
1560
- community to take their activity elsewhere. You could set up adjacent
1561
- communities which are less toxic, or fork the software, or simply choose to use
1562
- something else.&lt;/p&gt;
1563
- &lt;p&gt;To the &lt;strong&gt;victims of harassment&lt;/strong&gt;, I offer my sincere condolences. I know how
1564
- hard it is to be the subject of this kind of bullying. You don&amp;rsquo;t deserve to be
1565
- treated like this. There are many places in the free software community where
1566
- you are welcome and celebrated &amp;ndash; Hyprland is &lt;em&gt;not&lt;/em&gt; the norm. If you need
1567
- support, I&amp;rsquo;m &lt;a href="mailto:sir@cmpwn.com"&gt;always available&lt;/a&gt; to listen to your struggles.&lt;/p&gt;
1568
- &lt;p&gt;To everyone else: please share this post throughout the Hyprland community and
1569
- adjacent communities. This is a serious problem and it&amp;rsquo;s not going to change
1570
- unless its clearly brought to light. The Hyprland maintainers need to be made
1571
- aware that the broader open source community does not appreciate this kind of
1572
- behavior.&lt;/p&gt;
1573
- &lt;p&gt;I sincerely hope that this project improves its community. A serious attitude
1574
- shift is needed from the top-down, and I hope for the sake of Vaxry, the other
1575
- leaders, and the community as a whole, that such change comes sooner rather than
1576
- later. When Vaxry is older and wiser, I want him to look back on the project and
1577
- community that he&amp;rsquo;s built with pride and joy, not with regret and shame.&lt;/p&gt;
1578
- &lt;hr&gt;
1579
- &lt;p&gt;Vaxry has published &lt;a href="https://blog.vaxry.net/articles/2023-hyprlandsCommunity"&gt;a
1580
- response&lt;/a&gt; to this post.&lt;/p&gt;
1581
- &lt;p&gt;I was also privately provided some of the enusing discussion from the Hyprland
1582
- Discord. Consider that this lacks context and apply your grain of salt
1583
- accordingly.&lt;/p&gt;
1584
- &lt;p&gt;&lt;img src="https://l.sr.ht/1k-4.png" alt="Screenshot of a Discord channel with the initial reaction to this post. A user
1585
- called &amp;ldquo;slave labor&amp;rdquo; responds with &amp;ldquo;no way&amp;rdquo;, &amp;ldquo;the computer reddit woke up&amp;rdquo;"&gt;&lt;/p&gt;
1586
- &lt;p&gt;&lt;img src="https://l.sr.ht/9hS_.png" alt="Screenshot of a Discord channel with Vaxry&amp;rsquo;s initial reaction to this post.
1587
- &amp;ldquo;Really, right as I wanted to take a day off because of health reasons I have to
1588
- reply to this?&amp;rdquo;. Another user responds &amp;ldquo;wow this is quite&amp;hellip; shallow&amp;rdquo;, &amp;ldquo;almost
1589
- as if it recycles very limited context to get more clicks&amp;rdquo;"&gt;&lt;/p&gt;
1590
- &lt;p&gt;I apologise to Vaxry for interrupting their rest, and wish them a speedy
1591
- recovery.&lt;/p&gt;
1592
- &lt;p&gt;&lt;img src="https://l.sr.ht/RwC-.png" alt="Screenshot of a Discord channel. Some notable quotes include &amp;ldquo;LGBTQ is fucking
1593
- trash anyways&amp;rdquo; (someone else responds &amp;ldquo;fuck off&amp;rdquo; to this) and &amp;ldquo;for reclaiming
1594
- polymc from the leftoids&amp;rdquo;. The discussion as a whole lacks any sembelance of
1595
- professionalism."&gt;&lt;/p&gt;
1596
- &lt;p&gt;&lt;a href="https://paste.sr.ht/~sircmpwn/093af570609ec87e987af6cc69c59e9624c2b280"&gt;Here&lt;/a&gt;
1597
- is a plain text log which includes some additional discussion.&lt;/p&gt;
1598
- </description>
1599
- </item>
1600
- </channel>
1601
- </rss>