We moved to Codeberg

We moved to Codeberg

Hi everyone!

As some of you might have noticed we moved Black Magic Debug to Codeberg. All the repositories that used to be hosted on GitHub are now marked as archived, and an archive branch is set as default. We have not deleted the main/master branches on those repositories to not actively break things for people. All future work will continue on Codeberg.

How to migrate

If you have checked out any Black Magic related repository, you should be able to redirect it to the new location. For example for the main blackmagic repository this would look like this:

git remote set-url origin https://codeberg.org/blackmagic-debug/blackmagic.git

In case you already have a Codeberg account and you would rather use ssh protocol, you can also set origin to ssh://git@codeberg.org/blackmagic-debug/blackmagic.git instead.

For all the other repositories you should be able to replace blackmagic with one of the other repository names redirecting access.

If you wish to contribute and already have a fork, first hit the fork button Codeberg-side to make a repo of your own there, then - presuming you have followed the contribution guidelines on what you’ve named the remotes - run the following (adjusting the origin URI to your fork) in your working copy to adjust it and push your existing fork branches to Codeberg:

git remote set-url upstream https://codeberg.org/blackmagic-debug/blackmagic
git remote set-url origin https://codeberg.org/<username>/blackmagic
git push --all origin
git fetch --all --prune

After this you will be able to contribute via pull request as before - note that if you have open PRs on the GitHub side that were migrated, please continue to keep those branches open on GitHub and push changes to your GitHub fork so we can continue the PR process. See below for more.

Papercuts

There are always some issues when migrating to a new place. Even though we were able to migrate all the Issues and pull requests from GitHub, the move resulted in severing the link between the Pull Requests and the git branches on GitHub.

If you have an open Pull Request on Black Magic, and would like to continue work on upstreaming your work, just get in touch with us and we will direct you how to either recreate a PR or let us force push your changes to continue work on the PR and getting it merged upstream. The easiest way to get in touch is to create a Codeberg account and comment on the PR that you would like to work on.

During the move we also lost the discussion section on the main blackmagic repository. If you would like to use a forum to discuss all things Black Magic Debug related we have a category for it in the 1BitSquared forum.

Why did we move

Now that we have the most important stuff out of the way, I am sure you are wondering why the heck did we move the project from GitHub.

The TLDR; is very simple: The continuing AI enshittification and exploitation of GitHub became too much for us as maintainers. This is why we decided to pull the rip cord and move somewhere else.

Now let us expand on this a little bit. We were aware for a very long time that relying on a centralized, corporately owned platform is risky. We have seen the continuing deterioration of centralized proprietary platforms all around us. Either through neglect, over eager compliance, or new ways of exploitation. It was clear that sooner or later we will have to move somewhere else to continue our work on Black Magic Debug.

GitHub is very aggressive at promoting their LLM related tools all through the GitHub UI. They “pinky promise” they will not train their models on our hard work. They only recently added a switch to Opt-Out from teaching their chatbots on user interaction. This does not even include the code hosted on the website. The fact that it is Opt-Out and not Opt-In says a lot about their attitude towards the topic.

LLMs are not just creating bad outputs that are hard to review, resulting in an undue burden on maintainers; but are also bad for society and our environment. People using AI lose their mental abilities by slowly giving up their critical thinking and cognitive abilities to a confident sounding text probability engine. No matter how smart you think you are, and how much you think you are “built different” and can “handle it”, they will get you the same way that advertisement and social media does, even if we don’t want to admit it. Those machines are built to gain our trust and make us give up our own agency by playing into our cognitive weaknesses. In the end, the brainrot results in people losing the capability to write good code not just because of loss of skills and ability, but also due to the lack of understanding the codebase and APIs. It might feel like these tools speed things up, but as with any performance enhancing drugs, the consequences are not worth the cost. And we are not even talking about all the copyright and licensing issues, or how the LLM chatbots interact with regular written word, or art in general, wreaking havoc on our society.

