webring 1.1.1 → 1.1.2

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