adds articles and slight update to about page:
- moving to the US - open source project governance - bangbangcon
This commit is contained in:
parent
a698d6347e
commit
98cd93b90b
241
content/bangbangcon.md
Normal file
241
content/bangbangcon.md
Normal file
@ -0,0 +1,241 @@
|
||||
Title: ‼️con
|
||||
Date: 2019-05-13 10:00
|
||||
Author: Wxcafé
|
||||
Category: Note
|
||||
Slug: !!con
|
||||
Header_Cover: //pub.wxcafe.net/img/bangbangcon_header.jpg
|
||||
|
||||
So, this past weekend I was at [‼️con](http://bangbangcon.com/) (pronounced
|
||||
bang bang con), a conference in NYC about "The joy, excitement, and surprise of
|
||||
computing". This was a great experience! I loved it! I met a lot of very cool
|
||||
people, many who I knew from The Internet (mostly Twitter, let's be honest), and
|
||||
some I didn't know at all and am very glad to have met there (moving to another
|
||||
country can be a bit lonely, meeting people is a great remedy)! I watched a lot
|
||||
of really good talks about computers and all the fun things people can do with
|
||||
them! For a very short selection, there was [one about making Lo-Fi Hip Hop from
|
||||
npm install logs](http://bangbangcon.com/speakers.html#melody-starling), an
|
||||
[exploration of what game feel
|
||||
is](http://bangbangcon.com/speakers.html#ayla-myers), a [bike trainer game about
|
||||
the food delivery
|
||||
industry](http://bangbangcon.com/speakers.html#em-lazer-walker), some
|
||||
[machine-learning assisted dadaist
|
||||
poetry](http://bangbangcon.com/speakers.html#allison-parrish), a primer on
|
||||
[designing 3d-printable dilators in
|
||||
go](http://bangbangcon.com/speakers.html#ellen-k%C3%B6rbes), some [NOR gate
|
||||
synthesis from bacteria](http://bangbangcon.com/speakers.html#tessa-alexanian),
|
||||
a [musical about tail-call
|
||||
optimization](http://bangbangcon.com/speakers.html#anjana-vakil), and
|
||||
a [CD-quality music on a gameboy
|
||||
demo](http://bangbangcon.com/speakers.html#peter-sobot). I even discovered
|
||||
(kinda late I guess) [opensteno](http://www.openstenoproject.org/) by... talking
|
||||
to [Mirabai Knight](https://twitter.com/stenoknight), the stenographer who was
|
||||
transcribing the talks! From that list it might seem like I don't know how to
|
||||
choose (which is, admittedly, partly true), but also there were just so many
|
||||
good talks there. It's also a very actively inclusive conference, and it was
|
||||
a generally queer experience, which is really cool and is a very nice change of
|
||||
pace when it comes to tech conferences.
|
||||
|
||||
Now that I've talked about the basic stuff, let's go into what I *really* want
|
||||
to talk about. That will be split into three parts, because I don't want to have
|
||||
my points clash with each other. Let's start off with the first point, which is
|
||||
probably the one the conference organizers would most agree with:
|
||||
|
||||
## Having a con about the joy in computing is truly revolutionary
|
||||
|
||||
And how. Tech is **depressing**. I mean, to be completely honest the world is
|
||||
depressing, and the state of the US is even worse, *but* tech is **depressing**
|
||||
in so many ways. [Everything is
|
||||
broken](https://pub.wxcafe.net/static/broken.mp3). [No, really, everything is
|
||||
broken](https://www.stilldrinking.org/programming-sucks). This isn't (or, if it
|
||||
is, shouldn't be) news.
|
||||
|
||||
```
|
||||
Broken hardware platforms,
|
||||
broken operating systems,
|
||||
broken network protocols,
|
||||
people programming, in broken languages.
|
||||
|
||||
Broken ethics,
|
||||
broken diversity,
|
||||
broken idols,
|
||||
broken tools.
|
||||
|
||||
Seems like every time you stop and turn around
|
||||
Something else just hit the ground
|
||||
```
|
||||
|
||||
I am talking technical here, obviously, because as exposed in that blog post
|
||||
everything technical is broken, but I am also talking political, because we have
|
||||
monopolies living on selling user data, companies funded by a guy who likes to
|
||||
drink young people's blood, so much sexism and racism that the about:blank page
|
||||
isn't the whitest thing in the domain, and collaboration with fascists (I'm
|
||||
talking about the US government here to be clear).
|
||||
|
||||
Yes, everything is broken. And, from that perspective, it's really easy to feel
|
||||
discouraged and give up, believing that you can't do anything and that tech is
|
||||
unredeemable.
|
||||
|
||||
Tech might well be unredeemable, but computing has brought many of us joy in
|
||||
various ways. To speak of my own experience, I've loved exploring,
|
||||
understanding, and often breaking operating systems (and *systems* in general)
|
||||
so much when I was a teenager (that isn't very far, to be fair) that I made it
|
||||
my job (and I love it sometimes!!). For many of the people at ‼️con, it's *making
|
||||
things*, feeling the power of getting the computer do what you want it to do; or
|
||||
using the power of the dumb machine to help your community or your family; or
|
||||
building the cool games you loved playing; or making art with that tool; or
|
||||
a thousand other reasons that computing is exciting, fun, and sometimes
|
||||
surprising.
|
||||
|
||||
And when our day-to-day outlook at tech is so gloomy and depressing, actually
|
||||
remembering that tech can also be a *fun* thing is powerful, and even
|
||||
revolutionary, in the sense that it turns the perspective that the field is
|
||||
trying to push onto us around and tells the Thiels and the ESRs of the world
|
||||
that we will have fun with this, and it doesn't matter what you do.
|
||||
|
||||
In a way, ‼️con feels kind of like the CCC does, in that there's acceptance and
|
||||
a form of inclusivity, but also in the way it's not centered on a specific topic
|
||||
and welcomes all sorts of discussions. (Of course, the CCC isn't focused on the
|
||||
joy of computing, even though I'd argue it is very much on the excitement, and
|
||||
all these things aren't explicitely stated. It's also a much bigger event.)
|
||||
|
||||
## That being said, taking joy in computing shouldn't make us forget about our social struggles
|
||||
|
||||
Having fun with computers is powerful. It can motivate us to fight and improve
|
||||
things when we're demotivated because of all the negativity. It's also a way to
|
||||
improve the diversity of the field, removing the seriousness enables people who
|
||||
wouldn't have dared to get started with programming, or to take on projects that
|
||||
they wouldn't have otherwise. Feeling that asking for help and that you're in
|
||||
a friendly circle is incredibly enabling too, especially for traditionally
|
||||
disenfranchised people (women, PoC, queer people,... ).
|
||||
|
||||
But while it's good to forget about the negativity, we should not forget that
|
||||
liberating ourselves isn't the end of the fight, and it's actually only the
|
||||
beginning. It's a tool to help us fight, not a way to escape from the fight.
|
||||
|
||||
Let me be clear: I'm not accusing anyone at ‼️con of doing that. The
|
||||
organizers are doing a huge amount of work on exactly this simply by making such
|
||||
a inclusive and positive event, and many of the participants I've met were
|
||||
involved in multiple political struggles themselves! And, as I said, I think
|
||||
that ‼️con is a powerful tool in that fight.
|
||||
|
||||
What I'm saying here is that personally, when presented with this kind of
|
||||
environment, I feel an impulse to satisfy myself of this. I feel comfortable,
|
||||
and I don't want to get out of that comfort, and I have to consciously take the
|
||||
time to get back into the right mindset. Of course, a large part of that is that
|
||||
I don't *face* these oppressions much, and it's clear that people who *do* don't
|
||||
feel that kind of things. But I also know there are people like me in the ‼️con
|
||||
audience, and I feel like thinking about the effects the "think positive!!"
|
||||
message can have on attendees can be a good thing
|
||||
|
||||
I also feel that the "act positive" attitude of ‼️con, while really good (it
|
||||
allows people to talk about what they like freely, without dreading someone
|
||||
telling them OH YOU USE SUCH AND SUCH?? DID YOU KNOW THAT OTHER TECH STACK IS
|
||||
WAY BETTER LOL) also shuns some criticism, and criticism is sometimes valid!
|
||||
That's not a big deal! It's a two-day con, there are other times for discussion
|
||||
of these topics... but that "everything goes" attitude leaves me wondering
|
||||
|
||||
|
||||
## There is a difference between building and making, and I'm on the other side
|
||||
|
||||
Finally, and kind of unrelatedly, I'd like to talk about a thing that I felt and
|
||||
realized during the con, while watching the talks, while listening to other
|
||||
attendees talk, and while trying to talk about stuff I'm doing; and how I felt
|
||||
kind of out of place (but this is not a critique!).
|
||||
|
||||
So ‼️con is special in that it's a con that's about **makers**. Not the "I have
|
||||
a 3d printer and I love shop class" kind of makers, but the "I can just whip 300
|
||||
lines of code to make this thing go" kind of makers.
|
||||
|
||||
As an Ops person, this makes me feel awed and humbled. I see people talk about
|
||||
"simply" taking a few dozen libraries and suddenly a text file is transformed
|
||||
into music. I see people talk about elm parsers, or Rust VMM bindings, and while
|
||||
I *understand* the theory, and when I see the code I can follow it, I am awed by
|
||||
their capacity of taking these disparate pieces and making a cohesive thing out
|
||||
of them, and especially I am humbled by the way they talk about these things as
|
||||
if they were so **easy**.
|
||||
|
||||
I don't know why I'm so utterly unable to connect the dots when I really *get*
|
||||
the theory and the syntax and everything that's necessary, maybe I'm just
|
||||
missing the creative spark that makes these people able to make things appear
|
||||
out of thin air, but that's possibly the subject for another post, not this one.
|
||||
|
||||
What I know how to do is building infrastructure. I know systems, I know
|
||||
networks (mostly). I know how to build redundancy and (surprisingly, knowing my
|
||||
living habits) I know how to be rigorous in setting up and managing complex pieces of
|
||||
software interacting together. This is a thing I have, and similarly I don't
|
||||
know why. It's clearly important and necessary, and I appreciate it accordingly.
|
||||
|
||||
**But**. It is definitely not the same thing. It's **building**, it's not
|
||||
**making**. And so, I felt kind of out of place at ‼️con sometimes, because I am
|
||||
outside of the paradigm assumed by the con and the attendees. I don't have any
|
||||
"recent stuff I've made" to talk about! I don't have anything to contribute to
|
||||
their *making* apart from my awe. And the only additions I *can* provide are
|
||||
actually restrictions: here's how you could host this. You could make this part
|
||||
more redundant. And even then, a lot of the "ops" tools used by devs now (FaaS,
|
||||
docker and orchestration, stuff like that) are outside of my domain too.
|
||||
|
||||
I'm not saying ‼️con should change, because it really shouldn't. It's really cool
|
||||
to have a place to see all those projects and small miracles shown off! But I'm
|
||||
thinking of two things that were said in the second day of the con:
|
||||
|
||||
First, in the keynote talk, [Jenn
|
||||
Schiffer](http://bangbangcon.com/speakers.html#jenn-schiffer) was talking about
|
||||
[glitch](https://glitch.com), a "programming social network" (a social space
|
||||
that allows you to build programs with Javascript directly on the website and
|
||||
share them with people, mostly on twitter, without hosting or deploying anything
|
||||
yourself), and she said:
|
||||
|
||||
> by taking the DevOps part away from the app building experience, the Glitch
|
||||
platform allowed Justin to focus on the impactful part of the app
|
||||
|
||||
(link [here](https://youtu.be/Bz3eZinhyoE?t=3133))
|
||||
|
||||
And... she's right. Yes, Ops (and in general, the "building" part) is
|
||||
a limitation on the creativity and impact that the makers can express. And, this
|
||||
being a maker-oriented con, her comment is totally on point! This is the first
|
||||
thing that made me reflect on this maker/builder divide.
|
||||
|
||||
Secondly, in the outro, [Erty Seidohl](https://twitter.com/ertyseidohl) said:
|
||||
|
||||
> there were three kinds of talk idioms this weekend:
|
||||
>
|
||||
>- here's a thing I did,
|
||||
>- here's a thing I found and want to share,
|
||||
>- and [...] here's a thing I am doing"
|
||||
|
||||
(link [here](https://youtu.be/Bz3eZinhyoE?t=25932))
|
||||
|
||||
That made me reflect on the divide, too. These are very maker-oriented talk
|
||||
idioms (the second one could be builder, too, but it's still more maker). And
|
||||
I think that talk formats from builders, talking to makers, could be something
|
||||
like
|
||||
|
||||
- here's a thing I know that I would love you to *make* things about
|
||||
- here's how this infrastructure you use works underneath
|
||||
- here's how you can build your own infrastructure
|
||||
|
||||
These are the ones I found off the top of my head, I'm sure there are more.
|
||||
|
||||
But my point is that there could be positive exchanges between the two groups,
|
||||
instead of the vaguely antagonistic relation that exists now. I'm thinking of
|
||||
proposing a talk for next year's ‼️con, among other things because the conference
|
||||
seems very accessible (talks are short, the crowd is very positive, and subjects
|
||||
are very broad), and I hope I can bring something new to the makers the same way
|
||||
they give me that awe.
|
||||
|
||||
---
|
||||
|
||||
### In conclusion
|
||||
|
||||
I hope this post wasn't too unclear to read (it should probably have been three
|
||||
or four posts, honestly), and that what it conveyed what I wanted to express
|
||||
correctly. Thank you for reading it, and please do contact me either by email,
|
||||
twitter or mastodon if you have comments! I would really love to hear what other
|
||||
people on both sides of the "divide" think about this, and if you think the
|
||||
whole concept of the divide is complete and utter bullshit I'd love to hear
|
||||
about that too!
|
||||
|
||||
I also hope it was clear that I'm really glad I went to ‼️con, that it was
|
||||
amazing in a different way than CCC can be, and that the slight out-of-place
|
||||
feeling I had was a) not the fault of the con and b) not at all enough to spoil
|
||||
the fun!
|
99
content/moving_to_~~the_us~~_new_york.md
Normal file
99
content/moving_to_~~the_us~~_new_york.md
Normal file
@ -0,0 +1,99 @@
|
||||
Title: Moving to th̶e̶ ̶U̶S̶ ̶New York
|
||||
Date: 2019-02-04T20:08-05:00
|
||||
Author: Wxcafé
|
||||
Category:
|
||||
Slug: content/moving_to_new_york
|
||||
|
||||
So, uh, yeah. Even though it might not have been evident if you extrapolated my
|
||||
sleep cycle from my twitter activity, I've always lived in France, I was born
|
||||
there and I grew up there. About a month and a half ago I took the plane to get
|
||||
to my next place of living: NYC.
|
||||
|
||||
### Why the *fuck* move to the US?
|
||||
|
||||
So that's the obvious question. Why, *why*, would anyone move from a civilized
|
||||
country, with healthcare and free university and all the amenities that society
|
||||
has given us and that allows us to leave less people dying in the streets
|
||||
and more people living happily (don't worry though, the liberal government in
|
||||
France is well on the way of tearing apart those social protections like most of
|
||||
the rest of Europe). Why leave friends, family, and familiarity to go live in
|
||||
a quasi-fascist country, where the two political parties are slightly different
|
||||
brands of the same right-wing soup and where history starts 250 years ago
|
||||
(because the colonizers massacred most of those that actually had a history
|
||||
there)?
|
||||
|
||||
Well, uh, that's a good fucking question. It's one I'm not actually sure I've
|
||||
got a satisfactory answer to, actually. There are, however, *a few* points that
|
||||
made me want to move to the US:
|
||||
|
||||
- **New York**. That city is... Different. I wouldn't know how to put it, but in the
|
||||
few months that I've spent there over the years, I always wanted to live here.
|
||||
The atmosphere there is special, and it feels magical to me. I feel at home
|
||||
there.
|
||||
- **Opportunity**. I *know* this is a cliché. I know. Still, it seems like the
|
||||
US is where things happen, and where tech in particular *is*.
|
||||
- **Being where things are**. I don't know if I can express this clearly, but
|
||||
living in France and yet having so many friends in the US, it seemed to me
|
||||
like I was excluded from the world. I'm not saying the world outside of the US
|
||||
doesn't exist or doesn't matter. I'm saying, at least to me, it feels like
|
||||
there's always where you live *and* the US. Most people don't keep tabs on
|
||||
Spanish or Finnish politics, at least not closely. But most everyone (at least
|
||||
in Europe) keeps a close eye on US politics, because obviously it influences
|
||||
and impacts every other country. I think living like that would be fine, and
|
||||
I wouldn't pay it any mind, if I didn't know people in the US closely. But
|
||||
I do, and it felt awful to me.
|
||||
- **I'm fucking dumb**. Or rather, I *was* fucking dumb (I might still be, but
|
||||
that's not proven definitively. That I *was* is proven, on the other hand)
|
||||
when I made that decision. In my defense, though, I was 15 and completely
|
||||
oblivious to everything that made the US awful. I only saw the few points
|
||||
I listed before, and I thought that this sounded great! Why not move to this
|
||||
place!
|
||||
|
||||
... I've matured a little bit since then.
|
||||
- **Privilege**. This is obvious. I'm a cis white guy who works in tech. Yes,
|
||||
I'm queer, but it's not apparent. Yes, I have convictions, but once again it's
|
||||
not apparent. I don't face any kind of discrimination, never did, and most
|
||||
likely never will. All the "no healthcare, free university, …" points are
|
||||
moot in my case. I've already graduated, and even if I wanted to do
|
||||
get a postgraduate degree I just could, because I work in tech, and in that
|
||||
industry salaries are incredibly high compared to the actual work done (and
|
||||
even more so compared to the benefit to society provided...). Point here
|
||||
being, I don't actually have to worry too much for my safety. Of course,
|
||||
I have convictions, so I will be (and am) fighting the authoritative regime
|
||||
that's in place, but still: I have the *possibility* to ignore it.
|
||||
|
||||
|
||||
### Okay, that wasn't very convincing, but alright. But *how* the fuck did you move there?
|
||||
|
||||
So, yeah. That's *why*. Now, what about *how*?
|
||||
Becoming a US citizen is a painful and complicated process, that is also usually
|
||||
pretty expensive. It generally involves getting a work visa to the US, then
|
||||
a green card (or "permanent resident card"), which allows one to become a legal
|
||||
permanent resident of the US. Then, after five years, one can ask to begin the
|
||||
naturalization process, which after a test of English and of general knowledge
|
||||
of US politics and history, allows you to get in a room, declare your allegiance
|
||||
to the flag, and sing The Star Spangled Banner, after which you're a US citizen.
|
||||
|
||||
I'm currently at the "has a green card" step, and I got there by... having
|
||||
a father who's a US citizen. I already talked about how I'm privileged in the
|
||||
previous part, but uh. Yeah. Obviously, immigration for me isn't the same as
|
||||
immigration for a lot of people, and all the immigration workers have been
|
||||
generally well-meaning and helpful, which is far from the norm in US immigration
|
||||
services.
|
||||
|
||||
So, yeah, that's how I moved. Took a place mid-December, stayed with family for
|
||||
a few weeks until I found a place, then moved, and now I live in my apartment in
|
||||
central Brooklyn.
|
||||
|
||||
### Alright, and what are you gonna do now?
|
||||
|
||||
Well... pretty much the same as before. I'm still working at
|
||||
[Gandi](https://gandi.net), only I'm working remote now. A few of the orgs I was
|
||||
volunteering with in France, I can still help from here, or when I go back there
|
||||
from time to time, but there is also plenty to do here, so I'm starting to
|
||||
organize with local orgs (like DSA, for example), and I'm trying to help where
|
||||
I can. And of course I'm still going to write stuff on here, maybe a bit more
|
||||
regularly now that moving from a continent to another is mostly done. Mastodon
|
||||
is still up, twitter is mostly still up, and I'm still fiddling with computers!
|
||||
Only, now I'm doing it in the US, and we can get a drink sometime if you live
|
||||
there too.
|
@ -6,13 +6,13 @@ Author: wxcafé
|
||||
Wxcafé, that's me.
|
||||
------------------
|
||||
|
||||
I'm Clément Hertling, I was born in 1995 (this is totally a trick not to have to
|
||||
My name is Clément, I was born in 1995 (this is totally a trick not to have to
|
||||
update this page regularly), and I'm a systems and network administrator at
|
||||
[Gandi](https://gandi.net). Before that I did three years at a technical school
|
||||
in networks and telecoms, one of which was done half in school and half at
|
||||
[FranceIX](https://franceix.net) and a year of preparatory school at
|
||||
[Épita](http://www.epita.fr), a engineering school. I live in Villejuif, near
|
||||
Paris, France.
|
||||
[Épita](http://www.epita.fr), an engineering school. I live in Brooklyn, New
|
||||
York, USA.
|
||||
|
||||
You can find my resume in english [here](https://pub.wxcafe.net/resume_en.pdf).
|
||||
I try to keep it up to date, and it should be most of the time. The code is
|
||||
@ -42,7 +42,7 @@ You can also read my thoughts on Twitter and Mastodon, I use those quite
|
||||
a lot. The links are down in the footer. If you want to meet me IRL, hit me up
|
||||
by email or something.
|
||||
|
||||
*-- Last updated 2017-12-04*
|
||||
*-- Last updated 2019-02-04*
|
||||
|
||||
Wxcafé, c'est moi.
|
||||
------------------
|
||||
@ -53,7 +53,7 @@ systèmes/réseaux chez [Gandi](https://gandi.net). Avant ça, j'étais étudian
|
||||
Licence Pro MRIT à [Paris 12 (UPEC)](http://www.u-pec.fr) en alternance chez
|
||||
[FranceIX](https://franceix.net), après un an de prépa integrée
|
||||
a [Épita](http://www.epita.fr) et un DUT Réseaux et Télécoms. Je vis
|
||||
actuellement a Villejuif, près de Paris, France.
|
||||
actuellement a Brooklyn, New York, aux États-Unis.
|
||||
|
||||
Vous pouvez trouver mon CV en français [ici](https://pub.wxcafe.net/resume.pdf).
|
||||
J'essaie de le tenir a jour, et ça devrait être le cas la plupart du temps.
|
||||
@ -87,4 +87,4 @@ Vous pouvez aussi me lire sur Twitter ou Mastodon, j'écris (bien) plus sur ces
|
||||
médias qu'ici. Les liens sont dans le footer. Si vous voulez me
|
||||
rencontrer IRL, envoyez moi un mail.
|
||||
|
||||
*-- Mis à jour pour la dernière fois le 2017-12-04*
|
||||
*-- Mis à jour pour la dernière fois le 2019-02-04*
|
||||
|
243
content/when_a_toy_isnt_a_toy_anymore.md
Normal file
243
content/when_a_toy_isnt_a_toy_anymore.md
Normal file
@ -0,0 +1,243 @@
|
||||
Title: When a toy isn't a toy anymore
|
||||
Date: 2019-04-28T09:58-05:00
|
||||
Author: Wxcafé
|
||||
Category:
|
||||
Slug: content/when_a_toy_isnt_a_toy_anymore
|
||||
|
||||
Let's say, for the sake of argument, that there's this guy named Nick.
|
||||
|
||||
Nick is a nice person. He's friends with a lot of queer people. Maybe he doesn't
|
||||
always get everything about Socialism or Communism but he agrees that the world
|
||||
is unfair, and that a better distribution of resources would be way better.
|
||||
He's European, so he sees that the US "right wing" is a bunch of fascists, and
|
||||
he doesn't hesitate to say it. All in all, a pretty good guy.
|
||||
|
||||
Nick is also a developer. He believes that Free Software in and of itself is a
|
||||
Good Thing for the world, and that you should use it if you can, but he also
|
||||
sees that of course usability is important and that users can't be blamed for
|
||||
going with a proprietary solution if the FOSS one is too ugly or unusable.
|
||||
|
||||
Nick is getting weary, because the company that edits one piece of proprietary
|
||||
software he uses (because he *has* to use it) doesn't seem to want to do
|
||||
anything except make its own product worse, and more hostile to its own users.
|
||||
"No problem!", thinks Nick, "I'll make my own!". And he's a dev! So he can.
|
||||
|
||||
And so he does! For months, he takes of his own free time and works on this
|
||||
concurrent product. And it gets better and better! He fixes all the problems he
|
||||
sees in the product, and he shows it to his friends. And his friends get excited
|
||||
about it too! So he decides to release what he has, which is already pretty
|
||||
good, making sure everyone knows it's only a beta release.
|
||||
|
||||
A few weeks go by. A lot of Nick's friends have started using his software,
|
||||
which is great! They're reporting bugs and stuff, which help him make it better!
|
||||
But they've also told all their friends, which is a little less great,
|
||||
because these people don't necessarily know it's a beta release.
|
||||
But Nick keeps at it, and improves his software, again and again. More and more
|
||||
people are hearing about it, by word of mouth, and it's getting better and
|
||||
better.
|
||||
|
||||
And Nick is happy! Cause let's be honest, we all like it when people use our
|
||||
things. It's only natural, we like when things we make are successful, and
|
||||
especially when it helps others get out of a bad situation. But at the same
|
||||
time, Nick is a bit frustrated, cause he'd like everyone who uses the company's
|
||||
product to switch to his. Cause his is so much better! If only they knew! And
|
||||
that, too, is only natural. We don't like seeing people struggle when they
|
||||
shouldn't have to, and it's especially frustrating when you're the one trying to
|
||||
provide a solution.
|
||||
|
||||
But Nick overcomes this frustration for now, and decides to keep building his
|
||||
product for the people who are using it. And he's got some work to do! His
|
||||
users, most of whom are queer people (remember, he has a lot of queer friends...
|
||||
So when they told *their* friends, well...), have plenty of suggestions. Turns
|
||||
out the company's product has actually never satisfied them, and they actually
|
||||
really hated it but used it nonetheless cause, well... there was no alternative.
|
||||
But now that there *is*, there's no reason to only make it as good (or as bad)
|
||||
as the original was! Let's improve it! And so they suggest lots of stuff. And
|
||||
some of them are developers too, so they submit PRs and patches. Pretty soon,
|
||||
entire features aren't developed by Nick anymore.
|
||||
|
||||
Nick is very happy about this at first (obviously), because... well, it cuts his
|
||||
development time, new features get added (most of which he wanted to add in the
|
||||
first place), and some very good ideas that he wouldn't have though of are
|
||||
suggested. But more importantly, he's really happy that others **care** about
|
||||
his personal project. And of course he does. That's only natural, when we build
|
||||
things and others care about them enough to build them with us it makes us feel
|
||||
loved and recognized!
|
||||
|
||||
But then, he starts to be less and less enthusiastic about these other
|
||||
contributors. Yes, they're great people and all, but... some of the stuff they
|
||||
suggest is really not how he envisioned his project. They make good points
|
||||
about it, too, which is really problematic for him because they've been really
|
||||
helpful, and he doesn't want to hurt them... And they're also the fact that
|
||||
they're arguing that some of the features they're suggesting are specifically
|
||||
about them being queer, and he doesn't want to seem like he doesn't care about
|
||||
queer people. But he starts to kinda feel like **his** project is being taken
|
||||
out of his hands.
|
||||
|
||||
Time passes, and features are added to the software. Some are Nick's ideas, some
|
||||
are other people's ideas that Nick like... and some he doesn't feel great about
|
||||
but hey, it's helping other people, right? So he adds them anyway. But today,
|
||||
a PR was opened by a contributor, someone who's been very active in developing
|
||||
the software, and Nick really, *really* doesn't like it. He hates it so much,
|
||||
he's at the brink of answering that he won't merge it. He doesn't have any
|
||||
**rational** reason for it, he just... doesn't like it.
|
||||
|
||||
But then he has an idea. What if, instead of telling the contributor he won't
|
||||
merge the feature, he just ignores the PR. The contributors have write access to
|
||||
the repository, but they always wait for an ok from Nick before merging stuff.
|
||||
If he acts like he hasn't seen the PR, and ignores it, it will slowly start to
|
||||
develop merge conflicts until the contributor has to rewrite it entirely... And
|
||||
then he can still ignore it, eternally. The upshot being that he doesn't have to
|
||||
start conflict with the contributor, something he really, *really* doesn't want
|
||||
to do.
|
||||
|
||||
So he ignores the feature. And he was right! It does develop merge conflict. The
|
||||
contributor nags him once or twice about it, but then kinda forgets about it, so
|
||||
everything is good. But after a few weeks, another PR he doesn't like is opened
|
||||
by someone else.
|
||||
Well, he can just ignore it too, right? Yes, he can... Until at some point, the
|
||||
first contributor remembers about their PR... And they ask him, if he doesn't
|
||||
have the time to review the PR, if the other contributor could do it. Ah, now
|
||||
that's problematic... He can't say yes, because the two contributors would
|
||||
probably agree and merge that feature he really doesn't like. But he can't say
|
||||
no either, because that would be weird and imply he doesn't trust other
|
||||
contributors.
|
||||
|
||||
So he tells them he'll review the PR, and a few minutes later finally comments
|
||||
that he doesn't want to merge the feature. It's great and all, but he doesn't
|
||||
like it. "But it helps me use the software, it's a pain to use otherwise...",
|
||||
says the contributor. "Yes, but I don't like it", replies Nick. "Well, it's an
|
||||
accessibility issue", says the contributor, "and queer people like me need this
|
||||
kind of features to use the software". Nick still doesn't have any rational
|
||||
argument, so all he finds is "well, it's *my* project, isn't it? And *I* don't
|
||||
want the feature, so *I* am not going to merge it". And with that, he closes the
|
||||
PR. Of course he feels bad, and he feels even worse when the contributor comes
|
||||
to see him to talk about it in private and ask him what they can change about it
|
||||
to make him like it better. "Nothing", he says, "I really just don't like the
|
||||
idea". And after a while, the contributor, who seems a bit upset, says that
|
||||
they're not really happy about that but it's okay, whatever.
|
||||
|
||||
A few months go by, with a few other closed PRs, pretty much in the same way.
|
||||
Then the company does another change to their software, and a lot of their users
|
||||
really don't like it. And instead of just acting upset a few days but sticking
|
||||
with the company's software like they've always done, this time a few of them
|
||||
(the most technical of them) decide to move to Nick's software, since it seems
|
||||
better now.
|
||||
|
||||
Nick's really glad about that, he's wanted to attract power users of the
|
||||
company's product since he started building his own! The queer people are great,
|
||||
but they only represent a fraction of the company's software users, and they
|
||||
have their own usage habits (as he's seen from the PRs...). And, once again,
|
||||
that's understandable, because we all like things we build to be used and liked
|
||||
by lots of people! And so the new users pour in, soon overnumbering the existing
|
||||
userbase. And they're a bit surprised about the specific features that have been
|
||||
added to the software they're used to, but they soon get used to it and start to
|
||||
really like them. They also like the fact that the community is smaller, and
|
||||
tighter-knit, than the one of the company's software. So most of them are happy,
|
||||
and keep using his software, and Nick's feeling pretty popular.
|
||||
|
||||
And that keeps on for a few months, with irregular influxes of new users, and
|
||||
still a few PRs he doesn't like, but now the new power users have started to
|
||||
suggest new features too, features that Nick didn't bother implementing when
|
||||
building his software but that they liked on the company's product. And Nick
|
||||
doesn't feel either way about these features, but he thinks that if he
|
||||
implements them other, less adventurous users of the company's software might
|
||||
migrate over. So he starts working on those, until one of the people from the
|
||||
first cohort of contributors comes and tells him that that feature he's starting
|
||||
to implement actually really impairs their ability to use the software. And Nick
|
||||
doesn't really understand that, he doesn't get how adding that feature could
|
||||
cause them problems. So he keeps working on it and merges it into the codebase,
|
||||
which (understandably) upsets the first contributor quite a lot. Nick feels
|
||||
kinda bad about it, but after a bit a lot more new users start arriving, and he
|
||||
moves on because he's so excited about all these new uers.
|
||||
|
||||
After a few more weeks, one of the first cohort's contributors opens a PR, but
|
||||
merges it in with another contributor's approval instead of asking Nick. Of
|
||||
course, Nick is upset about this! It's *his* project, it's really nice of them
|
||||
to contribute to it but they should still ask him before merging stuff. So he
|
||||
makes an angry comment, and leaves it at that.
|
||||
|
||||
A few days later, this happens again. They tell him that he's been working a lot
|
||||
on the newer cohort's features, and while that's okay and he can do what he
|
||||
wants with his project, there's still a lot of open issues and work to do, and
|
||||
since he has left PRs to die in the past they wanted to merge these before they
|
||||
develop conflicts. He locks down merge access to only him, and tells them that
|
||||
they're right. It *is* still his project, and he'll be the one deciding what
|
||||
to merge. Then he goes back to work on those features ported from the company's
|
||||
software.
|
||||
|
||||
Contributors from the earlier cohort are slowly leaving the project, one after
|
||||
the other. Some of them, who contributed a lot of important features, band
|
||||
together and make a fork. Nick doesn't like how they present it as a better,
|
||||
community-driven version of his project. His also is community-driven, isn't it?
|
||||
Lots of people suggest features and open issues, and he accepts a lot of PRs!
|
||||
The fork ultimately isn't really successful anyway, few people use it and they
|
||||
keep rebasing on his code every few weeks because they don't want to miss out on
|
||||
his software's features. Nick ignores them.
|
||||
|
||||
Hey, some journalist contacted Nick to do an interview with him, about his
|
||||
project! He's been getting invitations to open-source software conferences, too,
|
||||
to give talks about taking on the company. That makes him really excited, and
|
||||
nervous too, but he's really satisfied to finally get recognition for all the
|
||||
hard work he's done. He talks with the journalist, and tells them how hard it's
|
||||
been, and how he's very happy to have implemented all those accessibility
|
||||
features that the company wouldn't add to their software; and how he's happy
|
||||
that company power-users are liking his project. He goes on and on about how the
|
||||
company is hurting their own users, and the only ones that matter. He goes away
|
||||
from that interview pretty happy with himself, and sure that this will bring
|
||||
more users to try his software.
|
||||
|
||||
After the article is published, the old cohort of contributors isn't really
|
||||
happy. They're not happy about how he called the power users "the only users
|
||||
that matter", and they're *especially* not happy about how he said he was proud
|
||||
to have implemented the accessiblity features when **they** did most of the work,
|
||||
**they** submitted the ideas for the things they didn't code themselves, and
|
||||
*he still won't merge some of the accessibility features they made*. He tries to
|
||||
explain how the interviewer asked about the features and didn't understand the
|
||||
concept of collaborative work on software, and how they thought he made the
|
||||
whole thing, but the contributors call him a lying hypocrite and leave it at
|
||||
that, and they don't wanna hear from him again. He's kinda hurt by that, but he
|
||||
still feels he didn't do anything wrong, so...
|
||||
|
||||
Life continues like this. He keeps ignoring the (rarer and rarer) PRs that he
|
||||
doesn't like, because he doesn't like confrontation. He keeps implementing
|
||||
features that he thinks the company software's users will like, to draw more and
|
||||
more of their users towards his project. He's getting paid through donations for
|
||||
his work, so he quits his job and works on the project full time. After a while,
|
||||
he hires a Project Manager, to try and manage everyone's expectations and keep
|
||||
everyone happy. But *they* start telling *him* what he should and shouldn't
|
||||
merge (the nerve! He hired them to manage *the contributors*, not *him*!), so he
|
||||
doesn't renew their contract. The project becomes larger and larger, the
|
||||
userbase grows steadily. Sometimes old contributors come back to fight on
|
||||
a particular issue or two, but they never stay long. He doesn't get why, after
|
||||
all he's not confrontational at all!
|
||||
|
||||
Anyway. The project will continue, and the users will keep using it. But it
|
||||
doesn't feel as fun as it did for Nick... Nor does it for the contributors.
|
||||
|
||||
---
|
||||
|
||||
Of course, this whole story is fictional, and any resemblance between it and
|
||||
events or persons in real life is pure coincidence. In this blog post I wanted
|
||||
to talk about Open-Source development, and how maintainers too often don't see
|
||||
that they have the responsibility of the community that uses their software.
|
||||
|
||||
I know the argument over "devs should be free to do whatever they want with
|
||||
their own work!" vs "devs have a social responsibility to (at least) fix bugs in
|
||||
the software they open-source and that people use" is a pretty old one, and both
|
||||
sides have obvious points that are worth taking into account. My argument here
|
||||
is that when either your project becomes too large, or your community is
|
||||
composed of marginalized people, you **do** have a responsibility towards them,
|
||||
and if you don't want to assume it yourself responsibly you should either give
|
||||
the governance of the project to someone else (and fork, if you're not happy
|
||||
with the direction the project takes without you) or direct contributors to
|
||||
a fork that is community-driven.
|
||||
|
||||
Death of the author and all that, you know? People will do with your creation
|
||||
whatever they want to, and if you're not ready for them to do that, you
|
||||
shouldn't release it to the world.
|
||||
|
||||
When your toy becomes used by so many people... well, maybe it isn't your toy
|
||||
anymore.
|
||||
|
||||
That's my opinion, anyway. But I'm not a dev, so what is my opinion even worth?
|
Loading…
x
Reference in New Issue
Block a user