Hello Guix, Following the Guix Days discussion on the (pre-)GCD about migrating to Codeberg, some of us went to the Codeberg booth at FOSDEM to chat with them. They were nice and took the time to answer our many questions, despite all this happening in an overcrowded and noisy environment. :-)
Here are the main takeaways of the top of my head. To those who were here: please correct me or add anything I might have forgotten! • Scalability (storage): If the Guix repository were to have “tens of thousands” of forks (I think these were their words), then the storage requirements for Codeberg could be very high and problematic, due to lack (or partial lack, I’m not sure) of deduplication across forks. They mentioned the AGit workflow as a way to avoid that fork/branch/pull-request mechanism and its associated costs: https://forgejo.org/docs/latest/user/agit-support/ • Scalability (bandwidth): We brought up the fact that all Guix users pull from the repo but they did not express any concern as far as bandwidth goes. They are working on setting up an alternate instance for read-only access such as clones over HTTPS, which will allow them to balance the load and keep the main instance focused on serving contributors. • Availability: From what they told us, they didn’t experience any serious downtime over the last year or so. (I did see someone online suggest otherwise so if you have experience, please share. FWIW, over 3+ months of Guix-Science, I’ve seen a couple of 1–2h downtime notifications from them and experienced slowness once, but that’s about it.) • Resilience (people): The infra is volunteer-run, with one person 0.5 full-time equivalent (FTE) paid by Codeberg e.V., the non-profit. They are considering employing another person part-time in the coming months. As someone noted during the Guix Days, because they’re in the European timezone, downtime is likely to be low for those of us in that timezone but possibly higher for those in other timezones. • User interfaces: They now know that some of us are not keen on using a web browser :-). In addition to Forgejo-CLI and fj.el, they mentioned that the HTTP interface of Forgejo is close to that of GitHub, so it’s possible that tools that work for GitHub will also work for a significant portion of the Forgejo interface. The AGit workflow (see above) lets you create pull requests without touching the browser. If we find that some features are missing in the HTTP interface of Forgejo, “we can talk”, they said (most Codeberg volunteers are also Forgejo developers). • Software Heritage has a hard time archiving code at Codeberg due to rate limiting. Apparently the two parties are now discussing it. Overall my personal impression is that the plan to move there is realistic. The discussion also made it clear that we can and probably should keep Guix and Codeberg volunteers in contact, as I suggested in the draft GCD, and I feel that their openness and dedication can make for a smooth process. That’s it! I plan to update the GCD and to formally submit it in the coming days, now that the GCD process is itself effective. Ludo’.