Additionally, AI datacenters are gobbling up massive amounts of resources. They use as much electricity and water as they are given, driving up demand and production, independent of where the resource is coming from. Both training and inference is extremely energy inefficient compared to any other computing we have been doing until now. It might only be comparable to crypto-mining of how wasteful it is. Even if you don’t care for the environmental impact, it is driving up the electricity and water prices wherever those datacenters are deployed. But it is not just power, the companies are building the datacenters in a frenzy, offering to buy as many chips they can get their hands on. Have you looked up RAM prices recently?

Last but not least, it is also clear that LLM/AI is the biggest tech bubble in history, which inevitably will result in a massive implosion of the market, and will hurt a lot of people in the process. We as 1BitSquared and the Black Magic Debug maintainers do not want to be a part of that.

Please consider spending your time honing your programming skills and understanding how things work instead. Don’t delegate this to a machine that gives you the impression of understanding by proxy. Your brain is a muscle, it’s use it or lose it. Or to quote Dune:

Once men turned their thinking over to machines in the hope that this would set them free. But that only permitted other men with machines to enslave them. – Frank Herbert, Dune

AI is not the only reason we moved. Long term we want to retain control over the infrastructure that we are using for the project. For many years centralized corporate platforms reigned supreme in the code forge arena, with the risks of not owning your own data . Thanks to GitLab, Forgejo, Codeberg and many others there are finally modern, worthwhile platforms to consider.

Why Codeberg

Despite what we said in the previous section, we are not set up to host all of the infrastructure ourselves yet. So the question was, which platform uses a good underlying software, and offers a decent hosting solution.

We mainly looked at GitLab and Codeberg, as both have pretty good reputations in the community. Both are modern platforms, with good discoverability of projects and the underlying software they run on can be self hosted if need be.

Based on experience from several people in the community we ended up disqualifying GitLab due to some pretty scary update experiences when self hosting. And comparatively Forgejo (that underpins Codeberg) is easier to keep up to date and maintained if we end up self hosting.

Also GitLab is making some very concerning moves of adding LLM/AI support to their platform. As we mentioned before we want to be as far away from that stuff as possible. Even if it is possible to fully disable the AI stuff on GitLab. In comparison Codeberg and the underlying Forgejo is quite overtly against the slop machine stuff, which is another reason to choose them over GitLab.

Codeberg advantages

As we already spent a few weeks on the new platform, to move the repositories and the CI systems over. We learned about some really cool advantages of Codeberg that go beyond our fundamental concerns.

It is possible to fast forward only merge pull requests, including the ability to automatically delete the PR branch. This is something that GitHub does not have as an option. In general Codeberg offers a wider range of interaction options than GitHub does. GH tends to be more opinionated.

The CI system is much easier to manage than GitHub. The main solution on codeberg is based on Woodpecker CI. Even if you don’t like Docker very much, having the ability to create a dedicated image for the CI runner is a massive improvement in startup time. It also results in a more flexible and easier to set up custom runners that use one’s own infrastructure. Additionally it makes it quite easy to run the CI task locally on the developer machine to test a runner. This is quite hard to do with GitHub Actions.

I am sure there are more great things that Codeberg offers which we will learn about as we continue our journey on their platform. Thank you Codeberg e.V. for offering this amazing alternative code forge. :)

What is missing

We are not fully done with the move. Our website is not autogenerated yet. But that is because Kat is working on porting our site to a new theme and a new static page generator framework. We are quite excited about it, and we don’t want to waste time setting up the automatic generation for a system that will be replaced very soon.

We are also continuing work to improve the CI system and binary releases. Most of the CI runners are ported to Woodpecker already and run better than ever. We also have a bucket to throw the nightly builds into, but we are not currently presenting those links anywhere.

How can I help

As always, if you like the work we do. We are always looking for contributors to the project. Otherwise if you have some money to spare, buy yourself a Black Magic Probe from our store, you can also get it indirectly from Adafruit or Mouser.

If you already have a Black Magic Probe you can further support us by becoming 1BitSquared’s Patreon and Dragonmux’s GitHub sponsor.

That will be it for this update. Happy hacking and if you have questions or comments feel free to send us a message on Discord, to esden on Mastodon or in our Forum.