jcrenshaw.dev
john
writing / I Argued Myself Back to GitHub

no.19 · note

I Argued Myself Back to GitHub

Last December I left GitHub in a blaze of principle. I wrote an entire post about why and told you to come with me. Now I'm back on GitHub, get the laugh out of your system, I already did.

One thing carried me off GitHub and the same thing carried me home, and it wasn't Microsoft and it wasn't the money. It was what I believed others were saying about AI, and the only thing that changed between the leaving and the coming back is that I made myself look at it twice and did the research myself. Something I usually do, this time I didn't and this is me owning up and correcting course.

Nobody tells you the truth about staying good at this work. The skill that matters least is knowing things. The skill that matters most is being willing to unknow them, to take a position you argued in public and hold it back up to the light when something new lands on the table, and let it go if it doesn't hold. I have watched a lot of engineers get locked into the smartest version of themselves from fifteen years ago and then coast on it for the rest of their careers. I decided a long time ago I would rather be wrong out loud and fix it, than right once and stuck.

What put my GitHub position back on the table wasn't GitHub at all. It was the fight over AI in the COSMIC world, the applet maintainers drawing a hard line against anything a model had touched, closing pull requests without a word, one of them laying out a theory in chat that any code an LLM generates is public domain and that you forfeit the copyright on your entire project if you don't confess which lines it wrote. I went into that argument certain they were wrong and ready to prove it, and I did, I spent an afternoon with the actual sources, the Copyright Office guidance, the Thaler case, the statutes over in the UK and New Zealand that hand a computer-generated work to the human who arranged for it, and the whole scary theory came apart in my hands. The legal threat that was supposed to make you disclose turned out to be a garbled description of a registration form. I wrote that fight up at the time, and I stand behind every word of it.

Then a funny thing happened on the way to being right. Once I had pulled their argument apart, I couldn't stop looking at the assumptions sitting under my own. I had left GitHub in large part over how these models get trained, code swept up under licenses that got ignored, no attribution and no consent, and I still think the consent question is a real one. But somewhere along the way I had let that specific objection swell into something bigger and blurrier, a general suspicion of the whole technology, and when I held it up next to the theory I had just taken apart I recognized the shape. It was fear doing the thinking. If their premise was garbage, I owed myself the same close scrutiny.

It took the better part of seven or eight months to actually move, because I don't flip a conviction in an afternoon just because a comment thread got under my skin. I read, and I built, and I used the tools I was suspicious of, deliberately, to find out what they actually were instead of what I was afraid they were. Where I landed is unglamorous. AI is a tool. A very advanced one, and in the hands of an engineer who can't read what it hands back it's a genuinely dangerous one, but a tool, not the enemy and not the savior. I still have concerns, and the biggest one isn't copyright at all, it's the environmental bill, the water and the power we are pouring into these datacenters like the meter isn't running. That's the worry I can't argue myself out of. The one I left GitHub over, I could.

Which is what changed the hosting question, because a position isn't free, it costs you something to hold, and when the reason underneath it changes you have to be honest about what's left. What was left, once that objection had moved, was a plain matter of access. The people I want to reach are on GitHub. The discovery is there, the tooling everyone already knows is there, the person who might stumble onto my work and get some use out of it is there, whether I love the ownership or not. I spent a good while making my own code harder to find in order to make a point, and if I'm honest the point mostly landed on me.

I want to be clear about the thing I did not do, which is talk myself into hosting all of it on a box under my desk. I spent a career shipping systems where uptime got measured against five nines, where the failure doesn't come back as a bad review, it comes back as a payment that didn't post or a door that didn't open or a civil alert message that didn't go out, and I know exactly what it costs to keep something reachable every hour of every day. I'm one retired guy. I am not five nines, not for the public, and I proved it to myself again this year when the single machine running all my home DNS fell over on a Saturday morning and left every device in the house quietly pointed at the open internet. I rebuilt that so nothing rides on one box anymore, and I'll happily do that kind of work for my own household, but I won't ask the people who depend on my code to bet their access on my garage. Public things belong on infrastructure that can actually stay up.

What I hold onto is what I always held, which is the key. The repositories moved, but they're signed now with a new one I cut under my own name, and the trust in what I ship still begins and ends with me. GitHub stores it. GitHub doesn't vouch for it. My personal things aren't even up there, they're still on GitLab for the moment and the private junk is migrating onto a local repo running on that same little home server that guards my network, because that's where it belongs. The public work goes where the public is and the private work stays home, and that line between the two is most of what I've actually figured out this year.

There's one part I am not walking back, because it's true and it's what kicked all of this off. A gate that runs on a mood is still the worst gate there is. I left the COSMIC store over maintainers who would close your contribution without reading it depending on how they felt that day about the tool you'd used, and that is still a lousy way to run something people depend on. The joke of it is that their war on AI is exactly what sent me back to reexamine my own position on AI, and reexamining it is what walked me back to GitHub. Their gate is the reason I'm standing at Microsoft's now, and I get to live with that irony. I would still rather deal with a company whose incentives I can read off a balance sheet than a volunteer whose incentives change with the weather.

The rule I took out of it is the only one that matters. A conviction you refuse to reexamine stops being a principle and quietly turns into a souvenir. I picked mine up this year, turned it over, and set a different one down, and if that costs me the fun of having been consistently loud about it, that's a trade I'll make every time. Being consistent is the easy part. It's just staying wrong on a schedule.

I left, I looked again, I came back, the same door with a different man walking through it.

← index ← previous: The Last Default