Born Against, or why hobby programming communities are aggressively against LLM usage
36 points by j11g
36 points by j11g
the process of mastering a difficult field itself is the product, and something that runs is generally a nice-to-have.
Everything about this stance is anathema to the noisy AI boosters:
Mastery is a deeply meaningful pursuit. I worry we basically ceded the importance of this to those who would rather not put the reps in, and then watch as they try to strong-arm everyone else into pretending that they actually did the reps.
I'll generalise, if I may: creating things is a deeply human pursuit. You don't need to be good at it, and you don't need to be fast at it. Life is about the journey; unfortunately, life under capitalism will have you convinced it's about the end product.
I agree, that's something I've been thinking about. The way AI boosters talk about "being productive" to me seems like deeply internalized trauma from life under capitalism. Protestant work ethic and all that jazz about how work isn't supposed to be enjoyable included.
While I agree with the end of this piece, I feel like (disclaimer: just my personal experience) the gatekeeping and slow pace aren't goals in themselves like this piece indicates, but rather, the result of community design being more of a bottleneck than implementing code. Every design decision you make slightly boxes you in in terms of what you can do in the future without breaking changes, so there's a lot of process around building consensus and making sure there's enough of a shared imagination of where something's going. Just being able to make code faster could possibly just box you in faster without that shared understanding. For technical decisions, that can come from how the code feels when working on it, where LLMs don't give you that same feeling of friction that can help drive discussion. While LLMs can be used by an individual to help understand the code, there's really no substitute for the social exercise of talking to humans in getting consensus on a shared vision.
The summary of the niche communities here feels really foreign to me, given the communities I worked with (os dev, feature phones firmware reverse engineering, esoteric languages). I've never seen gatekeeping - if you found the forum and started doing anything, you were in. Knowledge was as highly regarded as as actually achieving things - some people could reverse engineer and explain lots of things about phones, some just dropped awesome tools for others from time to time. Progress was extremely uneven, mostly driven by when the next really driven person appeared to achieve something weird and exciting.
I wonder if this is a different slice of the communities, or is it just different decades. Honestly, the described hobby communities from the post don't sound fun...
It is a different perspective.
From their pov, what you described is gatekeeping, because you need to find the place, and you need to put energy in to be considered in.
I am not saying you are wrong, just... Explaining the pov of the writer.
Speaking from the Emu/Homebrew development scene (as a very former homebrew dev, although at least to my knowledge, the emulation scene is better about this), I can recognize a lot of these community traits.
A lot of those communities tend to guard their research obsessively; what's publicly available as documentation is kinda the equivalent of a giant reference dump at the end of the process. Basically you're meant to gawk and be in awe of the hard work the developers are putting in, not actually understand the specifics of how they did that. (Pretty obviously, discord made this issue worse although I'd say the only difference between discord and irc was that the irc channel wasn't archived, so a lot more details could be kept hidden from newcomers.) Trying to learn from public documentation is pretty much impossible; it's pretty much a function dump without any context whatsoever. (Both in RE work and most homebrew libraries.)
The developers of these things tend to deal with so many unskilled users that, rather than pointing people to resources of what they'd need to know, they instead rely on shorthand dismissals meant to dissuade people from working on these projects to begin with. "I want to write a basic program for my 3DS" is met with the "you should learn how to program in C on the desktop first and become experienced in that" response, which is by design very dismissive (because the barrier isn't "learn C", it's "learn C to the point you can use it on a desktop", which is a much higher barrier). Learning how to reverse engineer is given similar barriers. It creates communities that rely on in-groups and access to those in-groups isn't really by technical skills (again, it's a shorthand dismissals, not a genuine assessment of people's skills) but rather by politics/how much you are willing to put up with people being assholes to you in your free time.
Like to give a pretty extreme instance of this; almost none of the c3 talks about the Switch or 3DS led to useful exploits in and of themselves, the ones shown off were just tech demos with the details omitted. The entire reason we had public 3DS homebrew that goes beyond "it can run doom!" was because a different group of people was effectively able to poke through one of the presentations and was able to assemble the incomplete toolchain into a full one with their own research. It took a lot of arguing over the years for transparency to the point where I think the 3DS scene's documentation is now at the point where someone fresh from following a basic C manual can figure out how to write homebrew.
(And that's before we get into things like how a lack of backwards compatibility in a lot of central libraries is used to exclude older projects, which is it's whole other can of worms.)
As for LLMs making those scenes more accessible; I'm ambivalent to it. I obviously don't want to see more AI slop, but I also don't fault people for reaching to the machine that won't permanently judge them as a stupid idiot not worth looking at further, solely because they couldn't figure out the equivalent of learning how the 80 year war worked by only looking at the casualty list.
LLM dev is in its "3D Printed Dragon" era.
Let me explain: Anyone can buy a 3D printer, it's just money. Then they go online and download cool ready made STL models, print a few and go "hmm, these are cool. I'm now the CEO of a 3D printing startup!". Then they order a bunch of fancy filaments and print a massive pile of generic plastic crap and start selling it in every fair and con that they can get a table at.
Meanwhile actual professionals are printing replacement parts for planned obsolesence -inflicted or enshittified equipment or just better versions of existing ones.
The same is happening with LLM dev. The newcomers are SUPER EXCITED that they can HELP by generating a bunch of code (generic plastic dagons) for their favourite projects. Not understanding that it's just shit and nobody really wants it. It's cool if they do it for themselves, but it's not something sustainable.
Meanwhile professionals are using LLMs to enhance their skills, doing the same thing and same quality as before, just a bit faster.
There's also the bottleneck of code review in open source software projects. LLM usage produces a lot of false positives that are time consuming to debunk. This hits the tightest bottleneck, significantly slowing down the price of progress and grinding down maintainers' will to continue volunteering their time.