The Guix project will be migrating all its repositories along with bugtracking and patch tracking to Codeberg within amonth. This decision is the result of a collective consensus-buildingprocess that lasted several months. This post shows the upcomingmilestones in that migration and discusses what it will change forpeople using Guix and for contributors.
ContextFor those who haven’t heard about it, Codeberg is a source codecollaboration platform. It is run by Codeberge.V.,a non-profit registered in Germany. The software behind Codeberg isForgejo, a free software forge (licensed underGPLv3) supporting the “merge request” style of workflow familiar to manydevelopers.
Since its inception, Guix has been hosting its source code onSavannah, with bug reports andpatches handled by email, tracked by a Debbugsinstance, and visible on the project’stracker. Debbugs and Savannah are hostedby the Free Software Foundation (FSF); all three services areadministered by volunteers who have been supportive over these 13years—thanks!
The motivation and the main parts of the migration are laid out in thesecond Guix ConsensusDocument(GCD). The GCD process itself was adopted just a few months ago; it’s amajor milestone for the project that we’ll discuss in more detail in afuture post. Suffice to say that this GCD was discussed and improvedpublicly for two months, after whichdeliberation among members of Guixteams led toacceptance.
MilestonesMigration to Codeberg will happen gradually. To summarize the GCD, thekey milestones are the following:
https://git.savannah.gnu.org/git/guix.git will be a mirror ofhttps://codeberg.org/guix/guix.git.Of course, this is just the beginning. Our hope is that the move canhelp improve much needed tooling such as the QAinfrastructure following work onForgejo/Cuirassintegrationstarted earlier this year, and possibly develop new tools and servicesto assist in the maintenance of this huge package collection that Guixprovides.
What this will change for youAs a user, the main change is that your channels.scm configurationfiles,if their refer to the git.savannah.gnu.org URL, should be changed torefer to https://codeberg.org/guix/guix.git once migration iscomplete. But don’t worry: guix pull will tell you if/when you needto update your config files and the old URL will remain a mirror for atleast a year anyway.
Also, channel files produced by guix describe to pin Guix to aspecific revision and to re-deploy it later anytime withtime-machinewill always work, even if they refer to the git.savannah.gnu.org URL,and even when that repository eventually vanishes, thanks to automaticfallback to SoftwareHeritage.
As a contributor, nothing changes for bug reports and patches that youalready submitted by email: just keep going!
Once the Guix repository has migrated though, you’ll be able to reportbugs at Codeberg and create pull requests for changes. The latter isa relief for many—no need to fiddle with admittedly intricate emailsetups and procedures—but also a pain point for those who had come tomaster and appreciate the email workflow.
For this reason, the “User Interfaces” section of the GCD describes theoptions available besides the Web interface—command-line and Emacsinterfaces in particular. Some are still work-in-progress, but it’sexciting to see, for example, that over the past few months manyimprovements landed in fj.eland that a Forgejo-capable branch ofMagit-Forge sawthe light. Check it out!
A concern brought up during the discussion is that of having to createan account on Codeberg to be able to contribute—sometimes seen as ahindrance compared to the open-for-all and distributed nature ofcooperation by email. This remains an open issue, though hopefully onethat will become less acute as support for federation inForgejodevelops. In the meantime, as the GCD states, occasional bug reportsand patches sent by email to guix-devel will be accepted.
Moving forwardThis was an summary of what is to come; check out theGCDfor more info, and reach out to the guix-devel mailinglist if you have any questions!
Real work begins now. We hope the migration to Codeberg will be smoothand enjoyable for all. For one thing, it already proved our ability tocollectively 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 abilityto work flawlessly at this scale—more than 100 code contributors and2,000 commits each month, and more than 33,000 packages available inGuix proper. Let’s make the best of it, and until then, happy hacking!