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’.