an ai user forked my pet project
2026/02/22
Note: not linking the project or the discussion thread, I don't want anyone harassed about this, I consider this a personal matter for me to contemplate and get over
I've been (slowly) working on my pet project, ssheven ("A minimal new SSH client for Mac OS 7/8/9!"), which has somehow accumulated a few users and inspired some other projects. Including a Claude-assisted fork. To be a little hyperbolic, I really expected AI to take my job before it took my hobby project. I wouldn't say that I've been explicitly harmed, but I still have feelings about it that I'd like to write through.
pragmatism vs. I hate AI
In a professional sense, I think we programmers need to be pragmatic. And as humans, we need to face reality and carefully consider it. I've found that engineering is fundamentally an economic matter of cost tradeoffs, which in software means developer time. Concerns like code quality, testing, maintenance, security, challenges we already deal with, all boil down to time. We grapple with the application of technical debt, and I don't think LLMs change the tradeoffs at a conceptual level. If usage of AI can produce adequate results with reduced time spent, in a business context, we should use them. Obviously "adequate" is doing a lot of lifting there, but let's be real, most human developed software is a mess today and the machines are getting better.
There are lots of anti-AI arguments floating around the space, but I think most of them aren't well founded or relevant to software; a few of them here:
- environmental concerns are valid, but I'm not convinced AI is worse than all the other dumb misuses of computing power
- new RAM and GPUs have become really expensive, but I don't think that's a moral problem with AI
- CEOs and startup freaks say stupid things about AI, but they're (CEOs) divorced from reality or (startup freaks) profiting directly/indirectly on hype
- mass surveillance and highly targeted political abuses will become worse and more pervasive because of AI, but I don't think writing/not writing code with LLMs will influence that
- everything is getting useless AI features added, but that doesn't rule out the existence of useful AI
- AI will make too much stuff, but we already have so much stuff
So why am I still kinda really mad about this person forking my project?
feelings about open source
I'm very committed to FOSS. I try to freely publish almost everything I make, maybe to share techniques, provide something useful, or inspire others to build something of their own. It's extremely rewarding to see my work out in the world, and I'm happy to say that almost everything I've released has been used or adapted by someone. I occasionally get contacted about things I worked on over a decade ago! So to me, even if they're niche topics of minor benefit, putting them online is a fundamentally social activity.
I use various licenses contextually, though I prefer the GPL. Part of that, of course, is how anyone can use the projects however they want. I would say I've explicitly given up the right to complain. There's still a lot of subtext beyond the license, though; as a hobbyist, I think releasing a project is more like saying "I'm putting these toys into a social space, and I want to play together in a certain way," than it is "here's a legal contract." The license covers some explicit legal aspects, but there are communal norms about it that we don't put into words. Even something like a bug report has a lot of significance: a user is spending their precious time to, as usefully as they can, make my software better, but it's also a request (or demand?) for labor.
Absent corporate funding, open source projects live and die based on the attention they can sustain, both from users and developers. If there's no users, developer attention will be hard to get. If there's no developers, there's no software. Because of this, I think the most aggressive thing you can do with a FOSS project is fork it. A fork is an attempt to split (and then claim the majority of) the only resources a project has. It's very uncommon for both branches of a forked project to stay healthy.
That's probably more relevant for larger projects, but for ssheven? To me, a fork of a personal project reads more as "I'll take your code, but... "
- "I don't trust your technical judgment."
- "I don't agree with your sense of taste."
- "this project is dead and I want to inherit it."
And to do it without any communication, to have Claude do a commit removing every mention of the project name, really hits me as "I'll take the work you've done but I don't want to collaborate with you." Which sucks!
feelings about my projects
As I mentioned above, the constraint on software is developer time. And as a mediocre programmer with a job, health issues, and various hobbies, time is ever so scarce. Therefore I choose what to work on very, very carefully. For each project, I try to find something:
- I can learn from
- Nobody else has done yet
- Someone else might find useful
- In a niche where there's some underappreciated intersection of tools or techniques so I can get a lot of leverage, because I'm so tired all the time
For ssheven, I wanted to revisit the computers of my childhood, but with the perspective of a modern software developer. I wanted to learn how the classic Mac OS worked, why it did so well early on but ran into technical challenges that almost killed Apple in the 90s. I imagined a piece of software people wanted but didn't exist. I saw a set of tools and libraries (Retro68 (thank you so much Wolfgang Thaller/autc04), mbedTLS, libssh2, libvterm) that could be woven into something cool. I wanted to grapple with nostalgia and the unchanging stasis (stagnation?) of retrocomputing versus the endless computing treadmill we're on. I made ssheven specifically as a meditation (or wail of despair) on obsolescence; why can't we keep using a computer forever? I'll admit I found comfort in knowing that Mac OS 7 won't change, and whatever pace I work at won't fall behind.
So there's more, to me, than just code in ssheven. This whole situation seems like a weird mirror of the standard criticism that AI is a plagiarism machine. You have a machine that can write any code you want, but what you really want is to bolt some (in my opinion) ill-considered features onto my work? And to do it so casually, then post about it! Uncharitably, it feels like being shown a traced version of something I've drawn. I'm glad you're excited, and tracing can be a useful step in learning to evaluate shapes! Now go develop your own ideas and bring something new into the world!
But ultimately this is just a few KB of code I wrote, I'll keep working on it and my other projects as I please. It's interesting to have such a small thing suddenly intersect with the big questions.
aside about AI art
Never show me AI generated images or writing. If you do, you are my enemy and I consider it an attempt to poison me. In almost every context I think AI is anti-human and will be used for anti-human purposes.
Why, then, am I somewhat okay with it being used, in some contexts, for code? Is code art? I think it can be, but I believe the ultimate art of software is when a program is fast, correct, and easy to use. Artistic input has been somewhat important for all of those, but I don't think it inherently, forever, has to revolve around the writing of code as we currently do it. Software is ever so rarely meant to be read instead of made for use, and the degree to which code is made pleasing is utilitarian, not as art on its own.
That's all completely irrelevant for personal or educational projects. I will never stop writing my own code (or drawing). With any luck, in sixty years, I will be found dead face down on a keyboard with a million lines of GCC error messages on the screen in front of me.
aside about licensing
Sometimes I joke that LLM stands for "license laundering machine." I'm sure ssheven has been slurped up. And along with the transition of everything to software as a service, plus the takeover of essentially all OSS by corporate interests, I've grown cynical about licensing. I'll continue to use free code and share my work because I am, unfortunately, a true believer, but I don't think we'll see the mass adoption of user-respecting software without UBI or something.