Quitting GitHub
Thoughts on quitting GitHub, and a path away from big tech owning our work.
(Hey newsletter people, I'm still figuring out how to fit this into my writing workflow. If it's been so long since you subscribed you don't remember why... sorry about that. Since I skipped a post or two there's a bonus section at the bottom with a few other things I didn't send earlier.)
Quitting GitHub
(Permalink: https://www.jpt.sh/posts/quitting-github/)
I've had this post sitting in my drafts since April. I decided to finish it in light of the news that GitHub is no longer independent inside Microsoft and going full-tilt into AI slop.
I've decided to migrate all of my personal projects1 off GitHub— come join me!
Going forward, my public work will be on https://codeberg.org/jpt/
Read on if you'd like to understand why, or you can skip to Where To? if you'd like to make a similar move.
Requiem
I joined GitHub in 2008, a few months after it launched, and by 2009 I was using it every day.
I was a reluctant user at first, Git was new and I didn't like it very much.
There were competitors to both git
and GitHub, and while I preferred those, it was clear that GitHub was winning mindshare.
GitHub had a nice interface, a bit better than most competitors, but it was trendy and quickly benefited from a network effect.
You wanted people to find your code? GitHub was where it had to be.
I eventually came to like GitHub (if not Git) and I used it quite a bit over the next 16 years.
I maintained Open States and all of its related repos on GitHub2. I have continued to maintain a half-dozen Python libraries that are decently popular, enough that I qualified for a permanent free 'Pro' account when that was a thing. I got the code-on-Mars badge, and the in-the-Arctic Vault badge, which were fun at the time. Far from a perfect measure, I have made thousands of GitHub commits every year, for over a decade. (here)
For the most part, I've found this greatly fulfilling & rewarding, I appreciate how helpful of a platform GitHub was. There is no doubt I've gotten contract work & probably entire jobs due to my GitHub presence.
All of that has changed, GitHub is in the process of enshittification and I wouldn't be surprised if it looks more like the other Microsoft-slop-factory, LinkedIn, before long.
Enter Microsoft
When Microsoft bought GitHub in 2018 it was concerning to many of us that believed in the ethos of free/open source software.
If you don't remember a time before GitHub, you may not remember that Microsoft was Public Enemy #1 of the Open Source movement for most of its history.
Microsoft was particularly notorious for a tactic known as embrace, extend, extinguish2. It works like this:
- They would embrace an open standard, such as HTML.
- In the name of innovation, they would extend the standard. Internet Explorer offered custom extensions to HTML, exclusive to that browser.
- They would then extinguish the open nature of the standard, locking browser users into Internet Explorer since sites important to their job or life required Internet Explorer.
This strategy has worked well for them, and helped them entrench their OS and browser monopolies. (Today, Google has perhaps become even better at EEE than Microsoft, but that's a different blog post.)
Some developers fled GitHub shortly after this acquisition, and I'll take their told-you-sos now. I personally was of the wait and see camp, at first it seemed like Microsoft had turned over a new leaf, they'd embraced open source in a number of places, they even ship Linux distributions now.
But whatever goodwill the era of a more open Microsoft may have earned them is gone. Microsoft's genAI posture is incompatible with free/open source software.
Free/Open Source developers, those working in public on everything from personal projects to essential pieces of infrastructure, have done so for decades under a few essential conditions3:
- You cannot remove the authors' names, copyright, or license.
- For some licenses (free software/GPL family), you must release your own code under the same license.
This isn't much to ask when you consider the fact that open-source software is critical to the infrastructure of the web and virtually every tech company (by some estimates it has been an $8.8 trillion dollar gift4 boon for the tech industry).
Yet, it is obvious that Copilot & other LLMs violate this blatantly. This is the same way they steal from artists and authors with the intent of devaluing their work, except many programmers are contributing to it voluntarily. It is far from a theoretical matter either, ask for string algorithms or state-legislative scrapers and it isn't hard to coerce Copilot & ChatGPT to spit out code I personally wrote, code colleagues of mine wrote, enough so that it is recognizable. Without attribution. Without license.
Microsoft is openly subverting Free/Open Source licenses as well as the social contract that we work under.
This is fundamentally a labor issue. Developers of free & open source software still own their software, the fact that we choose not to charge for it does not diminish our ability to say what can & cannot be done with it. That is the truth that all licensing is premised upon.
Microsoft and other genAI companies are committed to saying "not good enough, we'll take it for free."
Leaving GitHub is the smallest step we should be considering, withdrawing consent for them to use our work altogether should be on the table.
Where To?
Even before all this, GitHub has felt more and more bloated for years now. It feels slower and the interface is increasingly filled with features I have no interest in.
Wanting to escape unnecessary bloat for smaller projects and aware that I may need to get away from GitHub someday, I started experimenting with Forgejo. Forgejo is a great piece of software. The interface is reminiscent of GitHub circa 2010, fast and functional with minimal cruft. If you install it on a $5/mo personal server you & your team (or friends!) can have unlimited repositories, organized however you like. I've been using it for about 18 months and it's been completely painless.
Of course, not everyone is going to host their own git forge.
The best fit for most people is probably Codeberg, a non-profit hosted forge using an enhanced version of Forgejo. Most importantly, it is managed by a democratically-run nonprofit that you can join to get a say in how the site is run.
If you are looking to join a group of people sharing the self-hosting burden to migrate away from big tech, you can also check out https://unnamed.computer. My experimental projects & ones worked on in that community will live there.
edit Since this post is gaining some traction, I figured I'd add a few other alternatives:
- https://sourcehut.org is an independent forge with a focus on simplicity. I liked it but it didn't quite fit my needs overall, but might be worth checking out.
- https://radicle.xyz is a forge focused on avoiding centralization. I really like the idea here but haven't had time to try it out.
OK, how?
One of the great things about git is that there's nothing special about the GitHub remote you push to right now.
You can update your git remote
and be pushing to a new server in seconds.
If you have projects with issues and other things you want to migrate, Codeberg/Forgejo makes it very easy to connect your GitHub account & import your old repos. I took the extra time to set up mirroring so a few of my larger GitHub repos don't disappear on people overnight. I'll revisit that decision in a few months.
All-in-all I migrated over 50 repositories to my two new forges.
If you have lots to do, this script looks promising: https://github.com/PatNei/GITHUB2FORGEJO but I didn't see it until after I was done :)
Postscript
In the days it took me to edit this, my country slid further into autocracy. It often makes worrying about free/open source software seem... trivial. That said, I am firmly of the belief that to confront the threat of fascism, we have to confront tech's role.
Feel free to reach out, you can connect with me on mastodon or bluesky.
You can subscribe via buttondown, or you can use good old fashioned RSS.
Newsletter P.S.
- My students build a few more terrific public interest tech projects this spring that you might want to see: https://www.jpt.sh/posts/2025-spring-projects/
- https://bees.free
- https://unnamed.computer
Footnotes
-
I'll continue to use it when required for work, and I'm keeping mirrors around (for now) of projects that had >100 stars— but it no longer seems ethical or responsible to support GitHub.1 ↩↩
- https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish
-
I am oversimplifying a bit here, dozens of licenses exist, but most have similar essential guarantees. ↩
-
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4693148 ↩