| by Arround The Web | No comments

GNU Guix: Migrating to Codeberg

The Guix project will be migrating all its repositories along with bug
tracking and patch tracking to Codeberg within a
month. This decision is the result of a collective consensus-building
process that lasted several months. This post shows the upcoming
milestones in that migration and discusses what it will change for
people using Guix and for contributors.

Codeberg logo.

Context

For those who haven’t heard about it, Codeberg is a source code
collaboration platform. It is run by Codeberg
e.V.
,
a non-profit registered in Germany. The software behind Codeberg is
Forgejo, a free software forge (licensed under
GPLv3) supporting the “merge request” style of workflow familiar to many
developers.

Since its inception, Guix has been hosting its source code on
Savannah, with bug reports and
patches handled by email, tracked by a Debbugs
instance
, and visible on the project’s
tracker
. Debbugs and Savannah are hosted
by the Free Software Foundation (FSF); all three services are
administered by volunteers who have been supportive over these 13
years—thanks!

The motivation and the main parts of the migration are laid out in the
second Guix Consensus
Document

(GCD). The GCD process itself was adopted just a few months ago; it’s a
major milestone for the project that we’ll discuss in more detail in a
future post. Suffice to say that this GCD was discussed and improved
publicly for two months
, after which
deliberation among members of Guix
teams
led to
acceptance.

Milestones

Migration to Codeberg will happen gradually. To summarize the GCD, the
key milestones are the following:

  1. By June 7th, and probably earlier, Git
    repositories
    will all
    have migrated to Codeberg—some have
    already moved.

  2. On May 25th, the Guix repository itself will be migrated.

  3. From there on and until at least May 25th, 2026,
    https://git.savannah.gnu.org/git/guix.git will be a mirror of
    https://codeberg.org/guix/guix.git.

  4. Until December 31st, 2025, bug reports and patches will still be
    accepted by email, in addition to Codeberg (issues and pull
    requests).

Of course, this is just the beginning. Our hope is that the move can
help improve much needed tooling such as the QA
infrastructure
following work on
Forgejo/Cuirass
integration

started earlier this year, and possibly develop new tools and services
to assist in the maintenance of this huge package collection that Guix
provides.

What this will change for you

As a user, the main change is that your channels.scm configuration
files
,
if their refer to the git.savannah.gnu.org URL, should be changed to
refer to https://codeberg.org/guix/guix.git once migration is
complete. But don’t worry: guix pull will tell you if/when you need
to update your config files and the old URL will remain a mirror for at
least a year anyway.

Also, channel files produced by guix describe to pin Guix to a
specific revision and to re-deploy it later anytime with
time-machine
will always work, even if they refer to the git.savannah.gnu.org URL,
and even when that repository eventually vanishes, thanks to automatic
fallback to Software
Heritage
.

As a contributor, nothing changes for bug reports and patches that you
already submitted by email: just keep going!

Once the Guix repository has migrated though, you’ll be able to report
bugs at Codeberg and create pull requests for changes. The latter is
a relief for many—no need to fiddle with admittedly intricate email
setups and procedures—but also a pain point for those who had come to
master and appreciate the email workflow.

For this reason, the “User Interfaces” section of the GCD describes the
options available besides the Web interface—command-line and Emacs
interfaces in particular. Some are still work-in-progress, but it’s
exciting to see, for example, that over the past few months many
improvements landed in fj.el
and that a Forgejo-capable branch of
Magit-Forge
saw
the light. Check it out!

A concern brought up during the discussion is that of having to create
an account on Codeberg to be able to contribute—sometimes seen as a
hindrance compared to the open-for-all and distributed nature of
cooperation by email. This remains an open issue, though hopefully one
that will become less acute as support for federation in
Forgejo

develops. In the meantime, as the GCD states, occasional bug reports
and patches sent by email to guix-devel will be accepted.

Moving forward

This was an summary of what is to come; check out the
GCD

for more info, and reach out to the guix-devel mailing
list
if you have any questions!

Real work begins now. We hope the migration to Codeberg will be smooth
and enjoyable for all. For one thing, it already proved our ability to
collectively decide on the project’s future, which is no small feat.
There’s a lot to expect from the move in improving the project’s ability
to work flawlessly at this scale—more than 100 code contributors and
2,000 commits each month, and more than 33,000 packages available in
Guix proper. Let’s make the best of it, and until then, happy hacking!

Share Button

Source: Planet GNU

Leave a Reply