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