Goodbye GitHub (and fuck you). I’m done with GitHub.com, and have been for a while. I stopped committing code there years ago, and I have now moved what was left.
I’ve been drifting away ever since Microsoft bought GitHub. Not because I think every Microsoft employee wakes up and twirls a villain mustache, but because incentives matter — and the incentives of a data-hungry platform company do not align with “a global commons of code”.
For a long time my compromise was: keep the repo local, publish the output.
So I built my own git-repo-to-static-site pipeline and used that instead. Less social. Less friction. More control. No “engagement”. No product surface trying to become a platform trying to become a rent extractor.
A few months ago I took the last step and spun up my own Gitea server. That means I can host my own repos, handle pull requests, and keep the workflow features people pretend require GitHub.
It turns out they don’t. They require git. And a web UI. That’s it.
Microsoft didn’t just buy GitHub — for companies like Microsoft it’s never just about owning more — they bought the position and power. Then came the part that removes any remaining benefit of doubt: the normalization of code harvesting as “AI”.
GitHub (Microsoft) is collecting interaction data for Copilot and then — depending on policy, model training, productization, and whatever they decide is “allowed this quarter” — selling the result back to the people who wrote the underlying material in the first place. Isn’t that fucking neat?
They even have a page for it, with the kind of language that always shows up when someone is trying to make extraction sound like “user value”: https://github.blog/news-insights/company-news/updates-to-github-copilot-interaction-data-usage-policy/
This is the part where I stop being polite.
If you build a system on top of other people’s work, and then you monetize the output while calling it “assistance”, you’re not building tools. You’re building a toll booth on a road you didn’t pave.
Or more accurately: you’re building a laundering machine. You shove a public commons into a black box, shake it until it spits out “products”, then show up with your hand out like you contributed something other than appetite.
Also: the “auto opt-in” checkboxes.
That whole design pattern is the moral equivalent of “if you don’t read the 37 screens, we assume you agree to be mined”. It’s not consent; it’s default capture. It’s a bureaucratic trick stapled onto a UI.
Yes, I unchecked them — even though I never checked them to begin with. No, I don’t think that solves the underlying trust problem. It just reduces how much I’m participating in it.
So I migrated everything that wasn’t already living on my own site to my Gitea instance.
From now on:
- GitHub is not my canonical source for any repository, and not a mirror for any.
- GitHub is not my collaboration hub.
- GitHub is, at best, a place I make smaller pull requests for other people’s convenience (and even that is increasingly hard to justify).
If you want my code, you’ll get it from places that don’t treat it as future training data by default:
- https://git.noxz.tech/ (my static git site)
- https://gitea.noxz.tech/public (migrations from github.com, including issues, etc.)
This isn’t nostalgia for the old internet. It’s just basic threat modeling.
When a platform becomes infrastructure, and the owner’s business model becomes “extract, model, resell”, the correct response is not to write angry tweets or similar. The correct response is to leave.
Not because you will win some moral battle. But because the only leverage you actually have is this: where your work lives, and who gets to build products on top of it.
So: goodbye, GitHub. And fuck you for trying to turn a commons into a vending machine.
Licensing note (since this apparently needs to be said)
My code is licensed. That license is not decorative, and it is not a vibes-based suggestion.
If you ingest my repositories (or substantial portions of them) into a training dataset and then use that dataset to produce, ship, or sell a proprietary system, you are still bound by the license terms on the original works.
In particular, for anything I’ve released under copyleft licenses, you do not get to take the code (or derived works) and make it proprietary just because you ran it through a model first. If your use creates a derivative work, distribution triggers obligations — and “but it was AI” is not a magical exemption.
If you want rights beyond what the license grants, ask. Otherwise: comply, or don’t use it.