Over the past long while I’ve been moving all my personal projects from GitHub to Codeberg. I’ve decided to do this for numerous reasons: some ideological, some practical, and some personal. I thought it might be worthwhile to list them here, in case others are curious about the viability of such a move.
Here is a list of reasons, in no particular order:
- It simply doesn’t make sense to build free software on a non-free platform.
- By continuing to use GitHub, I am be driving contributors and technical users to the platform, which allows Microsoft to maintain its market dominance.
- Conversely, by leaving GitHub for another platform, I am demonstrating that it’s a perfectly reasonable and possible thing to do.
- Microsoft’s headstrong push into using more and more AI on the platform is contributing to the global climate crisis (among other issues).
- GitHub has a “maximalist” interface, and I find that I can never actually locate what I’m looking for. Codeberg’s (or rather, Forejo) interface is minimal and much easier to navigate.
- Codeberg is actively working on ActivityPub support, and is a participant in the Fediverse. It also provides excellent support for RSS, so folks can follow your work without needing an account or having to use proprietary software.
- Codeberg is a nonprofit that is operated by its members, with each member having voting rights and a say in the direction (of which I am now one).
- Codeberg is built on top of Forejo, which is open-source and battle tested, and it contributes upstream to the project.
- The more people who use a wide variety of services, the richer and more diverse the ecosystem. If one code hosting service goes down, it’s easier to simply migrate to another (admittedly, the distributed nature of git makes this generally true regardless of the repository you use).
- This represents a fresh start for my projects. Over the past decade I’ve learned a tremendous amount about what it takes to make software, and some of the best practices for doing so. While I’m still far from perfect, and will never be a “professional developer”, having a place to start fresh and do things semi-correctly is nice.
- There is less scrutiny there, which feels more freeing. The things I do feel less visible, somehow, which puts less pressure on me.
- It allows me to have some level of separation in my work. GitHub is where my work happens for my employer, and Codeberg is where my work happens outside of work hours.
That’s not to say I am completely off of GitHub. I plan to continue using it for my personal website (it is always ethical to use the billion dollar company’s bandwidth rather instead of the smaller org with fewer resources to spare). In order to publish my apps on Flathub, it’s necessary to maintain a presence there. But for most day-to-day work, you can find me here: https://codeberg.org/nathandyer