Leaving GitHub behind
4 Oct, 2025
This has been coming ever since I first thought about uploading my projects online. In fact, YAMDCC was never destined to be uploaded to GitHub in the first place, instead being considered for upload to GitLab. I decided on GitHub because they are the bigger platform (meaning better discoverability), I already had the account from a school group project (don't go looking, it was never made public), and GitLab's UI kind of sucks ass.
Then, over a year and a half later, on October 2, 2025, I decided I'd had enough of GitHub, and moved all* my projects to Codeberg over the next day. Here's why.
Why?
There are various reasons to stop using GitHub for your own projects, but there were three factors that went into my decision: AI training, GitHub's code archive program, and the (as of writing) upcoming social media ban for under-16s in Australia. Let's talk about AI training first.
GitHub trains their Copilot AI on your public code
This should not be surprising to anyone who's used (or even heard about) generative AI in the past few years. The problem with Copilot training on all public GitHub repositories is two-fold:
- Improper author attribution: Copilot, to the best of my knowledge, does not give credit to the original author of the code it used to generate responses for you. This is an issue because it usually breaks the terms of the license the code was originally licensed under (unless the code is public domain, in which case it was free for taking).
- Copyleft license violations: Many open-source projects (including mine) are licensed under copyleft licenses (for example, the GNU General Public License), which require original author attribution and derivative projects (either modifications to the original, or as part of a larger project) to be open-sourced under the same license. Copilot, however, doesn't care about the license of the original code, and as such the output may be used in projects under any license – even proprietary ones!
Finally, before you ask: yes, it's probably too late for my own code that was on GitHub before being moved here.
GitHub includes all public repositories in their preservation programs
This might not be a downside to some people, but I don't want my code in their arctic vault, or whatever their next archive program will be. Unfortunately for me, GitHub does not give you the option to disable your code from being included in their archive programs by default, instead electing to make this a per-repository setting that's enabled by default. I'd screenshot this and include it here, but GitHub hides this setting (along with most others) for archived repositories. Hopefully that means they won't be including it, then, since I made sure the option was disabled before archiving my repositories.
Regardless, as of writing, the last (and only, that I can find) archive program happened back in 2020, before I even made my account.
Australia considers GitHub social media
This is a topic that will be covered more thorougly in another blog post. But for now, what you need to know is that Australia passed a law in December of 2024 that will require age verification for everyone to access social media starting December of 2025 (as of writing, only 2 months away), with the intent to prevent minors under the age of 16 from accessing it.
The problem with this is that thanks to the eSafety Commissioner's loose definitions on what constitutes a social media service, GitHub is probably also going to be included in the ban, which I found out through this news article. Wouldn't want the young ones to learn version control...
Finding an alternative platform.
Late last year, I discovered an app to manage your smart gadgets (fitness trackers, headphones, and more). The developers host their code on Codeberg, so I made an account there in April to interact with the app's developers (after buying a watch to use with the app – maybe I should post on that as well...)
Codeberg? What's that?
I guess you could call it an iceberg for code.
...Okay, all (terrible) jokes aside, Codeberg is the flagship instance of Forgejo (according to this person, pronounced "for-JAY-o"), an open-source, self-hostable Git repository. From what I can tell, the organisation behind both seem pretty chill, and the UI is quite nice as well (it reminds me of old GitHub a little bit). Plus there's no gen AI in sight. I considered mirroring my code over there back when I first made my account, but that didn't happen due to me not knowing how to handle multiple pull request trackers (among other things, such as Not Being Bothered™). So my code stayed on GitHub...
Actually making the move
...then October rolled around, I found out about that whole social media verification thing talked about above, and made the decision to move. Although when writing this it sort of dawned on me that the social media bans will probably apply to Codeberg as well thanks to those terrible definitions on what social media is according to the legislation. Either way, I'm done with GitHub for my own projects (I will still make issues and PRs for projects still on there for as long as I have access), and don't forsee bringing them back.
I will go into more depth on why I don't like the age verification laws, and their privacy and security implications, in another blog post. But for now, I'm happy to leave GitHub behind (although not so much about the lack of working CI as of writing).