My favourite piece of wisdom from the permacomputing community is the honest admission that a mere mortal cannot build something on their own as complex as an operating system or browser engine. As such, no single person could ever fully understand them. In a civilizational collapse scenario, these technologies would probably be "lost," as we would collectively lack the capacity to reproduce them.

At the same time, we live in a world historic moment where a single person can create a fairly elaborate piece of software all on their own; certainly one complicated enough that they wouldn't otherwise be able to produce it without assistance. Whether or not generative AI makes good, well-designed software, it can make a lot of software. And with this there's a defence of vibe coding I've heard a few times: A sole maintainer could never build software this complex. It's too much to ask of a single person.

I find this thinking a little disappointing. Generative AI has a way of promoting social isolation. While one person might not be able to make something sufficiently complex to tackle high-technology problems, perhaps ten people could.¹ If they're all working on the same vibe-coded solo projects in parallel, then they have ten times the externalities with none of the benefits.

I feel like now more than ever, we need to work together to build software.

And it's hard to avoid the fact that most software projects kind of suck. The typical FOSS project feels more like a small intellectual fiefdom than a "community" in any meaningful sense. I think this is sort of a natural outgrowth of the fact that most of these projects start as solo-projects. People want to help out, but they have to go through the maintainer. They have to be done the way the maintainer wants them to be done. You have to face criticism for your work in the form of PR review. If you have an opinion on how something should work, you need to persuade those with more power than you. Whereas most of us are doing this free labour for fun, this isn't exactly fun.

I think we as computer people have collectively got a lot of learning to do on how to better foster community. But at the same time, it's worth interrogating why I feel so much better about working on solo projects than working with others. Sure, part of it is that it's nice to feel in control, but why is it so important to feel in control? I think editing Wikipedia has forced me to reckon with this a little. You can spend a ton of time working on an article, to the point that it truly feels like "your" writing, but it isn't. Others can come and chop it up. Maybe you don't like how they changed it. Maybe they have a policy reason for their changes. Maybe they don't. In any case, there is a larger project you are working in service of, and you need to be willing to respect that. That feeling of community should replace the feeling of being in control.

In this world-historic moment of vibe-coded high technology, GitHub is littered with terrifyingly elaborate projects that have only ever been experienced by a single person. 100k lines of code. 400 pages of documentation. Zero stars. It feels a bit like a ghost town.

As an occasional reader of hot network posts on Stack Exchange while procrastinating, over the weekend I was reading through a few Q&A posts on the subject of crankery. This answer had some thoughts that I think are pertinent:

Here is a brand new mathematical theory I have invented just now (in the last 30 seconds):

A Gobleflump is a set together with a ternary operation Star(a,b,c), and a binary operation Spade(a,b) satisfying Star(Spade(a,b),Spade(c,d),Spade(e,f)) = Spade(Star(a,b,c),Star(d,e,f)).

I could now devote my life to the study of Gobleflumps. I could publish papers about extremely regular gobleflumps, and the equivalence between hyperconvex gobleflumps and hypoconvex grendleflops. This might all be legitimate, correct mathematics.

No one will ever care about my life's work, or probably even read it, unless it makes some connection to existing mathematical theory, illuminates why something disconnected from the theory works the way it does, or solves some existing problem.

The reason is just that mathematics is a social activity.

If you're doing something merely for your own enjoyment, or to realize a very particular vision for your own interests, then it makes plenty of sense to work on something on your own. But if you're trying to solve a general problem or create something you want to bring into other people's lives, then I don't think it really makes sense to work on your own. In all likelihood, there's already plenty of people trying to accomplish the same thing, and they could use your help a lot more than Anthropic could use your money.

Footnotes

¹ For what it's worth, I think a better way to tackle high-technology problems is with low-technology. In any case I think the point still stands.

Respond to this article

If you have thoughts you'd like to share, send me an email!
See here for ways to reach out