adds articles and slight update to about page:

- moving to the US
- open source project governance
- bangbangcon
This commit is contained in:
Wxcafé (Clément Hertling) 2019-05-21 13:39:14 +00:00
parent a698d6347e
commit 98cd93b90b
4 changed files with 589 additions and 6 deletions

241
content/bangbangcon.md Normal file
View 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!

View 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.

View File

@ -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*

View 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?