From 98cd93b90b74795f4121213ba80e451a73354ce1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wxcaf=C3=A9=20=28Cl=C3=A9ment=20Hertling=29?= Date: Tue, 21 May 2019 13:39:14 +0000 Subject: [PATCH] adds articles and slight update to about page: - moving to the US - open source project governance - bangbangcon --- content/bangbangcon.md | 241 ++++++++++++++++++++++ content/moving_to_~~the_us~~_new_york.md | 99 +++++++++ content/pages/about.md | 12 +- content/when_a_toy_isnt_a_toy_anymore.md | 243 +++++++++++++++++++++++ 4 files changed, 589 insertions(+), 6 deletions(-) create mode 100644 content/bangbangcon.md create mode 100644 content/moving_to_~~the_us~~_new_york.md create mode 100644 content/when_a_toy_isnt_a_toy_anymore.md diff --git a/content/bangbangcon.md b/content/bangbangcon.md new file mode 100644 index 0000000..e848484 --- /dev/null +++ b/content/bangbangcon.md @@ -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! diff --git a/content/moving_to_~~the_us~~_new_york.md b/content/moving_to_~~the_us~~_new_york.md new file mode 100644 index 0000000..3a1a72c --- /dev/null +++ b/content/moving_to_~~the_us~~_new_york.md @@ -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. diff --git a/content/pages/about.md b/content/pages/about.md index 949c5f4..5b709a4 100644 --- a/content/pages/about.md +++ b/content/pages/about.md @@ -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* diff --git a/content/when_a_toy_isnt_a_toy_anymore.md b/content/when_a_toy_isnt_a_toy_anymore.md new file mode 100644 index 0000000..787600e --- /dev/null +++ b/content/when_a_toy_isnt_a_toy_anymore.md @@ -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?