← Back to context

Comment by antirez

2 days ago

Wow. I think that's a serious mistake. Maybe GitHub is no longer so great and snappy but nowhere to justify moving something that needs: 1. Money, 2. Exposition, to something obscure just because it's a bit better. It's Git with an UI anyway, there isn't such large difference. I don't care about the fact the post is harsh: it's the content that it is broken from my POV because. It is absolutely legit to do something like that, in theory, but when you are handling a project that - at this point - is also the chosen language of a non trivial amount of folks, you need to act not just following what you like, but what is better for the project in the long time, and it is very hard to see how going away from GitHub (the fucking big market of open source software in the main city plaza -- let's use the same post tones) is better for Zig. What I think it is better is, of course, not absolutely better, but let's zoom on this issue root cause. It is the classical developer intolerance for tool that are not "as they wish/think", which is very common among technical people, but is a POV, I mean this "tool oriented" workflow, where this little feature/customization matters so much in your life (instead of adapting a bit and do not care), that I believe is a problem in our industry, and also has effects on the design philosophy of many programmers, that are too details oriented. Coders spend the majority of their life in the terminal, not on in GitHub. To check issues / PR there is not this Stranger Things Upside Down nightmare.

Another problem with that is that you know what you are leaving, but you don't really know what you find in the new place. GitHub used to go down often in the early days. Now they may not be snappy and unfortunately like 99% of the web felt for this Javascript framework craziness. But the site is always up, I bet has disaster recovery and serious backup policy, and so forth. Can you find this so obviously in other smaller places?

GitHub Actions are seriously broken and that alone is a technically sound enough reason to move: the sleep.sh bullshit has degraded the performance of our CI for a long time, as it regularly livelocks in an endless while(true) spin runner agents, who stop processing new jobs. The agent itself has poor platform support also because it has a runtime dependency on .NET, and lately GH Actions started running jobs out of order with the result that old jobs would starve and time out, causing PRs to turn up red for no real reason.

It's a real problem to run a project like Zig if your CI doesn't work. I guess we could have paid for an external CI service, but that as well would depend on GitHub APIs, so we would have gained what, a couple years? Given the current trajectory of GitHub I wouldn't trust them to maintain those APIs correctly for any longer than that (and as far as I know the current vibe-scheduling issues might already be reflected in the APIs that third party CI providers would use).

Let's not forget that "GitHub is an AI company now".

  • Namespace fixed all of the issues I had with GitHub Actions. Ghostty uses them to build their project: https://namespace.so

    Using Namespace made it clear how much cruft GitHub Actions has accumulated and how much performance they leave on the table. I regard GitHub Actions like Nix: weird configuration, largely shell-based, and the value you get out is commensurate with the investment you put in. But it works well enough.

    But at the end of the day, GitHub Actions, like Nix, is just shell scripts. They're fairly portable. I like Namespace because they fixed the parts of CI that matter, like fast local caching versus GitHub's HTTP-based cache.

    But I also don't hate this: I use GitHub for the pretty website and global search. Someone will mirror Zig for the search, and my terminal does not care where I clone the repository from. I think this is the new world we live in.

    Someone will have to build the aggregator that indexes all repositories and makes them searchable, but that can ultimately be separate from hosting.

  • As a side note, people said that not posting anymore on Twitter and leaving Reddit was also a death sentence for Zig. Time has passed and we're still alive so far, while in the meantime both platforms have started their final journey towards the promised lands of the elves.

    They won't get there tomorrow or the next month, but I'm sure there has been a time where people started moving from Sourceforge to GitHub and somebody else remarked that they were doing something needlessly risky.

    As far as we can tell Codeberg is a serious attempt at a non-profit code sharing platform and we feel optimistic enough about its future that we're willing to bet on it.

    • I hope the best for Zig, Loris. But even if Zig will survive and prosper (I hope for both), still I believe this is not a sounding decision and not the right attitude. I hope I'm wrong, but I wanted to share with you my reasoning. Here you are moving away from the open source marketplace AND from your main revenue stream. It's not similar to not posting anymore to Twitter. A better parallel would be not posting anymore on Hacker News anything Zig related, in terms of potential outcome.

      2 replies →

  • I had to scroll too far for someone to mention third-party CI. GitHub Actions free runners have always sucked, but the third-party runner ecosystem is really strong for those who can afford it. imo the APIs are far better than the rest of the product - I suspect enterprise customers are strong-arming GitHub to keep them reliable. and there's always third-party CI like tekton if Actions' yaml is too annoying

Speaking as the creator of one of the largest Zig projects, I agree with antirez

  • As the creator of one of the larger Zig projects, does this announcement undermine your confidence in Zig at all? Either with the language used or the decision in itself?

    • > undermine your confidence in Zig

      Nah

      I do think the combo of not using Twitter, not using Discord, and not using GitHub does make it a bit more challenging for Zig to become a mainstream programming language. Twitter being the least important amongst those. Hard to say how much it matters in practice, as things tend to win on their strengths and not on lack of weakness

I was happy from the sideline seeing the recent big Zig donations. But this sudden decision is a shock. Technical issues can be worked around (I wish/think), but leaving such a dominant platform? I don't know. For my small small needs Forgejo works great, but for Zig, a project which I hope has a lot of mainstream success, I'm not convinced, that Forgejo/Codeberg is the best fit (atm). Even Graphene OS which has very high standards is (still) on Github, maybe Zig could brood (brüten) a bit longer to decide if it is really time to leave?