Skip to main

Well, I return sooner than expected (see last post). GitHub has finally placed the final straw on my metaphorical camel, and broken its back, by sending me an email about GitHub Copilot CLI… with no unsubscribe link.

I did not sign up for marketing emails and actively work to keep them out of my inbox by whatever means necessary. This unsolicited notice has finally convinced me that GitHub as it currently stands is no longer somewhere that I wish to promote by continuing to push my code to its platform. This is a relatively minor event overall, but I had already been considering dropping GitHub as I find the site more and more non-functional for my day-to-day usage. I haven’t been affected much by the downtime yet, but I am continually affected by their code viewer introducing weird jank by its nature of being <canvas> based now, resulting in misaligned text, copying issues, problems jumping to lines, and more.

It worries me that they had a search downtime so severe that issues and PRs could not be properly searched for multiple days. The SPA nature of the site continually breaks my back button and history, and recently it has started failing to load new pages completely, requiring me to manually refresh the page to force it to actually make a normal web request and get the full page state. This entirely defeats the point of even having an SPA in the first place.

I haven’t kept a good record of everything that annoys me about GitHub, and I’m sure there’s more I don’t remember. But hopefully, this shows that the email I got is just the latest in a long-standing decline in quality at GitHub.

Where I’m going next

I need to balance a few different concerns when selecting where to host my code. In approximate order of importance:

  1. Transferrable. I should be able to export my data, for the inevitable future migration.
  2. Open Source. The project should be open source, so it’s at least possible for me to use the exported data in the original form.
  3. Social. Others should be able to easily file issues and make PRs, with minimal friction.
  4. Sustainable. The company or person hosting it must have a sound plan for keeping financial incentives away from the project, so it is less likely to be cost-cut to death. In practice, this means it should be a non-profit corporation or public service; or self-hosted.
  5. Vibe. I should like the vibe of people working on and owning it. This is pretty subjective of course.

With these in mind, here are the options I considered.

Tangled

Tangled is something I recalled going around BlueSky last year. They are Open Source, and their AT Protocol base means that it can be considered Transferrable and Social as well. However, they fail my Vibe check by having some of their primary discussion platforms be Discord and X. I’d like to reduce my reliance on these platforms due to their closed nature (both proprietary and having login walls). They also fail at being Sustainable, as they are funded by VC money. At some point, those investors will want a return, and I’ve seen what happens then many times over. So I discarded Tangled as an option.

Radicle

I’d also heard about Radicle a little bit. They are again Open Source and, due to being decentralized entirely, also Transferrable. However, the current state of it is that all operations must be performed by CLI or their Desktop app. This severely limits how Social it is, as it’s much more involved for someone to even file an issue on my project. Their Vibe is a little bit uncertain for me. In terms of communication, they do still have a presence on X, but the primary development communication occurs on Zulip, which I like. Their primary funding comes from Radworks, which appears to be some kind of variant on a DAO. I’ve heard some good arguments against these, essentially that because it still has to interact with the traditional expectations of other entities, someone will always be holding the power to make changes without going through the formal on-chain process, making it not much different from a normal organization but with a lot more overhead. For example, someone has to own the domain and DNS for it, and whoever has access to that can make whatever changes they want.

However, the Radicle devs seem to be considering moving away from this as their primary funding. I’m also still not sure myself if I consider it a problem. Radworks seems to be somewhat aware that they are not entirely bound to the blockchain, and explicitly have some off-chain mechanisms. And Radicle itself is actually owned by the non-profit Better Internet Foundation. Overall, I’m not sure how I feel about them being Sustainable.

If Radicle had a usable web interface and some more time to build trust that Radworks is sustainable, I would likely pick them. I really like the ideas, but it seems they still need some more time to cook.

Self-hosting

Self-hosting, to me, is the ultimate Transferrable and Sustainable option, as I would only shut down the service if I did not need it any more. Due to my preferences, anything I picked would obviously also be Open Source, and obviously I like my own Vibe. But the one way that this currently fails is Social. The established options that are self-hostable (Radicle again, Forgejo, GitLab, etc.) all would still require users to either use weird interfaces or to sign up for an account on my personal instance. I consider that unacceptable friction. I would really like it if there was an option for federated or decentralized forges, but it’s just not there yet as far as I can tell.

I unfortunately must discard this option.

GitLab

I did not spend much time looking at GitLab as I’ve previously tried using it, and found that I really did not like how the website felt. I just don’t like the Vibe, and for me, that was enough to barely consider it.

Codeberg

We now come to Codeberg. Based on the Open Source Forgejo, they even advertise on their docs that you can migrate from their instance to another Forgejo instance using the same migration tools they offer, easily making it Transferrable as well. I’ve seen a lot of projects moving here, and they already have a sizable userbase, making it a pretty good Social contender. As a non-profit with a decent donation record, they look pretty Sustainable. And finally, I do like their Vibe. They even kept the Anubis mascot on!

So clearly, I’m going to start moving over to Codeberg. My account is at the typical octylFractal. I won’t be moving over existing repositories en-masse, but whenever I update one, I will be copying it to Codeberg first and archiving the GitHub original with a notice. I’ve started with this very site, which used to live at https://github.com/octylFractal/octylFractal.github.io, and now lives at https://codeberg.org/octylFractal/octylsite.

Let’s keep fighting the enshittification of the online web as best we can; by making conscious choices to use better things where we can.