https://guix.gnu.org/feeds/blog/community.atomGNU Guix — Blog — Communityfeed author nameGNU Guixhttps://guix.gnu.org/themes/initial/img/icon.png2024-03-20T10:57:55Zhttps://guix.gnu.org/blog/2024/guix-days-2024-recap//Guix Days 2024 and FOSDEM recapSteve George2024-02-10T18:00:00Z2024-02-10T18:00:00Z Guix contributors and users got together in Brussels to explore Guix's status, chat about new ideas and spend some time together enjoying Belgian beer! Here's a recap of what was discussed. Day 1 The first day kicked off with an update on the project's health, given by Efraim Flashner representing the project's Maintainer collective. Efraim relayed that the project is doing well, with lots of exciting new features coming into the archive and new users taking part. It was really cool listening to all the new capabilities - thank-you to all our volunteer contributors who are…<p>Guix contributors and users got together in Brussels to explore Guix's status, chat about new ideas and spend some time together enjoying Belgian beer! Here's a recap of what was discussed.</p><h1>Day 1</h1><p>The first day kicked off with an update on the project's health, given by Efraim Flashner representing the project's Maintainer collective. Efraim relayed that the project is doing well, with lots of exciting new features coming into the archive and new users taking part. It was really cool listening to all the new capabilities - thank-you to all our volunteer contributors who are making Guix better! Efraim noted that the introduction of <a href="https://guix.gnu.org/manual/en/html_node/Teams.html">Teams</a> has improved collaboration - equally, that there's plenty of areas we can improve. For example, concern remains over the "bus factor" in key areas like infrastructure. There's also a desire to release more often as this provides an updated installer and lets us talk about new capabilities.</p><p>Christopher Baines gave a general talk about the QA infrastructure and the ongoing work to develop automated builds. Chris showed a diagram of the way the <a href="https://qa.guix.gnu.org/README#org5dde7a9">services interact</a> which shows how complex it is. Increasing automation is very valuable for users and contributors, as it removes tedious and unpleasant drudgery!</p><p>Then, Julien Lepiller, representing the <a href="https://foundation.guix.info/">Guix Foundation</a>, told us about the work it does. Julien also brought some great stickers! The Guix Foundation is a non-profit association that can receive donations, host activities and support the Guix project. Did you know that it's simple and easy to join? Anyone can do so by simply <strong><a href="https://foundation.guix.info/statutes/membershipform.txt">filling in the form and paying the 10 Euro membership fee</a></strong>. Contact the Guix Foundation if you'd like to know more.</p><p>The rest of the day was taken up with small groups discussing topics:</p><ul><li><p><strong>Goblins, Hoot and Guix</strong>: Christine Lemmer-Webber gave an introduction to
the <a href="https://spritely.institute/">Spritely Institute's</a> mission to create
decentralized networks and community infrastructure that respects user freedom
and security. There was a lot of interesting discussion about how the
network capabilities could be used in Guix, for example enabling distributed
build infrastructure.</p></li><li><p><strong>Infrastructure</strong>: There was a working session on how the projects
infrastructure works and can be improved. Christopher Baines has been
putting lots of effort into the QA and build infrastructure.</p></li><li><p><strong>Guix Home</strong>: Gábor Boskovits coordinated a session on Guix Home. It was
exciting to think about how Guix Home introduces the "Guix way" in a
completely different way from packages. This could introduce a whole new
audience to the project. There was interest in improving the overall
experience so it can be used with other distributions
(e.g. Fedora, Arch Linux, Debian and Ubuntu).</p></li><li><p><strong>Release management</strong>: Julien Lepiller led us through a discussion of
release management, explaining the ways that all the parts fit together. The
most important part that has to be done is testing the installation image
which is a manual process.</p></li></ul><h1>Day 2</h1><p>The second day's sessions:</p><ul><li><p><strong>Funding</strong>: A big group discussed funding for the project. Funding is
important because it determines many aspects of what the group can achieve.
Guix is a global project so there are pools of money in the United States and
Europe (France). Andreas Enge and Julien Lepiller represented the group that
handle finance, giving answers on the practical elements. Listening to their
description of this difficult and involved work, I was struck how grateful
we all are that they're willing to do it!</p></li><li><p><strong>Governance</strong>: Guix is a living project that continues to grow and evolve.
The governance discussion concerned how the project continues to chart a
clear direction, make good decisions and bring both current and new users on
the journey. There was reflection on the need for accountability and quick
decision making, without onerous bureaurcacy, while also acknowledging that
everyone is a volunteer. There was a lot of interest in how groups can join
together, perhaps using approaches like <a href="https://en.wikipedia.org/wiki/Sociocracy">Sociocracy</a>.</p><p>Simon Tournier has been working on an <a href="https://issues.guix.gnu.org/issue/66844">RFC process</a>,
which the project will use to discuss major changes and make decisions.
Further discussion is taking place on the development mailing-list if you'd
like to take part.</p></li><li><p><strong>Alternative Architectures</strong>: The Guix team continues to work on
alternative architectures. Efraim had his 32-bit PowerPC (Powerbook G4) with
him, and there's continued work on PowerPC64, ARM64 and RISC-V 64. The big
goal is a complete source bootscrap across all architectures.</p></li><li><p><strong>Hurd</strong>: Janneke Nieuwenhuizen led a discussion around
<a href="https://www.gnu.org/software/hurd/">GNU Hurd</a>, which is a microkernel-based
architecture. Activity has increased in the last couple of years, and there's
support for SMP and 64-bit (x86) is work in progress. There's lots of ideas
and excitement about getting Guix to work on Hurd.</p></li><li><p><strong>Guix CLI improvements</strong>: Jonathan coordinated a discussion about the state of the Guix CLI. A consistent, self-explaining and intuitive experience is important for our users. There are 39 top-level commands, that cover all the functionality from package management through to environment and system creation! Various improvements were discussed, such as making extensions available and improving documentation about the REPL work-flow.</p></li></ul><h1>FOSDEM 2024 videos</h1><p>Guix Days 2024 took place just before FOSDEM 2024. FOSDEM was a fantastic two days of interesting talks and conversations. If you'd like to watch the GUIX-related talks the videos are being put online:</p><ul><li><p><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2651-making-reproducible-and-publishable-large-scale-hpc-experiments/"><strong>Making reproducible and publishable large-scale HPC experiments</strong></a>
by Philippe Swartvagher.</p></li><li><p><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2339-scheme-in-the-browser-with-guile-hoot-and-webassembly/"><strong>Scheme in the Browser with Guile Hoot and WebAssembly</strong></a>
by Robin Templeton.</p></li><li><p><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-1755-risc-v-bootstrapping-in-guix-and-live-bootstrap/"><strong>RISC-V Bootstrapping in Guix and Live-Bootstrap</strong></a>
by Ekaitz Zarraga.</p></li><li><p><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2560-self-hosting-and-autonomy-using-guix-forge/"><strong>Self-hosting and autonomy using guix-forge</strong></a>
by Arun Isaac.</p></li><li><p><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2331-spritely-guile-guix-a-unified-vision-for-user-security/"><strong>Spritely, Guile, Guix: a unified vision for user security</strong></a>
by Christine Lemmer-Webber.</p></li><li><p><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2927-supporting-architecture-psabis-with-gnu-guix/"><strong>Supporting architecture psABIs with GNU Guix</strong></a>
by Efraim Flashner.</p></li></ul><h1>Join Us</h1><p>There's lots happening in Guix and many ways to get involved. We're a small and friendly project that values user freedom and a welcoming community. If this recap has inspired your interest, take a look at the <a href="https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/doc/guix-days-2024">raw notes</a> and <a href="https://guix.gnu.org/en/contribute/"><strong>join us!</strong></a></p>https://guix.gnu.org/blog/2024/meet-guix-at-fosdem-2024//Guix at FOSDEM 2024Steve George2024-01-19T15:00:00Z2024-01-19T15:00:00Z It's not long to FOSDEM 2024, where Guixers will come together to learn and hack.
As usual there's some great talks and opportunities to meet other users and
contributors. FOSDEM is Europe's biggest Free Software conference.
It's aimed at developers and anyone who's interested in the Free Software
movement. While it's an in-person conference there are live video streams
and lots of ways to participate remotely. The schedule is varied with development rooms covering many interests. Here
are some of the talks that are of particular interest to Guixers: Saturday, 3rd Febuary " Making reproducible and…<p>It's not long to FOSDEM 2024, where Guixers will come together to learn and hack.
As usual there's some great talks and opportunities to meet other users and
contributors.</p><p><a href="https://fosdem.org/2024/">FOSDEM</a> is Europe's biggest Free Software conference.
It's aimed at developers and anyone who's interested in the Free Software
movement. While it's an in-person conference there are live video streams
and lots of ways to participate remotely.</p><p>The schedule is varied with development rooms covering many interests. Here
are some of the talks that are of particular interest to Guixers:</p><h3>Saturday, 3rd Febuary</h3><ul><li><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2651-making-reproducible-and-publishable-large-scale-hpc-experiments/">"<strong>Making reproducible and publishable large-scale HPC experiments</strong>"</a>
by Philippe Swartvagher (10:30 CET). Philippe will talk about the search for
reproducible experiments in high-performance computing (HPC) and how he uses
Guix in his methododology.</li></ul><h3>Sunday, 4th February</h3><p>The <a href="https://fosdem.org/2024/schedule/track/declarative-and-minimalistic-computing/">Declarative and Minimalistic Computing track</a>
takes place Sunday morning. Important topics are:</p><ul><li><em>Minimalism Matters</em>: sustainable computing through smaller, resource efficient systems</li><li><em>Declarative Programming</em>: reliable and reproducible systems by minimising side-effects</li></ul><p>Guix-related talks are:</p><ul><li><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2339-scheme-in-the-browser-with-guile-hoot-and-webassembly/">"<strong>Scheme in the Browser with Guile Hoot and WebAssembly</strong>"</a>
by Robin Templeton (11:00 CET). A talk covering bringing Scheme to WebAssembly
through the Guile Hoot toolchain. Addressing the current state of Guile Hoot
with examples, and how recent Wasm proposals might improve the
situation in the future.</li><li><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-1755-risc-v-bootstrapping-in-guix-and-live-bootstrap/">"<strong>RISC-V Bootstrapping in Guix and Live-Bootstrap</strong>"</a>
by Ekaitz Zarraga (11:20 CET). An update on the RISC-V bootstrapping effort
in Guix and Live-bootstrap. Covering what's been done, what's left to do and
some of the lessons learned.</li><li><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2560-self-hosting-and-autonomy-using-guix-forge/">"<strong>Self-hosting and autonomy using guix-forge</strong>"</a>
by Arun Isaac (11:40 CET). This talk demonstrates the value of Guix's declarative
configuration to simplify deploying and maintaining complex services. Showing
<a href="https://guix-forge.systemreboot.net/">guix-forge</a>, a project that
makes it easy to self-host an efficient software forge.</li><li><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2331-spritely-guile-guix-a-unified-vision-for-user-security/">"<strong>Spritely, Guile, Guix: a unified vision for user security</strong>"</a>
by Christine Lemmer-Webber (12:00 CET). Spritely's goal is to create
networked communities that puts people in control of their own identity
and security. This talk will present a unified vision of how Spritely,
Guile, and Guix can work together to bring user freedom and security to
everyone!</li></ul><p>This year the track commemorates Joe Armstrong, who was the principal
inventor of <a href="https://www.erlang.org/">Erlang</a>. His focus on concurrency,
distribution and fault-tolerence are key topics in declarative and minimalistic
computing. This <a href="https://thenewstack.io/why-erlang-joe-armstrongs-legacy-of-fault-tolerant-computing/">article</a>
is a great introduction to his legacy. Along with
<a href="https://youtu.be/lKXe3HUG2l4?si=3zbc7BEbg1o6mW5R">"<strong>The Mess We're In</strong>"</a>, a
classic where he discusses why software is getting worse with time, and what can
be done about it.</p><p>On Sunday afternoon, the <a href="https://fosdem.org/2024/schedule/track/distributions/">Distributions devroom</a>
has another Guix talk:</p><ul><li><a href="https://fosdem.org/2024/schedule/event/fosdem-2024-2927-supporting-architecture-psabis-with-gnu-guix/">"<strong>Supporting architecture psABIs with GNU Guix</strong>"</a>
by Efraim Flashner (14:30 CET). Guix maintainer Efraim will be giving a
talk about improving Guix's performance. Demonstrating how to use psABI
targets that keep older hardware compatible while providing optimized
libraries for newer hardware.</li></ul><h3>Guix Days (Thursday and Friday)</h3><p>Guix Days will be taking place on the Thursday and Friday before FOSDEM. This is
an <a href="https://en.wikipedia.org/wiki/Unconference">"unconference-style"</a> event,
where the community gets together to focus on Guix's development. All the
details are on the
<a href="https://libreplanet.org/wiki/Group:Guix/FOSDEM2024"><strong>Libreplanet Guix Wiki</strong></a>.</p><h3>Participating</h3><p>Come and join in the fun, whether you're a new Guix user or seasoned hacker!
If you're not in Brussels you can still take part:</p><ul><li>See the <a href="https://fosdem.org/2024/schedule/">FOSDEM Schedule</a></li><li>Watch the <a href="https://fosdem.org/2024/schedule/streaming/">live streams</a></li><li>Chat in the unofficial <a href="https://matrix.to/#/#guix-days:matrix.org">Guix Days Matrix room</a></li></ul><h3>About GNU Guix</h3><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, AArch64, and POWER9 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2023/reinstating-an-iconic-error-message//Reinstating an iconic error messageLudovic Courtès2023-04-01T11:00:00Z2023-04-01T11:00:00Z Software development is a social process. What might be a “bug” for
someone might well be a “feature” for someone else. The Guix project
rediscovered it the hard way when, after “fixing a bug” that had been
present in Guix System for years, it was confronted with an uproar in its
user base. In this post we look at why developers considered the initial behavior a
“bug”, why users on the contrary had come to rely on it, and why
developers remained blind to it. A patch to reinstate the initial
behavior is being reviewed . This
post is also…<p>Software development is a social process. What might be a “bug” for
someone might well be a “feature” for someone else. The Guix project
rediscovered it the hard way when, after “fixing a bug” that had been
present in Guix System for years, it was confronted with an uproar in its
user base.</p><p>In this post we look at why developers considered the initial behavior a
“bug”, why users on the contrary had come to rely on it, and why
developers remained blind to it. A patch to reinstate the initial
behavior <a href="https://issues.guix.gnu.org/62584">is being reviewed</a>. This
post is also an opportunity for us Guix developers to extend our
apologies to our users whose workflow was disrupted.</p><h1>The crux of the matter</h1><p>Anyone who’s used Guix System in the past has seen this message on the
console during the boot process:</p><pre><code>error in finalization thread: Success</code></pre><p>The following picture shows a typical boot screen (with additional
messages in the same vein):</p><p><img src="/static/blog/img/error-success.jpg" alt="Picture of a monitor showing the error/success boot message." /></p><p>If you have never seen it before, it may look surprising to you. Guix
System users lived with it literally for years; the message became a
hint that the boot process was, indeed, successful.</p><p>A few months ago, a contributor sought to satisfy their curiosity by
finding the origin of the message. It did look like a spurious error
message, after all, and perhaps the right course of action would be to
address the problem at its root—or so they thought.</p><p>As it turns out, the message <a href="https://git.savannah.gnu.org/cgit/guile.git/tree/libguile/finalizers.c#n238?id=df86a2a8c8725ac6244a222d399a5b959101f621">originated in
Guile</a>—check
out the <a href="https://www.gnu.org/software/guile/manual/html_node/Foreign-Object-Memory-Management.html">Guile
manual</a>
if you’re curious about finalization. Investigation revealed two
things: first, that this <code>perror</code> call in Guile was presumably reporting
the wrong error code—this was
<a href="https://git.savannah.gnu.org/cgit/guile.git/commit/?id=1fbe89f7bdbf35408ec2df8de755c2f1323016a6">fixed</a>.</p><p>The second error—the core of the problem—lied in Guix System itself.
Remember that, in its quest of memory safety™, statelessness, and fun,
Guix System does it all in Guile Scheme—well, except for the kernel (for
now). As soon as Linux has booted, Guix System spawns Guile to run boot
code that’s in its <a href="https://guix.gnu.org/manual/en/html_node/Initial-RAM-Disk.html"><em>initial RAM
disk</em></a>
(“initrd”). Right before executing
<a href="https://gnu.org/software/shepherd"><code>shepherd</code></a>, its service manager, as
PID 1, the initrd code would carelessly close all the file descriptors
above 2 to make sure they do not leak into PID 1. The problem—you
guessed it—is that one of them was the now-famous file descriptor of the
finalization thread’s pipe; the finalization thread would quickly notice
and boom!</p><pre><code>error in finalization thread: Success</code></pre><p>Our intrepid developers thought: “hey, we found it! Let’s fix it!”. And
so <a href="https://git.savannah.gnu.org/cgit/guix.git/commit/?id=168a7933c0e138dc7061a3f0dc96871e16da5c5f">they
did</a>.</p><h1>Breaking user workflows</h1><p>This could have been the end of the story, but there’s more to it than
software. As Xkcd <a href="https://xkcd.com/1172/">famously captured</a>, this was
bound to break someone’s workflow. Indeed, had developers paid more
attention to what users had to say, they would have <em>known</em> that the
status quo was preferable.</p><p>For some time now, users had shown that they held the error/success
message deep in their heart. The message was seen on the blackboard at
the <a href="https://10years.guix.gnu.org">Ten Years of Guix</a> celebration, as a
motto, as a rallying cry, spontaneously put on display:</p><p><img src="https://10years.guix.gnu.org/static/images/photos/roptat-finalization-thread.jpg" alt="Picture of a blackboard with the famous message (by Julien Lepiller, under CC0)." /></p><p>What’s more, a fellow NixOS hacker and Guix enthusiast, beguiled by this
powerful message, <a href="/static/blog/img/error-success-sticker.svg">designed</a>
stickers and brought them to FOSDEM in February 2023:</p><p><img src="/static/blog/img/error-success-sticker-pile.jpg" alt="Picture of error/success stickers (under CC0)." /></p><p>The sticker design builds upon the “test pilot” graphics made by Luis
Felipe for the <a href="https://guix.gnu.org/en/blog/2021/gnu-guix-1.3.0-released/">1.3.0
release</a>.
The test pilot has a bug on its helmet. In a way, the drawing and error
message both represent, metaphorically, a core tenet of Guix as a
project; just like Haskell is <em>avoiding success at all costs</em>, Guix
seems trapped in an <em>error/success</em> quantum state.</p><p>Had it gone too far? Was calling it a “bug” the demonstration of the
arrogance of developers detached from the reality of the community?</p><h1>Fixing our mistakes</h1><p>Those who installed Guix System starting from <a href="https://guix.gnu.org/en/blog/2022/gnu-guix-1.4.0-released/">version
1.4.0</a> have
been missing out on the error/success boot message. The patch
<a href="https://issues.guix.gnu.org/62584">submitted today</a> finally reinstates
that message. The review process will determine whether consensus is to
enable it by default—as part of
<a href="https://guix.gnu.org/manual/en/html_node/Base-Services.html#index-_0025base_002dservices-1"><code>%base-service</code></a>—or
whether to make it optional—after all, we also need to accommodate the
needs of <em>new</em> users who never saw this message. This will allow users
to restore their workflow, while also ensuring that those freshly
printed stickers remain relevant.</p><p>This incident had broader consequences in the project. It led some to
suggest that we, finally, set up a <em>request-for-comment</em> (RFC) kind of
process that would give all the community a say on important topics—a
process most large free software projects have developed in one form or
another. Such a process could have prevented this incident: instead of
arrogantly labeling it as a “bug”, developers would have proposed an RFC
to remove the message; the discussion period, most likely, would have
made it clear that removal was not a desirable outcome and we would all
have moved on.</p><p>This incident made many users uncomfortable, but we are glad that it is
now being addressed. The lessons learned will be beneficial to the
project for the years to come.</p><p><img src="/static/blog/img/error-success-sticker-bird.jpg" alt="Picture of a metal bird holding an error/success sticker (under CC0)." /></p><h1>Credits</h1><blockquote><p><a href="https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/promotional/">Test
pilot</a>
by Luis Felipe distributed under the terms of
<a href="https://creativecommons.org/licenses/by-sa/4.0/">CC-BY-SA 4.0</a>;
sticker design distributed under
<a href="https://creativecommons.org/licenses/by-sa/4.0/">CC-BY-SA 4.0</a> as
well. Blackboard picture by Julien Lepiller under
<a href="https://creativecommons.org/publicdomain/zero/1.0/">CC0</a>; sticker
pictures under
<a href="https://creativecommons.org/publicdomain/zero/1.0/">CC0</a>.</p><p>Many thanks to the anonymous sticker provider!</p></blockquote><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, AArch64 and POWER9 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2023/meet-guix-at-fosdem-2023//Meet Guix at FOSDEMLudovic Courtès2023-01-23T15:00:00Z2023-01-23T15:00:00Z GNU Guix will be present at FOSDEM next
week, February 4th and 5th. This is the first time since the pandemic
that FOSDEM takes place again “in the flesh” in Brussels, which is
exciting to those of us lucky enough to get there! Everything will be
live-streamed and recorded thanks to the amazing FOSDEM crew, so
everyone can enjoy wherever they are; some of the talks this year will
be “remote” too: pre-recorded videos followed by live Q&A sessions with
the speaker. Believe it or not, it’s the 9th year Guix is represented at
FOSDEM , with more than 30
talks given…<p>GNU Guix will be present at <a href="https://fosdem.org/2023/">FOSDEM</a> next
week, February 4th and 5th. This is the first time since the pandemic
that FOSDEM takes place again “in the flesh” in Brussels, which is
exciting to those of us lucky enough to get there! Everything will be
live-streamed and recorded thanks to the amazing FOSDEM crew, so
everyone can enjoy wherever they are; some of the talks this year will
be “remote” too: pre-recorded videos followed by live Q&A sessions with
the speaker.</p><p>Believe it or not, it’s the <a href="https://guix.gnu.org/en/blog/tags/fosdem/">9th year Guix is represented at
FOSDEM</a>, with more than 30
talks given in past editions! This year brings several talks that will let you
learn more about different areas of the joyful Hydra Guix has become.</p><p>This all starts on Saturday, in particular with the amazing <a href="https://fosdem.org/2023/schedule/track/declarative_and_minimalistic_computing/">declarative
and minimalistic computing
track</a>:</p><ul><li><a href="https://fosdem.org/2023/schedule/event/guixriscv/">“<em>Bringing RISC-V to Guix's
bootstrap</em>”</a>
(remote), as a continuation of <a href="https://fosdem.org/2022/schedule/event/riscvadventures/">last year’s
talk</a>, will
be Ekaitz Zarraga’s account of the successful port the <em>full-source
bootstrap</em> to RISC-V—no less!</li><li>In <a href="https://fosdem.org/2023/schedule/event/guixfhs/">“<em>Using GNU Guix Containers with FHS (Filesystem Hierarchy
Standard)
Support</em>”</a> (remote)
John Kehayias will present the recently-added <a href="https://guix.gnu.org/en/blog/2023/the-filesystem-hierarchy-standard-comes-to-guix-containers/"><code>guix shell --container --emulate-fhs</code></a>.</li><li><a href="https://fosdem.org/2023/schedule/event/minimalguixsystemimages/">“<em>Declaring just what is
necessary</em>”</a>
(remote) will show how to create system images that contain just
what you need, by Efraim Flashner.</li><li>In <a href="https://fosdem.org/2023/schedule/event/guixopenscience/">“<em>GNU Guix and Open Science, a
crush?</em>”</a>,
Simon Tournier will illustrates ways in which Guix can be beneficial
to “open science”.</li><li><a href="https://fosdem.org/2023/schedule/event/replicantguix/">“<em>How Replicant, a 100% free software Android distribution, uses
(or doesn't use)
Guix</em>”</a> will
showcase an unusual and exciting use case for Guix, by one of
Replicant’s core developers, Denis “GNUtoo” Carikli.</li><li><a href="https://fosdem.org/2023/schedule/event/guixhome/">“<em>An Introduction to Guix
Home</em>”</a> will be
given on Sunday (remote) by David Wilson of <a href="https://systemcrafters.net/">System
Crafters</a> fame—a must if you want to
understand this newfangled Guix Home thing!</li></ul><p>There are many other <a href="https://fosdem.org/2023/schedule/track/declarative_and_minimalistic_computing/">exciting talks in this
track</a>,
some of which closely related to Guix and Guile; check it out!</p><p>You can also discover Guix in other tracks:</p><ul><li>On Saturday, <a href="https://fosdem.org/2023/schedule/event/openresearch_guix/">“<em>Guix, toward practical transparent, verifiable and
long-term reproducible
research</em>”</a>
will be an introduction to Guix (by Simon Tournier) for an audience
of scientists interested in coming up with scientific practices that
improves verifiability and transparency.</li><li>On Saturday in the security track, <a href="https://fosdem.org/2023/schedule/event/security_where_does_that_code_come_from/"><em>“Where does that code come
from?”</em></a>
(by Ludovic Courtès) will talk Git checkout authentication in Guix
and how this fits in the broader picture of “software supply chain”
security.</li><li>On Sunday, Efraim Flashner will talk about <a href="https://fosdem.org/2023/schedule/event/rv_gnu_guix/">“<em>Porting RISC-V to
GNU Guix</em>”</a> in
the RISC-V track.</li><li>On Sunday, in the high-performance computing (HPC) track, Ludovic
Courtès will give a lightning talk about CPU tuning in Guix entitled
<a href="https://fosdem.org/2023/schedule/event/cpu_tuning_gnu_guix/">“<em>Reproducibility and performance: why
choose?</em>”</a>.</li></ul><p><img src="/static/blog/img/Guix-Days-2023.png" alt="Guix Days logo" /></p><p>As was the case pre-pandemic, we are also organizing the Guix Days as a
<a href="https://fosdem.org/2023/fringe/">FOSDEM fringe event</a>, a two-day Guix
workshop where contributors and enthusiasts will meet. The workshop
takes place on <strong>Thursday Feb. 2nd and Friday Feb. 3rd</strong> at the
<a href="https://www.openstreetmap.org/?mlat=50.85025&mlon=4.37326#map=19/50.85025/4.37326">Institute of Cultural Affairs (ICAB) in
Brussels</a>.</p><p>Again this year there will be few talks; instead, the event will
consist primarily of
“<a href="https://en.wikipedia.org/wiki/Unconference">unconference-style</a>”
sessions focused on specific hot topics about Guix, the Shepherd,
continuous integration, and related tools and workflows.</p><p>Attendance to the workshop is free and open to everyone, though you are
invited to register (there are few seats left!). Check out <a href="https://libreplanet.org/wiki/Group:Guix/FOSDEM2023">the
workshop’s wiki
page</a> for
registration and practical info. Hope to see you in Brussels!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, AArch64, and POWER9 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2022/wrapping-up-ten-years-of-guix-in-paris//Wrapping up Ten Years of Guix in ParisLudovic Courtès, Tanguy Le Carrour, Simon Tournier2022-09-28T16:30:00Z2022-09-28T16:30:00Z Two weeks ago, some of us were in Paris, France, to celebrate ten years
of Guix ! The event included 22 talks and
12 lightning talks, covering topics ranging from reproducible research
on Friday and Guix
hacking on Saturday
and Sunday . If you couldn’t make it in Paris, and if you missed the live stream, we
have some good news: videos of the talks and supporting material are
now available from the program
page ! If you weren’t there, there are things you definitely missed though:
more than 60 participants from a diverse range of backgrounds—a…<p>Two weeks ago, some of us were in Paris, France, <a href="https://10years.guix.gnu.org">to celebrate ten years
of Guix</a>! The event included 22 talks and
12 lightning talks, covering topics ranging from reproducible research
on <a href="https://10years.guix.gnu.org/program/#Friday">Friday</a> and Guix
hacking on <a href="https://10years.guix.gnu.org/program/#Saturday">Saturday</a>
and <a href="https://10years.guix.gnu.org/program/#Sunday">Sunday</a>.</p><p>If you couldn’t make it in Paris, and if you missed the live stream, we
have some good news: videos of the talks and supporting material <a href="https://10years.guix.gnu.org/program/">are
now available from the program
page</a>!</p><p>If you weren’t there, there are things you definitely missed though:
more than 60 participants from a diverse range of backgrounds—a rare
opportunity for scientists and hackers to meet!—, impromptu discussions
and encounters, and of course not one but <em>two</em> crazy birthday cakes
(yup! on one day it was vanilla/blueberry-flavored, and on the other day
it was chocolate/passion fruit, but both were equally beautiful!).</p><p><img src="https://10years.guix.gnu.org/static/images/photos/2022_0917_15530400.small.jpg" alt="Picture of the Guix birthday cake." /></p><p>There are <a href="https://10years.guix.gnu.org/photos">a few more pictures</a> on
the web site.</p><p>It might seem a bit of a stretch at first, but there <em>is</em> a connection
between, say, <a href="https://10years.guix.gnu.org/video/reproducibility-of-bioinformatics-pipelines/">bioinformatics
pipelines</a>,
<a href="https://10years.guix.gnu.org/video/camlboot-debootstrapping-the-ocaml-compiler/">OCaml
bootstrapping</a>,
and <a href="https://10years.guix.gnu.org/video/an-introduction-to-guix-home/">Guix
Home</a>:
it’s about deploying complex software stacks in a way that is not only
convenient but also transparent and reproducible. It’s about retaining
control, both collectively and individually, over the “software supply
chain” at a time when the most popular option is to give up.</p><p>We have lots of people to thank, starting with the speakers and
participants: thanks for sharing your knowledge and enthusiasm, and
thank you for making it a warm and friendly event! Thanks to the
<a href="https://10years.guix.gnu.org/sponsors">sponsors of the event</a> without
which all this would have been impossible.</p><p>Special thanks to Nicolas Dandrimont of the Debian video team for
setting up the video equipment, tirelessly working during all three days
and even afterwards to prepare the “final cut”—you rock!! Thanks to Leo
Famulari for setting up the live streaming server on short notice, and
to Luis Felipe for designing the unanimously acclaimed Ten Years of Guix
graphics, the kakemono, and the video intros and outros (check out <a href="https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/promotional/">the
freely-licensed SVG
source</a>!),
all that under pretty tight time constraints. Thanks also to Andreas
Enge with their Guix Europe hat on for addressing last-minute hiccups
behind the scenes.</p><p>Organizing this event has certainly been exhausting, but seeing it come
true and meeting both new faces and old-timers was a great reward for
us. Despite the occasional shenanigans—delayed talks, one talk
cancellation, and worst of all: running out of coffee and tea after
lunch—we hope it was enjoyable for all.</p><p>For those in Europe, our next in-person meeting is probably going to be
FOSDEM. And maybe this will inspire some to organize events in other
regions of the world and/or on-line meetups!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, AArch64, and POWER9 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2022/celebrating-10-years-of-guix-in-paris//Celebrating 10 years of Guix in Paris, 16–18 SeptemberLudovic Courtès, Tanguy Le Carrour, Simon Tournier2022-06-13T15:00:00Z2022-06-13T15:00:00Z It’s been ten years of
GNU Guix ! To
celebrate, and to share knowledge and enthusiasm, a birthday
event will take place on September
16–18th, 2022 , in Paris, France. The program is being finalized, but
you can already register ! Update (2022-07-12): Preliminary
program published! This is a community event with several twists to it: Friday, September 16th, is dedicated to reproducible research
workflows and high-performance computing (HPC)—the focuses of the
Guix-HPC effort. It will consist of talks
and experience reports…<p>It’s been <a href="/en/blog/2022/10-years-of-stories-behind-guix/">ten years of
GNU Guix</a>! To
celebrate, and to share knowledge and enthusiasm, a <a href="https://10years.guix.gnu.org">birthday
event</a> will take place on <strong>September
16–18th, 2022</strong>, in Paris, France. The program is being finalized, but
you can <a href="https://10years.guix.gnu.org">already register</a>!</p><blockquote><p><strong>Update</strong> (2022-07-12): <a href="https://10years.guix.gnu.org/program">Preliminary
program</a> published!</p></blockquote><p><img src="/static/blog/img/10-years-of-guix_colorful-10.gif" alt="10 year anniversary artwork" /></p><p>This is a community event with several twists to it:</p><ul><li>Friday, September 16th, is dedicated to <strong>reproducible research
workflows and high-performance computing</strong> (HPC)—the focuses of the
<a href="https://hpc.guix.info">Guix-HPC</a> effort. It will consist of talks
and experience reports by scientists and practitioners.</li><li>Saturday targets <strong>Guix and free software enthusiasts</strong>, users and
developers alike. We will reflect on ten years of Guix, show what
it has to offer, and present on-going developments and future
directions.</li><li>on Sunday, users, developers, developers-to-be, and other
contributors will <strong>discuss technical and community topics</strong> and
join forces for hacking sessions, <a href="https://en.wikipedia.org/wiki/Unconference">unconference
style</a>.</li></ul><p><a href="https://10years.guix.gnu.org">Check out the web site</a> and consider
registering as soon as possible so we can better estimate the size of
the birthday cake!</p><p>If you’re interested in presenting a topic, in facilitating a session,
or in organizing a hackathon, please get in touch with the organizers at
<code>guix-birthday-event@gnu.org</code> and we’ll be happy to make room for you.
We’re also looking for people to help with logistics, in particular
during the event; please let us know if you can give a hand.</p><p>Whether you’re a scientist, an enthusiast, or a power user, we’d love to
see you in September. Stay tuned for updates!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, AArch64 and POWER9 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2022/10-years-of-stories-behind-guix//10 years of stories behind GuixGuix Hackers2022-04-18T18:45:00Z2022-04-18T18:45:00Z It’s been ten years today since the very first
commit
to what was already called Guix—the unimaginative name is a homage to
Guile and
Nix , which Guix started by blending together.
On April 18th, 2012, there was very little to see and no actual
“project”. The project formed in the following months and became a
collective adventure around a shared vision. Ten years later, it’s amazing to see what more than 600 people achieved,
with 94K commits, countless hours of translation, system administration,
web design work, and no less than 175 blog
posts to share our enthusiasm at…<p>It’s been ten years today since the <a href="https://archive.softwareheritage.org/browse/revision/207cba8114d354737b231e510d6110ea2a42e07b/">very first
commit</a>
to what was already called Guix—the unimaginative name is a homage to
<a href="https://gnu.org/software/guile">Guile</a> and
<a href="https://nixos.org/nix">Nix</a>, which Guix started by blending together.
On April 18th, 2012, there was very little to see and no actual
“project”. The project formed in the following months and became a
collective adventure around a shared vision.</p><p>Ten years later, it’s amazing to see what more than 600 people achieved,
with 94K commits, countless hours of translation, system administration,
web design work, and no less than <a href="https://guix.gnu.org/en/blog">175 blog
posts</a> to share our enthusiasm at each
major milestone. It’s been quite a ride!</p><p>What follows is a series of personal accounts by some of the
contributors who offered their time and energy and made it all possible.
Read their stories and perhaps you too will be inspired <a href="https://guix.gnu.org/en/contribute">to join all the
nice folks on this journey</a>?</p><p><img src="/static/blog/img/10-years-of-guix_colorful-10.gif" alt="10 year anniversary artwork" /></p><h1>Alice Brenon</h1><p>As a conclusion, Guix is a really neat system and I hope you enjoy it as much
as I do!</p><p>My story with Guix is a bit topsy-turvy so I thought I might as well start by
the end :) I first ranked it last among systems I wanted to test, then was a
bit puzzled by it when I had the chance to test it after all the others had
disappointed me, and we finally got to know each other once I installed it on
my work laptop, because when you need a good, stable system you know you can
rely on, why not use the most surprising one? Strangely, the alchemy worked
and it has never let me down so far.</p><p>Like all good computer things, it looked way scarier from a distance than it
really was, and seemed to be very much about ethics and theory while it's
actually very pragmatic. I had struggled for years with the myriad of
incompatible package formats for systems, then for each specific languages,
and was flushed to discover at last what seemed to be a reasonable universal
format. That's probably what I like best about it: the ability to use
potentially any software I want without trashing my system. The welcoming
community eager to help and valuing my contributions made it even better, and
submitting patches came naturally. I mostly use it for development, and to
keep my sanity in spite of all the data science tools I have to use for work.
I sometimes wish it were easier to tweak the core of the system, but I blame
my lack of free time at least as much as its design. I would absolutely love
to see my Guix system using the <a href="http://smarden.org/runit/">runit</a> init system
one day but it just works and I finally learnt that it was all that mattered
if you wanted to get things done in the end.</p><h1>Andreas Enge</h1><p>When I think of Guix, I always kid myself into believing that I had the idea —
I remember chatting with Ludovic around a GNU hackers' meeting about Nix; I
joked that since Guile is the GNU language, Nix should be rewritten in Guile.
But it turned out that Ludovic had already started such a project in
earnest... Luckily there is the git history to refresh our memories.
Apparently I installed Guix, at the time only the package manager, with
Ludovic's help in December 2012, and immediately reported a few bugs. My next
action was to update the package for my own software. Learning Scheme was
quite difficult, but I fondly remember discussing <a href="https://www.gnu.org/software/guile/manual/html_node/Expression-Syntax.html">quotes and
quasiquotes</a>
with Ludovic. After that, I mostly added packages to Guix, which was possible
without knowing much of functional programming; the most tricky packages that
stayed in my mind were ImageMagick and TeX Live. I came to appreciate the GNU
Autotools — with all their shortcomings, having a uniform (and usually
reliable) way of compiling and installing a software makes creating a Guix
package almost trivial.</p><p>The most compelling feature of Guix was (and still is, I think) the ability to
<a href="https://guix.gnu.org/en/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/">roll back package
installations</a>,
and now complete system installations — no more fear of updating a package to
a non-working state! And on a completely different level, the nice and
welcoming atmosphere in the community, in no small part thanks to Ludovic's
initial efforts of creating an inclusive environment.</p><p>Many formidable adventures are attached to working on Guix. Buying our first
server for the build farm was difficult, since we wanted to use a machine with
Libreboot that would work well with the GNU system. Eventually we succeeded,
and it is still hosted with the non-profit Aquilenet in Bordeaux, so we
managed to start our own infrastructure in accordance with our values.</p><p>Writing the bylaws of the Guix Europe non-profit was another exciting
adventure; again we tried to create a structure in line with our values, where
the decisions were taken as collectively as possible.</p><p>And personally I have fond memories of taking part in Guix meetings at FOSDEM
and co-organising the Guix Days in Brussels; these are such nice occasions to
meet people passionate about Guix and free software! I will never forget the
Guix Days 2020 when I had just returned from a Reproducible Build Summit where
I admired their way of facilitating the workshop, which I then tried to copy
for our own meeting.</p><p>The Guix system meets all my daily needs now, so I have no technical wishes
for the future — but I trust the many creative minds working on advancing
the project to come up with nice new ideas. And I wish the human adventure
and community building around Guix to continue!</p><h1>Andrew Tropin</h1><p>It's all lisp, no distraction, pure consistency! Every few years I migrate to
a different workhorse and it has always been a pain to bring my software setup
with me: forgot a pam/udev rule here, package here and some tiny hack here and
everything is messed up, easier to reinstall everything from ground up. With
declarative and reproducible nature of Guix System, <a href="https://guix.gnu.org/manual/devel/en/html_node/Home-Configuration.html">Guix
Home</a>
and rde project it's just a pure pleasure: write the configuration once, use
it everywhere! Daemon configurations, package build phases, cron tasks,
everything described in Guile Scheme. The one language to rule them all! I
look forward for a little more: wider adoption of Guix for managing
development environments and infrastructures.</p><p>GNU Guix respects you and your freedoms: anyone can explore and study, tweak
and adjust, and share everything they want, every program available. Moreover
every package is bootstrapped, what a miracle! Yes, some hardware isn't
supported, but for a good reason, for this price you get a lot. I look
forward for a little more: <a href="https://issues.guix.gnu.org/52555">decentralized
substitutes</a> and RISC-V laptops running GNU
Guix.</p><p>Thank you the community for all the hard work, already enjoy Guix for more
than an year and look forward for more exciting things to appear!</p><h1>Arun Isaac</h1><p>I was introduced to Guix in 2016. That was around the time I was learning
lisp and having my mind blown. As soon as I heard that Guix was written in a
lisp and that it was a
<a href="https://www.gnu.org/distros/free-system-distribution-guidelines.en.html">FSDG</a>
compliant distro, I knew that this was going to be the best distro ever and
immediately jumped ship.</p><p>While I was immediately smitten by the perfection and elegance of Guix, I have
stayed this long not for the technical excellence but for the people. The
Guix community is the warmest and most caring free software community I have
ever been a part of. I honestly did not believe such people could exist
online until I saw Guix. In the future, I would love for this community to
grow and thrive with a smoother <a href="https://issues.guix.gnu.org/">issue tracking</a>
and contribution process so that potential contributors, especially newcomers,
don't turn away frustrated.</p><h1>Björn Höfling</h1><p>In 2016, I searched a GNU/Linux distribution for a friend's laptop and chose
GuixSD (now Guix System), inspired by a LibrePlanet video from MediaGoblin.
The laptop failed to digest this OS, as it demanded binary, non-free drivers.
In contrast, my wetware is 100% <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.en.html">GNU
FSDG-compatible</a>,
and so, generation 1 of Guix burned successfully into my brain, without any
headaches. Or at least, they went away with the help from the very friendly,
supportive, tolerant (only to the tolerant, thanks to the code of conduct)
community.</p><p>My contributions started with not understanding Guix, and asking stupid
questions on the mailing lists. Sometimes during that process I found bugs
and analyzed them further, which helped Ludovic and other developers to fix
them. I reviewed mostly Java packages and added some on my own. I very much
enjoyed co-mentoring for <a href="https://www.outreachy.org/">Outreachy</a>, and learned
more on <a href="https://guix.gnu.org/en/blog/2019/documentation-video-creation/">automated video/screencast
generation</a>.
I should be really more active in the community again!</p><p>For the future of Guix, I would like to see more Java and Go packages (hem,
this comes not from alone, I should review and contribute more). Internally I
wish a more intuitive bug- and patch-tracker instead of
Debbugs+<a href="https://git.elephly.net/gitweb.cgi?p=software/mumi.git;a=summary">Mumi</a>.
Externally I wish a much bigger awareness in the commercial "Open Source"
world about software freedom, bootstrapping your environment and dependencies
from free source code in a real reproducible way, instead of relying on
opaque, binary containers. I wish people would much more take care of their
dependencies (with Guix, of course!), put much more thoughts in their usage of
dependencies, break-up dependency hell and support third parties in building
their sources with free software (instead of relying on binary dependencies
and opaque containerized dev-environments).</p><h1>Blake Shaw</h1><p>New media artists and designers suffer from following dilemma: our work, with
its primary medium being code, is at once perhaps the simplest medium to
<em>distribute</em> — requiring little more than copying a directory of text files
from one hard drive to another — yet the works themselves remain a total
nightmare to faithfully <em>reproduce</em> across varying machines at different
points in time. Among other reasons, this is because our works are often
composed of disparate parts with accompanying technical debt: an audio-visual
installation may use the C++ library <strong>openFrameworks</strong> for high-performance
interactive graphics, Haskell's <strong>TidalCycles</strong> for realtime sequencing, the
fantastic <strong>FAUST</strong> signal processing language for zero-delay audio DSP, plus
the usual dependencies; openCV, libfreenect, cairo, gstreamer, ffmpeg and so
on. Time and its corresponding ABI changes intensify our predicament; not
only is it often an error-prone and laborious task to get all of this running
correctly across many machines, the nature of technical debt means that
getting an installation from 2014 up and running in 2022 is often more trouble
than its worth. Sadly, these seemingly immaterial works of art that are the
simplest to copy are simultaneously some of the most difficult to reproduce
and the quickest to depreciate.</p><p>Guix, on the other hand, offers its users provenance-preserving
<em>bit-reproducible builds</em> of their entire operating systems: using Guix's
implementation of the functional software deployment model, I should be able
to reproduce, bit-for-bit, the exact same results across equivalent
hardware. Suddenly our artworks can be deterministically produced not only at
the level of the source code's changelog but also as the level of the build,
offering the guarantee that our usually glued-together towers of systems that
power our installations can be revisited and reproduced in the future, and the
deployment processes becomes as simple as packing your system into a container
to be deployed to a remote target. These guarantees means that the scaling of
our works become simplified: if you want to do an installation that involves
100 Raspberry Pis communicating with one another in a dynamic system, you can
focus on working on just a small parameterized subset, and then generate their
varying configurations using the infrastructure that Guix provides. I'm
currently in the early phases of developing re::producer, a "creative
plumber's toolkit" that seeks to simplify this process for artists, tailoring
the tools provided by Guix to the domain-specific needs of media art and
allowing artists to declaratively define complex media art systems using one
of the greatest programming language of all time, Scheme.</p><p>This is still new terrain, so there is plenty of work to do. But that’s no
excuse to keep up with your old habits, so roll up your sleeves and come hack
the good hack!</p><h1>Cyril Roelandt</h1><p>Back in early 2013, I was lucky enough to be unemployed for a few months.
This gave me a lot of time to try out GNU Guix. Ludovic had told me about it
a few months earlier, while we were still working at the same place. It was
so easy to add new packages that I naturally ended up submitting a few patches
and quickly trolled the whole project by <a href="https://git.savannah.gnu.org/cgit/guix.git/commit/?id=eb4908581cae8b787c63b39fa524adf764ae8c25">adding my editor of choice,
vim</a>.
Debugging package definitions was also very simple since the builds were
reproducible by default.</p><p>I also had some fun writing the first version of the
<a href="https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-lint.html#Invoking-guix-lint">linter</a>
and improving the
<a href="https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-import.html#Invoking-guix-import">importer/updater</a>
for Python packages. I even hacked tox to make it use Guix instead of
virtualenv and gave a talk about this at
<a href="https://archive.fosdem.org/2016/schedule/event/guix_tox/">FOSDEM</a>. Even
though I left the project a few years ago, I'm glad to see it's doing well and
is used in science and <a href="https://guix.gnu.org/en/blog/2019/connecting-reproducible-deployment-to-a-long-term-source-code-archive/">has joined forces with Software
Heritage</a>.</p><h1>Efraim Flashner</h1><p>Back in 2015 or so I had been using GNU/Linux on the desktop for a number of
years and I wanted to contribute somehow. I had just finished a course in
University using Lisp and Prolog and then I heard about Guix having its 0.8.3
(or so) release and it looked like something that I could try to contribute
to. I certainly made a number of mistakes in the beginning; I didn't know
that <code>git revert</code> was an actual command and I tried to revert a commit by
hand, leaving a dangling parenthesis and breaking the repo. Another time I
added Java as a dependency to an image library and broke the graphics stack
for half the architectures until I reverted that! I even had a stint as a
failed <a href="https://guix.gnu.org/en/blog/2016/gnu-guix-welcomes-four-students-for-gsoc/">GSoC
student</a>.
I was working on
<a href="https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build/bournish.scm">Bournish</a>,
a Gash/Gash-utils like utility to make debugging in the early boot process far
easier by providing common CLI utilities. I had some issues with time
management and ended up spending more time than I should have updating
packages in the repository, as a result I didn't spend enough time working on
Bournish and it's languished since then.</p><p>Currently, I enjoy working on troublesome packages and expanding the number of
packages available on non-popular architectures. Sometimes it's removing
compiler flags or ‘ifdef gating’ architecture-specific includes and other
times certain parts of programs need to be disabled. Then everything needs to
be double-checked for cross-compiling. Right now I'm working on riscv64-linux
support in Guix, it has a lot of potential but powerful boards are hard to
come by. Also there are some lingering bugs with <code>guix show</code> showing different
supported-systems for packages depending on which architecture you run it
from; on x86_64-linux only two are shown, from aarch64-linux all 9
architectures are shown.</p><h1>Ekaitz Zarraga</h1><p>A friend of mine introduced me to Nix and Guix a while ago but I was hesitant
to try it because I hate configuring stuff and this didn't look as an easy
distribution to use. Once I discovered we could have separate environments
and how easy is to write a package (despite all other difficulties Guix has) I
was completely into it. I installed Guix in my laptop and never looked back.
In the 10 years I've been using a GNU/Linux distribution I never interacted
that directly with my packages: creating custom ones, sending them upstream,
making fixes… That's also freedom! Now, a couple of years later, I am
working on improving the bootstrap process for RISC-V and using Guix as a
mechanism that provides reproducible builds and an easy way to manage all the
actors I have to deal with: very old software with old dependencies, colliding
libraries, environment variables, custom patches in source code… This would
be a pain to build in any other environment, but Guix makes hard things easy.
Guix also makes easy things hard sometimes, but we are working on that!</p><h1>Eric Bavier</h1><p>As a young(ish) computer programmer, I had been running GNU/Linux systems for
about 7 years but wanted to find a project I could contribute back to.
Fortunately, I came upon a release announcement for Guix after having poked
around the GNU Hurd and Guile spheres. To me at the time Guix had the exact
mix of upstart energy, optimism, and long-term vision that I was hoping to
find. Over the years I've been able to contribute packages I use in both my
personal and work lives, and I'm proud to have implemented the <a href="https://git.savannah.gnu.org/cgit/guix.git/commit/?id=7d193ec34881843573a8013163347cfd8b1e9001">first version
of <code>guix refresh --list-dependents</code></a>.
I've really loved how Guix allows me to easily move my environments around to
different systems, and
<a href="https://guix.gnu.org/en/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/">"rollback"</a>
gives me much peace of mind knowing that I can tinker with the system and
recover should something go wrong. But probably my favorite part of Guix is
the fantastic community I've seen grow around the project. It exemplifies the
sort of caring, kind, supportive group I wish many other projects had.
Together I know we'll be able to make advances on many fronts. In particular,
I'd like to see further work on peer-to-peer substitutes delivery, a native
build daemon, additional tools for managing <a href="https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-pack.html#Invoking-guix-pack">relocatable pack
collections</a>,
and continued leadership in bootstrapping.</p><h1>Florian Pelz (pelzflorian)</h1><p>GNU Guix to me is a group that cares about its software and about the people
involved. I’ve got to know Guix by reading discussions on how to do
sandboxing properly. But actually, Guix convinced me with its clarity and
approachability and principles. Guix opened my eyes on how parts of GNU fit
together. Thanks to all who give us this freedom to understand and decide.
By <a href="https://guix.gnu.org/manual/devel/en/html_node/Translating-Guix.html">contributing to the
translation</a>,
I hope to make it reach more users and developers.</p><h1>Guillaume Le Vaillant</h1><p>Before I started using Guix in 2019, I was using Gentoo because I liked how I
could easily package software and make package variants with some custom
patches. However one day an upgrade didn't go well and many packages ended in
a bad state. I realized I would have to reinstall the whole system to get
things to work again. Before recompiling the whole system, I tried Nix and
Guix, because I had read somewhere that they used functional package
management, which gives the possibility to roll back to a working state when
an upgrade causes problems. I chose Guix because I thought it was going in
the right direction by using only free software and trying to get reproducible
builds. The fact that package definitions use the Scheme language was a bonus
point as I like Lisp languages. And there was even a build system for Common
Lisp packages, which is rarely the case in the GNU/Linux distributions I tried
over time. So I started using Guix, and packaging software I wanted that were
not in Guix yet. One day someone asked me if I would be interested in having
commit access, and I accepted. I also found a way to improve the build system
for Common Lisp packages that simplified package definitions. In the future,
I think it would be nice to add an importer fetching information from
Quicklisp, as it would make packaging Common Lisp software even easier.</p><h1>Hartmut Goebel</h1><p>Christian Grothoff (<a href="https://taler.net/en/">GNU Taler</a>) pointed me to Guix
early 2016, saying “This will become the new Debian!” and asking me to look at
it for GNU Taler. Well, quickly I was attracted by the ideas of reproducible
build and the ease of packaging software. I also love the one-time usage of
programs without littering my system.</p><p>Curiously, even as I'm a Python developer, my first contributions have been
about Java packaging. And I spend quite some time trying to build maven.
This challenge I gave up after two (or three? can't remember) attempts. Glad
Julien Lepiller continued the endeavor and <a href="https://guix.gnu.org/en/blog/2020/online-guix-day-announce-2/">created the Maven build
system</a>.</p><p>Nowadays I still use Guix on a foreign distro only, as KDE desktop and some of
my main applications are still not here. Guix keeps my main system tidy,
while I can have different development environments without dependency
conflicts.</p><p>As you can imagine, I'd like to see KDE desktop in Guix as well as
some <code>guix compose</code> for managing compound containers.</p><h1>Jan (janneke) Nieuwenhuizen</h1><p>At FOSDEM 2016 there were <a href="https://guix.gnu.org/en/blog/2016/meet-guix-at-fosdem/">seven talks</a>
about GNU Guix: A talk about the Hurd by Manolis
Ragkousis, about functional package management by Ricardo Wurmus and that was
just what I needed to hear: Finally a viable promise for the GNU System and
much more innovative than I could have hoped for. At the time I also worked
on a project where building binary releases was becoming more unmanageable
with every release because of conflicting requirements. We were slowly
migrating away from C++ to GNU Guile, so while not directly applicable the
talk <a href="https://archive.fosdem.org/2016/schedule/event/guixdistro/">“Your distro is a Scheme
library”</a> by
Ludovic Courtès also made me feel: Go Guix!</p><p>Using Guix, my intricate dependency problems building binary packages quickly
and easily disappeared. That gave me the confidence that I needed and I
wanted to get involved. My first contributions where a programming game
called Laby and its dependencies and a few more packages that I missed. After
running Guix on top of Debian GNU/Linux for three months I switched to what we
now call Guix System. Guix did not have log rotation yet in those days, so I
created a package.</p><p>This is how I found how amazingly helpful and friendly the community was. I
created the MinGW cross build for Guile 2.0 and then "found out" about the
bootstrap binaries: The only packages in Guix that are not built from source.
Something just did not feel right. The manual said: “<em>These big chunks of
binary code are practically non-auditable which breaks the source to binary
transparency that we get in the rest of the package dependency graph</em>.” So, I
wrote GNU Mes and started working on solving this problem. <a href="https://guix.gnu.org/en/blog/2019/guix-reduces-bootstrap-seed-by-50/">Twice</a> we <a href="https://guix.gnu.org/en/blog/2020/guix-further-reduces-bootstrap-seed-to-25/">halved</a>
the size of the bootstrap binaries and the work is still ongoing.</p><p>What possibly started somewhat as a <a href="https://guix.gnu.org/en/blog/2020/deprecating-support-for-the-linux-kernel/">April fools joke in 2020</a> about the
Hurd—this is still unclear—was (mis?)taken by some as a real project and
led to a fun hacking frenzy of several months finally producing the
<a href="https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/">"Childhurd"</a>:
A Guix Shepherd service that gives access to the GNU/Hurd in a
VM. My wish for the near future would be see an up-to-date Hurd including the
Debian rumpkernel patches that may finally enable running the Hurd on real
hardware again.</p><h1>John Kehayias</h1><p>All I wanted to do was to try out a new status bar, but the author only
officially supported Nix for building. That started me to finally look at Nix
after hearing about it in passing before. I was intrigued by the focus on
reproducible and declarative builds. The language, not so much. My brother
mentioned another project in the same vein but built on a Lisp. As a lover of
all things Lisp, that was basically enough for me to dive right in. Beyond
the banner features of the powerful package and system management,
reproducible builds, system configuration, and, of course, Guile, I quickly
found perhaps the biggest and most important: the GNU Guix community. They
have been nothing short of amazing: helpful, intelligent, supportive, and fun
to hang out with on the <code>#guix</code> channel. In less than a year, my journey so
far has taken me through the (is it infamous yet?) recent big core-updates
branch and merge, submitting patches for random libraries and key desktop
features I use, and participating in the motivating <a href="https://guix.gnu.org/en/blog/2022/online-guix-days-2022-announcement-2/">Guix Days
2022</a>.
Looking to the future, I hope we can better harness the energy and resources
of the growing Guix community. It is already a great project to get involved
with and make your own, but with better and quicker patch review, further
building out and using our development tools and ecosystem, and continuing to
smooth out the rough edges for new users/contributors, I'm sure the next 10
years of GNU Guix will be very bright indeed.</p><h1>Konrad Hinsen</h1><p>In my work as a computational scientist, my first encounter with
reproducibility issues happened in 1995, when a quantum chemistry package
produced different results on two almost identical Silicon Graphics
workstations. This was the beginning of a long quest for better computational
reproducibility, in the course of which I discovered in 2014 Nix and Guix as
two implementations of the same promising idea: the fully automated
construction of a complete reproducible software stack. Of the two, Guix was
more aligned with my lispy past, and already had a burgeoning computational
science user community. I started playing with Guix in 2016, in a virtual
machine under macOS, but only fully adopted Guix for my everyday work in 2021,
when I left macOS for Linux. During those five years, I also learned to
appreciate the Guix community, which is friendly, competent, and refreshingly
low-ceremony in spite of continuous growth. That makes for an easy transition
from newbie to contributor (mostly contributing packages, but also the
<a href="https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-time_002dmachine.html#Invoking-guix-time_002dmachine">time-machine</a>
command that matters for reproducibility). The anniversary is a good occasion
to express my thanks to all those who answered my many questions, ranging from
conceptual to technical, and to the maintainer team that does an important but
not very visible work by critically examining all submitted packages and code
enhancements. My main wish for the future is a lower barrier to adoption for
my colleagues in computational science, and I hope to contribute to making
this happen.</p><h1>Lars-Dominik Braun</h1><p>Around the end of 2019 we were looking for a way to provide reproducible
software environments to researchers in(?) psychology and I was researching
software to accomplish that. Binder/repo2docker was the obvious and most
mature solution at that time and a colleague of mine had set up a proof of
concept server already. But it could only handle public projects
out-of-the-box and setting up an entire Kubernetes cluster didn’t seem
particularly appealing at that time, because no other project was moving in
that direction yet. So I set out to look for alternatives. Another idea was
based around OpenStack and one virtual machine per project with preinstalled
software, which we would keep for eternity. Also not ideal and OpenStack is
very hard to master too. So I looked further at Nix, which – at that time –
lacked an obvious way to spawn ad-hoc environments with a certain set of
packages. Thankfully I stumbled upon GNU Guix by mere accident, which had
exactly that feature. And so in December 2019 <a href="https://issues.guix.gnu.org/38576">my first code contribution was
merged</a>.</p><p>Prior to that I had never written a single line of Scheme or Lisp and even now
it’s still a steep hill. GNU Guix still powers our project and allows us to
easily share software environments while providing excellent application
startup times. I also started contributing software that I run on my own
machines, but I’m not running Guix System, because compared to systemd,
Shepherd is quite limited on the desktop and Guix’ lack of first-class support
for non-free drivers/firmware, which I need to even boot my machine.</p><h1>Ludovic Courtès</h1><p>It all started as a geeky itch-scratching experiment: a <a href="https://archive.softwareheritage.org/browse/revision/207cba8114d354737b231e510d6110ea2a42e07b/?path=guix.scm">tiny bit of Guile
code</a>
to make remote procedure calls (RPCs) to the <a href="https://nixos.org/nix">Nix</a>
build daemon. Why? As I was involved in and excited about
<a href="https://gnu.org/software/guile">Guile</a> and Nix, it felt natural to try and
bridge them. Guile had just had <a href="https://www.gnu.org/software/guile/news/gnu-guile-200-released.html">its 2.0.0
release</a>,
which broadened its scope, and I wanted to take advantage of it. Whether to
go beyond the mere experiment is a decision I made sometime after a
presentation at the <a href="https://www.gnu.org/ghm/2012/ddorf/">2012 GNU Hackers
Meeting</a>.</p><p>It was far from obvious that this would lead us anywhere—did the world
<em>really</em> need another package manager? The decisive turn of event, for me,
was to see that, at the time Guix <a href="https://lists.gnu.org/archive/html/gnu-system-discuss/2012-11/msg00000.html">officially became part of GNU in November
2012</a>,
it had already become a group effort; there was, it seems, a shared vision of
why such a crazy-looking project made sense not just technically but also
socially—for GNU, for user freedom. I remember Nikita Karetnikov as the first
heroic contributor at a time when Guix could barely install packages.</p><p>One of my “ah ha!” moments was when I built the first bootable image <a href="https://lists.gnu.org/archive/html/guile-user/2013-02/msg00131.html">a year
later</a>.
<a href="https://hal.inria.fr/hal-01580582/en">G-expressions</a>, the <a href="https://guix.gnu.org/manual/devel/en/html_node/Service-Composition.html">service
framework</a>,
and <a href="https://guix.gnu.org/en/blog/2020/securing-updates/">checkout
authentication</a> are among
my favorite hacks. What’s mind-blowing to me though is what others have
achieved over the years: <a href="https://guix.gnu.org/en/blog/tags/bootstrapping/">the incredible bootstrapping
work</a>,
<a href="https://ngyro.com/software/disarchive.html">Disarchive</a>,
<a href="https://git.savannah.gnu.org/cgit/guix/emacs-guix.git/">Emacs-Guix</a>, the
<a href="https://guix.gnu.org/en/videos/2020/system-graphical-installer/">installer</a>,
<a href="https://guix.gnu.org/en/blog/tags/gnuhurd/">Hurd support</a>,
<a href="https://guix.gnu.org/en/blog/2022/keeping-ones-home-tidy/">Guix Home</a>,
supporting tools like <a href="https://guix.gnu.org/en/cuirass/">Cuirass</a>, the <a href="https://guix.gnu.org/en/blog/2020/introduction-to-the-guix-data-service-the-missing-blog-post/">Data
Service</a>,
and <a href="https://issues.guix.gnu.org">mumi</a>. There’s also the less visible but
crucial work: Outreachy and GSoC mentoring, support on IRC and the mailing
lists, build farm administration, translation, dealing with the occasional
incident on communication channels, organizing events such as the Guix Days or
FOSDEM, and more.</p><p>As much as I love <em>hacking the good hack</em>, I think Guix’s main asset is its
community: a friendly, productive, and creative group with a sense of
attention to the other. I started clueless about what it means “to build a
community” and learned a lot from everyone met on the way. We did it, <em>we
built this</em>! Thumbs up, Guix!</p><h1>Luis Felipe</h1><p>When I found that Guix existed, I saw it could make it easier for GNU to
release its Operating System and reach a wider audience. I intended to
propose some graphic designs related to this, and sent a
<a href="https://lists.gnu.org/archive/html/gnu-system-discuss/2014-11/msg00002.html">message</a>
to GNU in order to test the waters. Things didn't go as I expected, so,
instead, I decided to direct my contributions towards GNU Guix and its
distribution of GNU.</p><p>Since then, I've contributed with graphics (Guix and Guile logos and website
designs, desktop backgrounds, release and promotional artwork), testing, bug
reporting, packaging, and Spanish translations.</p><p>It's been about 8 years of Guix for me (the heck!). I started using the
package manager on Debian, gradually switched the provenance of my software
from Debian to Guix, and, once GNOME became available, I moved to Guix’s
distribution of the GNU operating system, which I've been using as my main
system for about 3 years now (and I don't see that changing anytime soon).</p><p>Right now, I'm enjoying developing software using Guix's reproducible
environments and containers, and using one single package manager for every
dependency.</p><p>I hope this system reaches a wider audience and brings science to home
computing along the way. Homes should be capable of producing scientific work
too.</p><h1>Manolis Ragkousis</h1><p>When I think how I started with Guix, I use one word to describe it, luck! It
was early 2014 when I encountered Guix by luck, while I was still a student at
Crete, Greece. I remember there was a strike during that time and I had
plenty of free time for a week, so I decided that I will try to start working on
this. Then an idea came in mind, why not try porting Guix to GNU/Hurd and
build a system with it? One thing led to another and it also became a <a href="https://guix.gnu.org/en/blog/2015/gnu-guix-welcomes-three-students-for-gsoc/">GSoC
project</a>
in <a href="https://guix.gnu.org/en/blog/2015/gsoc-update/">2015</a> and
<a href="https://guix.gnu.org/en/blog/2016/gnu-guix-welcomes-four-students-for-gsoc/">2016</a>.
In 2016 I also gave a <a href="https://archive.fosdem.org/2016/schedule/event/guixhurd/">FOSDEM talk about
this</a>, which somehow
ended up being the start of me helping out with the GNU Guile devroom in 2017
and 2018, and then what became the Minimalistic Languages until today. When I
am thinking about Guix is like thinking about the story of me growing up and
the people I met through all these years I consider family! Guix is a big part
of my life, I use it everywhere and even though I am not able to help much
nowadays I am following the project as much as I can. Here's hoping to
another 10 year!</p><h1>Marius Bakke</h1><p>I originally got interested in Guix after facing shortcomings in traditional
configuration management tools. A fully declarative and immutable system
which cleans out old user accounts and packages, that also offers
reproducibility, rollbacks, and the ability to generate virtual machines and
containers from the same code. Where do I sign up?</p><p>It turns out, signing up was easy, and I soon found myself contributing the
pieces I needed to make it a daily driver. Watching the community grow from a
handful of contributors to <a href="https://www.openhub.net/p/gnuguix">100 monthly</a>
has been astonishing. I have learned a lot from this community and am proud
to be a part of it. Can't wait to see what the next decade brings. Happy
birthday Guix!</p><h1>Mathieu Othacehe</h1><p>I was introduced to GNU Guix by a colleague, Clément Lassieur in 2016. At
first I found the concept overwhelming. Writing Guile wrappers for each and
every Linux service out there and keeping them up to date seemed like
impossible. However, I quickly fell in love with the package manager, the
distribution and the community behind. A few months later, GNU Guix was
running on all my machines and I started hacking on the continuous integration
tool: <a href="https://guix.gnu.org/en/cuirass/">Cuirass</a>.</p><p>Since then GNU Guix has been an important part of my life. I wrote most of the
<a href="https://guix.gnu.org/en/videos/2020/system-graphical-installer/">Guix System
installer</a>
while traveling by bike to China in 2018. During the 2020 lockdown, I worked
with janneke on the new image API and the <a href="https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/">Hurd
port</a>. At that
time, I was proposed a <a href="https://guix.gnu.org/en/blog/2020/gnu-guix-maintainer-collective-update/">co-maintainer
position</a>
of the project. In 2021, thanks to an NGI sponsorship, I dedicated 6 months
to improving our continuous integration process and overall substitutes
coverage.</p><p>Recently it has been harder to dedicate as much efforts on the project but I'm
sure this is a transient phase. I can't wait to start working again with the
incredibly talented people making this piece of software so special to me.</p><h1>Paul Garlick</h1><p>I began using and contributing to the Guix project in 2016. I had been
searching for a way to preserve software environments that are used for
numerical simulation. The applications that run in these environments often
comprise a combination of specialised code and building blocks drawn from an
underlying framework. There are many moving parts and changes to a low-level
library can block the operation of the high- level application. How much
better things would be if one could specify the exact components of the
environment and re-create it whenever it is needed. I discovered that Guix
provides the machinery to do just that. Scheme was new to me then so I had
some learning to do before contributing. This included a detour via
Vonnegut/Cat's Cradle, of course, to discover the <a href="https://lists.gnu.org/archive/html/guile-devel/2010-07/msg00046.html">meaning of
ice-9</a>.
Suitably informed I returned to add a number of finite volume and finite
element frameworks to the Guix package collection. Keeping these packages up-
to-date and welcoming new simulation-related packages is the next target.
Looking ahead to the next ten years, an important task is to popularise the
use of the Guix tools. Many more engineers and scientists stand to benefit
from the use of the dependable software environments that are now made
possible.</p><h1>Ricardo Wurmus</h1><p>In 2014 I became responsible for building and installing scientific software
at the Max Delbrück Centre, a research institute in Berlin. We used CentOS,
so I built custom RPMs, installing applications to ad-hoc prefix directories.
After a few weeks I took a minute to consider the horrific implications of
maintaining a growing collection of custom software with RPM. As I tried to
remember what life choices had led me to this moment, I recalled an
<a href="https://lists.gnu.org/archive/html/bug-guix/2013-01/msg00191.html">announcement
email</a> of a
quirky GNU package manager written in Scheme. A short web search later I was
playing around with Guix.</p><p>After an encouraging chat on IRC I realized that I could probably replace our
custom RPM repository and build different variants of scientific software on
much more solid ground—all the while contributing to a project that felt
like a new and exciting take on GNU. We're building the GNU system!</p><p>Guix only had very few of the packages I needed, so I got busy. I packaged
and bootstrapped the JDK because I was under the mistaken assumption that I
would need it for <a href="https://www.r-project.org/">R</a> (turns out Java is
optional). Many more foolish adventures followed, and some of them have
actually been useful for others.</p><p>I had found my tribe of fellow hackers who cared about the vision of the GNU
system, encouraged playful experimentation, and were rooting for each other to
succeed in building a better system that made software freedom a practical
reality, blurring the lines between developers and users. In the decades to
come I hope many more people will get to experience what I did and end up
calling this community their home.</p><h1>Simon Tournier</h1><p>Back in 2014, I watched the video <a href="https://archive.fosdem.org/2014/schedule/event/gnuguix/">“Growing a GNU with
Guix”</a> at FOSDEM but
the real revelation had been in 2015 with <a href="https://archive.fosdem.org/2015/schedule/event/the_emacs_of_distros/">“GNU Guix: The Emacs of
Distros”</a>,
again at FOSDEM. Then, I was following the development but not using Guix
yet. 2016, new job where I was spending my time to fight against dependencies
and
<a href="https://gitlab.inria.fr/guix-hpc/guix-modules/-/tree/main/">Modulefiles</a>.
Then I have totally jumped in Guix in December 2018. My first interaction
with the project — and not yet running Guix — was a in-person event in Paris
before the <a href="https://reproducible-builds.org/">Reproducible Builds</a> workshop.
Back to home, I proofread cover to cover the French manual — my first
contribution — and installed Guix on the top of my Debian GNU/Linux system.
So amazing! Guix fixes many issues I had at work — and introduce new ones^W
challenges. Plus, thanks to people around, I am learning a lot, both about
technical details and about inter-personal interactions. My wish for the near
future is a community more structured: more events and meetups, more process
for smoothing the contributions (“teams” for improving the reviewing by
sharing the load, RFC for discussing new features, regular releases, etc.),
and more materials for using Guix in various configurations.</p><p>In scientific context, transparency — being able to audit the whole
computational environment from the source codes to the production of binaries
— is one of the keys for a true <a href="https://en.wikipedia.org/wiki/Reproducibility">reproducible
research</a>. Since Guix is
transparent by design, it appears to me one part for a solution in tackling
the computational side of the <a href="https://en.wikipedia.org/wiki/Replication_crisis">replication
crisis</a>. For the near
future, I wish more <a href="https://hpc.guix.info/">scientific practitioners will employ
Guix</a>.</p><h1>Thiago Jung Bauermann</h1><p>I learned about Guix when I was looking for alternative, safe ways of
installing an up-to-date Rust toolchain on my machine (at the time rustup
didn't verify signatures of downloaded binaries, and it still doesn't do the
full job). Guix is a great way to have the latest and greatest software on
top of your slower-moving Linux distribution. I love how easy it makes to
create instant, ad hoc environments with the packages you need for a specific
task. Or to temporarily try out some new app or tool, leaving Guix to
garbage-collect it and its dependencies. The Guix community is amazing as
well! It's a pleasure to participate on the mailing lists. And I've been
enjoying learning Scheme! For the future, I hope Guix can get even better
test coverage so that every update of the master branch is guaranteed to not
introduce regressions. And that the project gets more committers, to help with
the constant influx of patches.</p><h1>raingloom</h1><p>There are multiple reasons I started using Guix. On the tech side, I'd been
playing around with 9front for a while at that time, but kept running into
issues where the imperative structure of namespaces was getting in my way. I
like Haskell a lot and heard about the many benefits of a pure functional
approach to build systems, et cetera. I ran Guix on top of Arch for a while
and liked it a lot. Using package transformations still feels magical. But
yall already know about this cool stuff from Ambrevar's blog post. On the
social side, I saw that one of my favorite compsci people — Christine Lemmer
Webber — was involved with the project, so I knew it probably has a nice
community, which turned out to be very true. This is one of the best
communities centered around a piece of tech that I've been in and yall inspire
me to be better with each interaction. Huge thank you for that. My favorite
Guix memory is when someone CC'd me in a patch for the egg importer, which was
built on top of the Chicken Scheme build system I contributed. Seeing others
build on top of my work is an amazing feeling. For the future, I hope the
service management improvements will keep coming, but what I'd like to see the
most is Guix running on old and slow devices. There is a lot of work to be
done to make it more bandwidth and space efficient and to support development
on systems with little RAM. If I could use it instead of PostmarketOS/Alpine,
I'd be elated. On the human side, I hope we can keep contributors from
burnout, while increasing the software's quality. I think the way Blender
development is structured could be a source of inspiration. On that note,
using Guix for reproducible art workflows would be rad. Okay that's it, bye
yall lovely people.</p><h1>Vagrant Cascadian</h1><p>I think I first heard of Guix in 2016, triggering a late-night session trying
to wrap my head around the crazy symlink farms at the heart of Guix. By late
2017 I was filing bug reports and eventually patches!</p><p>I am deeply fascinated that Guix has Reproducible Builds built right in, with
normalized, containerized build environments and the "guix challenge" tool to
verify reproducibility. I had heard of Nix as an interesting model, but
valued the strong commitment to Free Software with Guix.</p><p>Eventually I even grew crazy enough to <a href="https://packages.debian.org/bullseye/guix">package Guix in
Debian</a>... which indirectly lead to
one of my most creative contributions to a Free Software project, a typo poem
embedded in!</p><p>I really appreciate the community around Guix and the process, values and
thoughtfulness that work proactively to maintain a healthy community, even in
the face of inevitable and occasional conflict. Guix balances formal and
informal in a way that works for me.</p><p>I look forward to the day when Guix has a full source bootstrap!</p><blockquote><p><a href="https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/promotional/10-years-of-guix">10 Years of Guix artwork</a> by Luis Felipe.</p></blockquote><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, AArch64 and POWER9 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p><blockquote><p><em>This post does not yet carry an agreed-upon license.</em></p></blockquote>https://guix.gnu.org/blog/2022/online-guix-days-2022-announcement-2//Online Guix Day Conference: schedule released!Guix Hackers2022-02-14T00:00:00Z2022-02-14T00:00:00Z The Guix hackers are very happy to announce the second online Guix Days
Conference on Saturday and Sunday, 19 & 20 February 2022 . This conference
is open to everyone ( no registration fee ) and will be held entirely online.
Want to know the schedule, read on! There will be no live talks during the Guix Days! Please watch the talks beforehand. Join us live
on the 19 and 20 to participate in the various sessions! Live discussions will take place on Saturday and Sunday, and the…<p>The Guix hackers are very happy to announce the second online Guix Days
Conference on <strong>Saturday and Sunday, 19 & 20 February 2022</strong>. This conference
is open to everyone (<strong>no registration fee</strong>) and will be held entirely online.
Want to know the schedule, read on!</p><p><em>There will be no live talks during the Guix Days! Please watch the talks beforehand.</em></p><p><img src="/static/blog/img/Guix-Days-online-2022.png" alt="Guix Days logo" /></p><p><a href="https://meet.univ-grenoble-alpes.fr/b/pie-uia-2a2-wzl">Join us live</a>
on the 19 and 20 to participate in the various sessions!</p><p>Live discussions will take place on Saturday and Sunday, and the agenda is
the following (UTC+1, Paris time). Schedule is subject to change:</p><h3>Saturday</h3><ul><li>10:00–10:35: (BoF) <strong>10 years of Guix - a retrospective (tbd)</strong></li><li>10:40–11:15: <strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-guix-aws-lambda.mkv">Making Images for AWS Lambda Functions and Deploying Them with Guix</a></strong></li><li>11:20–11:55: <strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-guix-gaming.mp4">Gaming on Guix</a></strong></li></ul><p><code>(break)</code></p><ul><li>13:00–13:35: <strong>Spontaneous topics</strong></li><li>13:40–14:15: <strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-documentation.mp4">A Deep Dive into the Guile Documentation & Makeover Proposal</a></strong></li><li>14:20–14:55: <strong>Spontaneous topics</strong></li></ul><p><code>(break)</code></p><ul><li>16:00–16:35: (BoF) <strong>WhereisEveryone, Guix 'R Us, Online Meetups</strong></li><li>16:40–17:15: <strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-experience-newcomer.mp4">My experiences as a newcomer to Guix</a></strong></li><li>17:20–17:55: <strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-how-gnu-guix-saved-me.mkv">How GNU Guix saved me when my laptop caught water, how it didn't, and where it couldn't</a></strong></li></ul><h3>Sunday</h3><ul><li>10:00–10:35: (BoF) <strong>bordeaux.guix.gnu.org, Guix Build Coordinator and related topics Q&A</strong></li><li>10:40–11:15: <strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-patch-review.mp4">Dreaming of better patch review</a></strong></li><li>11:20–11:55: <strong>Spontaneous topics</strong></li></ul><p><code>(break)</code></p><ul><li>13:00–13:35: <strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-modernizing-python-build-system.mkv">Modernizing python-build-system</a></strong></li><li>13:40–14:15: (BoF) <strong>Guix Installer</strong></li><li>14:20–14:55: <strong>Spontaneous topics</strong></li></ul><p><code>(break)</code></p><ul><li>16:00–18:00: <strong>Future of Guix (tbd)</strong></li></ul><p>Each session will be question/answer and discussion related to the topic via
the BigBlueButton instance.</p><p>The slots are short so please watch the
<a href="https://xana.lepiller.eu/guix-days-2022/">videos</a> beforehand to better enjoy
the discussions. The term BoF means open discussion to address prospects. The
last discussion may be longer depending on what you have to share.</p><p>The main channel for the day will be the video chat and questions will be asked
via the chat hosted there or––because we love it––via <code>#guix</code> on
<a href="https://guix.gnu.org/en/contact/irc/"><code>libera.chat</code></a> then the floor
might be shared, opening more mics. The discussions will not be recorded
because we would like to keep them informal––where people are less impressed to
share their point of views.</p><p><strong>The <a href="http://git.savannah.gnu.org/cgit/guix.git/tree/CODE-OF-CONDUCT">Code of
Conduct</a>
applies for all the channels of communication.</strong></p><h5>10 years of Guix - a retrospective</h5><p>Chaired by <em>GNU Guix Maintainers</em></p><p>This session will present the various milestones reached by the project
during the 10 years of its existence, from its first commit in 2012 to
today, in 2022.</p><h5>Making Images for AWS Lambda Functions and Deploying Them with Guix</h5><p>Presented by <em>George Vafeiadis</em> and <em>Phil Beadling</em>.
(<strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-guix-aws-lambda.mkv">video mkv</a></strong>)</p><p>AWS Lambda is an event driven, serverless compute service which is
provisioned using custom-made Docker images. We were interested in seeing if
we could harness Guix's Docker output to produce AWS compatible input images.
Using Guix has enabled us to cut a lot of bulk out of the base image to
produce a lean result. The talk will cover wrapping of the Lambda Python
Runtime Interface Client in Guix, the various challenges in doing so, and
an overview of the resulting pipeline that we can plug into our CI/CD system.
We will provide example code and packages which people can then build upon
(the ultimate aim is to submit these packages to the official Guix channel).</p><h5>Gaming on Guix</h5><p>Presented by <em>Tobias Alexandra Platen</em>.
(<strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-guix-gaming.mp4">video mp4</a></strong>)</p><p>This year the I Love Free Software Day 2022, includes Free Software
games such as Veloren and Armagetron Advanced. Since I only
play free software Games, I cant play VRChat, so I decided to go with
V-Sekai instead, VR platform powered by the Godot Engine.
I plan to package those games for GUIX.</p><h5>A Deep Dive into the Guile Documentation & Makeover Proposal</h5><p>Presented by <em>Blake Shaw</em>.</p><p>Recent discussions on the Guix mailing list revealed that many in the Guix
community have found the Guile Reference Manual difficult to navigate as
newcomers. That should come as no surprise — in PDF form, the docs span
approximately <em>850 pages</em>, making it a quite hefty set of documents for an
implementation of a minimal programming language like Scheme, even when
compared to the documentation of relatively large PLs; the Racket Guide,
for instance, is only 450 pages, while the Rust Book is approximately 550
pages.</p><p>Serving at the same time as a reference manual & API specification, the
large size may in part be attributed to what simultaneously makes Guile an
appealing project to contribute to, while also rendering the documentation
process somewhat delicate: Guile is a massive collective project featuring
the contributions of many authors over the course of three decades,
contributions which Guilers would hate to trivialize or treat as insignificant
or edit away on a whim. Additionally, Guile comes from a long set of
traditions within Scheme hacking which itself is deep with sage wisdom
spanning many pedagogical philosophies and one of the greatest literature
traditions of hacker culture. Is it possible to perform a makeover of the
Guile Documentation while respecting these historical threads, at the same time
rendering it more approachable for new users while not forsaking the deep
nuggets of wisdom that lie therein?</p><h5>WhereisEveryone, Guix 'R Us, Online Meetups</h5><p>Chaired by <em>jgart</em>.</p><p>In this session I'll give an introduction and short tour of the WhereisEveryone
community and associated Guix 'R Us channel. the session will cover how people
can get involved with the project as well as how we see ourselves fitting
into the scheme of contributing to GNU Guix upstream through regular
online collaboration and organized meetups. The session is open to prospective
as well as experienced Guix contributors alike. An open discussion will follow
to discuss the strategies presented and how we might improve and extend them.</p><h5>My experiences as a newcomer to Guix</h5><p>Presented by <em>John Kehayias</em>.
(<strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-experience-newcomer.mp4">video mp4</a></strong>)</p><p>Just over 6 months ago I had never heard of GNU Guix or knew what it was,
and now I'm submitting patches and enjoy hacking on my Guix system constantly
(and spending too much time on IRC). In this talk I will answer how I got
here, what my experiences have been, and what I've learned as a newbie to
not-quite-a-newbie.</p><p>I have been a Linux user for many years, from Debian in the early 32bit to
64bit era, to compiling kernels for a Gentoo media box, and more recently
Arch as my full-time distro on 3 computers (yes, insert Arch meme). But
now all I want is Guix on everything.</p><p>Along the way I had to learn what Guix is, how to use it, and how to hack on
it. There are clear highlights like being able to use Scheme everywhere and
the cleanliness of a declarative, atomic system, but also rough spots in a
still growing distro and community, like adapting to mailing lists, patch
review, and the "Guix way." I hope my perspectives will be interesting
for other newcomers to learn from, as well as the more experienced Guix-ers
to help continue the development of GNU Guix.</p><h5>How GNU Guix saved me when my laptop caught water, how it didn't, and where it couldn't</h5><p>Presented by <em>Liliana Marie Prikler</em>.
(<strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-how-gnu-guix-saved-me.mkv">video mkv</a></strong>)</p><p>Based on events that actually occurred, this talk shows how to</p><ol><li>use Guix on a foreign distribution to get a configuration made on
Guix System running</li><li>use Guix' containerization to access files (and services) on a third
machine without modifying data on that machine (e.g. gratuitously
copying files to $HOME).</li></ol><p>Guix is discussed as an alternative package manager similar to Flatpak
or Snap, along with reasons to choose it over other solutions
(particularly some "rarely" discussed UI reasons).
In addition, practical applications of Guix' sandboxed environments are
shown by the examples of</p><ol><li>editing files with GNU Emacs while interacting with git through
libsecret</li><li>reading mail and accessing remote files with GNOME Online Accounts.</li></ol><p>For wider context, this talk shows how Guix can help creating
manageable backups in the form of manifests.</p><h5>bordeaux.guix.gnu.org, Guix Build Coordinator and related topics Q&A</h5><p>Chaired by <em>Christopher Baines</em>.</p><p>bordeaux.guix.gnu.org is a relatively new addition to the default
substitute servers, using the Guix Build Coordinator as a key component
to build packages and provide substitutes.</p><p>This session will be a chance for live questions and discussion about
bordeaux.guix.gnu.org, the Guix Build Coordinator and any related
topics.</p><h5>Dreaming of better patch review</h5><p>Presented by <em>Arun Isaac</em>.
(<strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-patch-review.mp4">video mp4</a></strong>)</p><p>The Guix project is growing, and growing rapidly. Users and
contributors are pouring in with their patches and bug
reports. Maintainers, committers and reviewers are unable to keep
up. A few (not me!) are taking on a disproportionate amount of the
work. Contributors are frustrated that their patches don't get
reviewed or accepted in time. Reviewers are cracking under the work
load, and silently tuning out. This situation is obviously
unsustainable, and demands urgent attention. What do we do?!</p><p>We try to motivate more of our reviewers to chip in, and gently
encourage them to help out more. But, we all have busy lives, and it
is impractical to appeal simply to the goodness of our hearts. We need
to streamline our review process and make it so easy that reviewers
will want to review. Suggestions to use more sophisticated and modern
issue trackers such as those popularized by GitHub and GitLab come up
time and again. But, I believe that Guix is a large enough and a
distinctive enough project to deserve its own customized issue tracker
tooling.</p><p>In this talk, I will dream up how our patch review could be better. I
will describe problems and present mockups bereft of
implementation. The hope is that this talk will outline the
possibilities for future work and inspire people to pitch in with
code. If there is time towards the end, I will also present mumi's new
GraphQL API.</p><h5>Modernizing python-build-system</h5><p>Presented by <em>Lars-Dominik Braun</em>.
(<strong><a href="https://xana.lepiller.eu/guix-days-2022/guix-days-2022-modernizing-python-build-system.mkv">video mkv</a></strong>)</p><p>Python is moving away from having a single go-to solution for packaging.
Setuptool’s well-known <code>setup.py</code> is currently in the process of being
replaced by pluggable build systems as specified by PEP 517, allowing
alternative tools like poetry, flit and others to enter the room.</p><p>Currently Guix’s python-build-system is not equipped to deal with
packages that require a PEP 517-compatible build environment. Therefore
they need custom 'build and 'install phases. Thus python-build-system
needs to move forward as the ecosystem it is building. In this talk I
would like to present my ideas for a modern Python build system.</p><h5>Guix Installer</h5><p>Chaired by <em>Josselin Poiret</em>.</p><p>This session will discuss the recent development in the installer.</p><h5>Future of Guix</h5><p>Chaired by <em>GNU Guix maintainers</em>.</p><p>The session covers the medium- and long-term goals that may or may not look
realistic. Pragmatic dream!</p><h4>Code of Conduct</h4><p>This online conference is an official Guix event. Therefore, the <a href="http://git.savannah.gnu.org/cgit/guix.git/tree/CODE-OF-CONDUCT">Code of
Conduct</a>
applies. Please be sure to read it beforehand!</p><p>If you witness violations of the code of conduct during the event, please
email <code>guix-days@gnu.org</code>, a private email alias that reaches the organizers
(Simon <code>zimoun</code> Tournier and Julien <code>roptat</code> Lepiller) and the GNU Guix
maintainers.</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager and an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, and AArch64 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2022/meet-guix-at-fosdem-2022//Meet Guix at FOSDEMLudovic Courtès2022-02-02T15:00:00Z2022-02-02T15:00:00Z As usual, GNU Guix will be present at FOSDEM
this week-end, February 5th and 6th. Due to the pandemic, FOSDEM takes
place on-line for the second year, but we’re confident the wires will be
able carry enthusiasm to the homes of the thousands of attendees. This year’s a bit special: we’re celebrating 10 years of Guix, including
8 years sharing our excitement at
FOSDEM ! This edition will
also bring you several talks about Guix and related projects. Sunday morning, in the distributions
track ,
co-maintainer and long-time hacker Mathieu Othacehe will present
“ Unify your distributions —…<p>As usual, GNU Guix will be present at <a href="https://fosdem.org/2022/">FOSDEM</a>
this week-end, February 5th and 6th. Due to the pandemic, FOSDEM takes
place on-line for the second year, but we’re confident the wires will be
able carry enthusiasm to the homes of the thousands of attendees.</p><p>This year’s a bit special: we’re celebrating 10 years of Guix, including
<a href="https://guix.gnu.org/en/blog/tags/fosdem/">8 years sharing our excitement at
FOSDEM</a>! This edition will
also bring you several talks about Guix and related projects.</p><ul><li>Sunday morning, in the <a href="https://fosdem.org/2022/schedule/track/distributions/">distributions
track</a>,
co-maintainer and long-time hacker Mathieu Othacehe will present
<a href="https://fosdem.org/2022/schedule/event/unify_your_distributions/">“<em>Unify your distributions — How GNU Guix can run on any of your
hardware</em>”</a></li></ul><p>The other talks will take place on Sunday as well, in the now
traditional track on <a href="https://fosdem.org/2022/schedule/track/declarative_and_minimalistic_computing/">declarative and minimalistic
computing</a>:</p><ul><li><a href="https://fosdem.org/2022/schedule/event/riscvadventures/">“<em>A year of RISC-V adventures: embracing chaos in your software
journey</em>”</a>
will be Ekaitz Zarraga’s account of the work porting
GNU Guile, stage0, and GNU Mes to RISC-V, which will be instrumental
in improving the RISC-V port of Guix.</li><li>With <a href="https://fosdem.org/2022/schedule/event/guixdeclare/"><em>“Declare All Your Needs — Managing computing environment
declaratively using
GNU Guix”</em></a>,
Andrew Tropin will show how you can declare your whole computing
environment using <a href="https://guix.gnu.org/manual/devel/en/html_node/System-Configuration.html">Guix
System</a>,
<a href="https://guix.gnu.org/manual/devel/en/html_node/Home-Configuration.html">Guix
Home</a>,
and <a href="https://git.sr.ht/~abcdw/rde/">rde</a>.</li><li>In <a href="https://fosdem.org/2022/schedule/event/gnuguixci/">“<em>GNU Guix behind the scene — Continuous integration for the
GNU Guix
project</em>”</a>,
Mathieu Othacehe will show what’s happening in the backyard of
<a href="https://ci.guix.gnu.org">Guix’s build farm</a>.</li><li><a href="https://fosdem.org/2022/schedule/event/commonworkflowlang/">“<em>Concise Common Workflow Language — Concision and elegance in a
workflow language using
Lisp</em>”</a>
will be Arun Isaac presenting <a href="https://hpc.guix.info/blog/2022/01/ccwl-for-concise-and-painless-cwl-workflows/">the all new
ccwl</a>, a
Guile domain-specific language (DSL) to define scientific workflows.</li></ul><p>But let’s be clear: there are other <a href="https://fosdem.org/2022/schedule/track/declarative_and_minimalistic_computing/">exciting talks in this
track</a>,
some of which closely related to Guix and Guile, so do not miss out!</p><p><img src="/static/blog/img/Guix-Days-online-2022.png" alt="Guix Days logo" /></p><p>As in previous years, we are also organizing a <a href="https://guix.gnu.org/en/blog/2022/online-guix-days-2022-announcement-1/">two-day on-line
event</a>
two weeks after FOSDEM. If you’d like to share what you’ve done with
Guix or in Guix, if you have packaging stories from the trenches,
there’s <em>one week left to submit a talk</em>. At any rate, whether you’re
simply curious about Guix or whether you’re already deep into, we hope
to see you on February, 19–20!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, AArch64 and POWER9 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2022/online-guix-days-2022-announcement-1//Announcing the second online Guix DaysGuix Hackers2022-01-12T00:00:00Z2022-01-12T00:00:00Z The Guix hackers are very happy to announce the second online Guix Days
Conference on 19 & 20 February 2022 . This conference is open to everyone
and will be held entirely online. Want to speak? Submit your proposal! Important dates: February 8 : Deadline for talks proposal. February 12 : Deadline for releasing your pre-recorded talks. February 14 : Release of the schedule. February 19 : Conference day! February 20 : Conference day! The agenda of these…<p>The Guix hackers are very happy to announce the second online Guix Days
Conference on <strong>19 & 20 February 2022</strong>. This conference is open to everyone
and will be held entirely online. Want to speak? Submit your proposal!</p><p>Important dates:</p><ol><li><strong>February 8</strong>: Deadline for talks proposal.</li><li><strong>February 12</strong>: Deadline for releasing your pre-recorded talks.</li><li><strong>February 14</strong>: Release of the schedule.</li><li><strong>February 19</strong>: Conference day!</li><li><strong>February 20</strong>: Conference day!</li></ol><p><img src="/static/blog/img/Guix-Days-online-2022.png" alt="Guix Days logo" /></p><p>The agenda of these two days is:</p><ul><li>pre-recorded talks with live question and answer sessions</li><li>birds of a feather (BoF) sessions</li><li>lightning round talks, if possible</li><li>retrospective and future of Guix</li><li>hack together</li></ul><p>Talks will be released <strong>before</strong> the conference day, <strong>watch them as soon
as possible</strong>! And: <strong>no registration fee</strong>.</p><h5>Until February 8: talk proposals</h5><p>Propose your talks by sending them to <code>guix-days@gnu.org</code>. Feel free to drop
in <code>#guix</code> on irc.libera.chat to discuss what you would like to talk about
before submitting. :)</p><p>You can choose one of the following formats:</p><ul><li>Standard talk. 15-45 minutes pre-recorded presentation and a 5 minutes lightning talk.
The 5-minute presentation will be live, to refresh our minds, followed by
a 30 minutes live Q&A.</li><li>BoF (birds of a feather, for a session with a small group who wants to talk
about a specific topic) with no presentation. You may prepare something live
to spark conversations.</li><li>Lightning talk with a 5 minutes live presentation</li></ul><p>In addition to the format you would like to choose, please describe your session
with 10 lines or more (for lightning talks, at least 1 sentence).</p><p>Once you have sent your proposal, you will be notified in the following days
whether your talk will be part of the Guix Days. Submit earlier to get more time to
prepare your session!</p><p>Even for live presentation, please prepare a back-up pre-recorded talk, so
we can play it if you cannot attend or have a technical problem during the
Guix days. The deadline for short presentations (5 minutes) is February 16.</p><p>We welcome all kinds of topics from the community, especially your own experience
with Guix, your cool projects that involve Guix in some way, infrastructure around
guix (translations, continuous integration, ...), and any subject you feel
should be discussed during the conference.</p><p>We particularly encourage people who consider themselves part of a group
underrepresented in Guix and the broader free software movement to submit
a talk. Do not hesitate to get in touch with the organizers at <code>guix-days@gnu.org</code>
if unsure or if you would like guidance on how to prepare your talk.</p><p>Please make sure your talk is accessible to a non-expert audience, for instance
by explaining the general context before diving into technical descriptions,
and by avoiding acronyms and jargon.</p><p>We accept talks in languages other than English provided English subtitles are
included.</p><p>Have a look at the topics from <a href="/blog/2020/online-guix-day-announce-1/">the last conference</a>
for ideas, but don't hesitate to innovate in your proposals!</p><h5>February 8 (or before) – 12: prepare your session</h5><p>The aim of the pre-recorded talks is to demonstrate new features, what you are
hacking on, introduce the subject for easing the live question and answer
sessions or BoFs. These pre-recorded talks should be <strong>15–45 minutes
long</strong>. Feel free to ask if you need help with the recording.</p><p>You are free to choose whichever storage platform you want (e.g., your own
website, a PeerTube instance, a Nextcloud instance, etc.), but we will need to
have access to the original file so we can publish it later on
<a href="https://audio-video.gnu.org">audio-video.gnu.org</a>. Your video must be
released under a license that at least allows anyone to copy and share it, for
any purpose.</p><p>You will have to release the video publicly before February 12, so everyone
has a chance to see it before the conference. If you are not able to do so
(for instance your server cannot handle a huge load), you can alternatively
send us a private link to the video and we will upload it on
<a href="https://audio-video.gnu.org">audio-video.gnu.org</a>. If you decide to do so,
you will need to have the video ready by February 10.</p><h5>February 12–18: watch the talks</h5><p>But don't miss the <a href="https://fosdem.org">Fosdem</a> conference either!</p><p>Be sure to watch the pre-recorded talks before the conference. There will be
<strong>no presentations</strong> on the 19 nor 20.</p><h5>February 19–20: participate</h5><p>Coming soon! Stay tuned.</p><h4>Code of Conduct</h4><p>This online conference is an official Guix event. Therefore, the <a href="http://git.savannah.gnu.org/cgit/guix.git/tree/CODE-OF-CONDUCT">Code of
Conduct</a>
applies. Please be sure to read it beforehand!</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager and an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, and AArch64 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2022/gnu-guix-maintainer-rotation//GNU Guix maintainer rotationMaxim Cournoyer2022-01-06T09:00:00Z2022-01-06T09:00:00Z For some time already, Ludovic and Marius have voiced their desire to
step down from the Guix maintainers collective. An
email
announcing the news and calling for new maintainers was sent more than
4 months ago. We're very happy to announce that Efraim Flashner has
responded to the call and accepted to join the Guix maintainers
collective! Efraim has been with Guix for a long time -- the first
recorded Git history of their activity goes back to
2015 ,
and they have since authored more than 6000 commits! More
importantly, Efraim has demonstrated traits we value for a
co-maintainer, such as…<p>For some time already, Ludovic and Marius have voiced their desire to
step down from the Guix maintainers collective. An
<a href="https://mail.gnu.org/archive/html/guix-devel/2021-08/msg00009.html">email</a>
announcing the news and calling for new maintainers was sent more than
4 months ago. We're very happy to announce that Efraim Flashner has
responded to the call and accepted to join the Guix maintainers
collective! Efraim has been with Guix for a long time -- <a href="https://git.savannah.gnu.org/cgit/guix.git/commit/?id=7e22d6fee921f7559fc704a35d226875ec2f9ea8">the first
recorded Git history of their activity goes back to
2015</a>,
and they have since authored more than 6000 commits! More
importantly, Efraim has demonstrated traits we value for a
co-maintainer, such as good communication and collaboration abilities,
values that align well with those of the GNU project and overall a
person you'd like to hang out with at FOSDEM :-).</p><p>We're sad to see Ludovic and Marius step down from their current
duties, but we take comfort knowing they will remain among us for the
good hacks and occasional guidance. Losing them as co-maintainers
will be a difficult test for the remaining Guix co-maintainers.
Ludovic's wit, relentless energy, tactful communication and wise
planning have been invaluable to the Guix project throughout the
years. Ludovic has mentioned this decision was at least partly based
on their desire to guard Guix against the <a href="https://en.wikipedia.org/wiki/Founder's_syndrome">Founder's
syndrome</a>, which is
something we can only applaud. Marius has served as co-maintainer
since October 2019. Their calm, composed attitude has helped us
navigate through at times difficult situations, and their technical
wizardry has brought us the likes of
<a href="https://git.savannah.gnu.org/cgit/guix.git/commit/?id=f1e9de4d3aefae420db633a56ba9cd93f7750df3">ungoogled-chromium</a>
and a <a href="https://guix.gnu.org/en/blog/2020/running-a-ganeti-cluster-on-guix/">Ganeti
service</a>,
among many others.</p><p>Let's take a moment to say thank you to Ludovic and Marius for their
valuable years as maintainers, and wish they can enjoy their newfound
extra time :-).</p><p>Let's also wish a warm welcome to Efraim. Thank you for stepping up
to become a co-maintainer, Efraim!</p><h4>The Guix co-maintainers</h4><p>The Guix maintainer collective now consists of Efraim Flashner,
Mathieu Othacehe, Maxim Cournoyer and Tobias Geerinckx-Rice. You can
reach us all by email at <code>guix-maintainers@gnu.org</code>, a private alias.</p><p>For information about the responsibilities assumed by the Guix
co-maintainers, you are encouraged to read a previous <a href="https://guix.gnu.org/blog/2019/gnu-guix-maintainer-collective-expands/">blog
post</a>
that covered the topic.</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, AArch64 and POWER9 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2021/meet-guix-at-fosdem-2021//Meet Guix at FOSDEMLudovic Courtès2021-02-02T15:00:00Z2021-02-02T15:00:00Z As usual, GNU Guix will be present at FOSDEM
on February 6th and 7th. Due to the pandemic, this year’s edition takes
place on-line. The downside is that we’ll miss beautiful Brussels, but
on the up side hopefully people who cannot join physically will be able
to attend this year, and the event’s carbon footprint will be much
lower. We’re happy to say that there will be several talks about Guix and
related projects! Saturday afternoon, Guix Workflow Language — Extending a
reproducible software deployment system for
HPC by
Ricardo Wurmus, in the high-performance computing (HPC)
track…<p>As usual, GNU Guix will be present at <a href="https://fosdem.org/2021/">FOSDEM</a>
on February 6th and 7th. Due to the pandemic, this year’s edition takes
place on-line. The downside is that we’ll miss beautiful Brussels, but
on the up side hopefully people who cannot join physically will be able
to attend this year, and the event’s carbon footprint will be much
lower.</p><p>We’re happy to say that there will be several talks about Guix and
related projects!</p><ul><li>Saturday afternoon, <a href="https://fosdem.org/2021/schedule/event/guix_workflow/"><em>Guix Workflow Language — Extending a
reproducible software deployment system for
HPC</em></a> by
Ricardo Wurmus, in the <a href="https://fosdem.org/2021/schedule/track/hpc_big_data_and_data_science/">high-performance computing (HPC)
track</a>,
will introduce the <a href="https://workflows.guix.info/">Guix Workflow
Language</a> and discuss the state of
workflow languages.</li></ul><p>Sunday, the <a href="https://fosdem.org/2021/schedule/track/declarative_and_minimalistic_computing/">Declarative and Minimalistic Computing
track</a>
will be home to several Guix talks:</p><ul><li>Around noon, <a href="https://fosdem.org/2021/schedule/event/gnumes/"><em>GNU Mes: the Full Source Bootstrap — The missing link
between stage0/M2-Planet and
Mes</em></a> by Jan
“janneke” Nieuwenhuizen will present the latest advances in
<a href="https://guix.gnu.org/en/blog/tags/bootstrapping/">bootstrapping</a>:
building the root of the Guix package collection <em>entirely from
source</em>!</li><li>Early in the afternoon, <a href="https://fosdem.org/2021/schedule/event/gnuguix/"><em>Declaratively yours — Composing system
abstractions with
GNU Guix</em></a> by
Ludovic Courtès will present how Guix takes advantage of its
declarative structure, showcasing concrete examples.</li><li><a href="https://fosdem.org/2021/schedule/event/minimalismguix/"><em>Is GNU Guix a minimal distribution, and what might that even
mean?</em></a> by
Christopher Baines will reflect on what minimalism means for
distributions and how it might apply to Guix.</li></ul><p>Do not miss all the other <a href="https://fosdem.org/2021/schedule/track/declarative_and_minimalistic_computing/">exciting talks in this
track</a>,
some by Guile and Guix hackers!</p><p>For the fourth time, we are also organizing a <a href="https://fosdem.org/2021/fringe/">FOSDEM fringe
event</a> on Monday, February 8th, a
<strong>one-day Guix workshop</strong> where contributors and enthusiasts will meet,
on-line. Being an on-line event, we hope to attract people (maybe you?)
who wouldn’t have come to the in-person meeting but will be happy to
learn about what’s cooking in Guix and share their experience, needs,
and ideas.</p><p>Again this year there will be few talks; instead, the event will
consist primarily of
“<a href="https://en.wikipedia.org/wiki/Unconference">unconference-style</a>”
sessions focused on specific hot topics about Guix, the Shepherd,
continuous integration, and related tools and workflows.</p><p>Attendance to the workshop is free and open to everyone, though you are
invited to register (there are only a few seats left!). Join <a href="https://guixbbb.fosshost.org">our
BigBlueButton instance</a> on Monday 8th, and
check out <a href="https://libreplanet.org/wiki/Group:Guix/FOSDEM2021">the workshop’s wiki
page</a> for practical
info. Hope to see you on-line!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, and AArch64 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2021/adding-translations-to-guix-website//Adding translations to Guix’ websiteFlorian Pelz2021-01-20T12:00:00Z2021-01-20T12:00:00Z As part of GNU , Guix aims to bring freedom to
computer users all over the world, no matter the languages they
(prefer to) speak. For example, Guix users asking for
help can expect an answer even if they do
so in languages other than English. We also offer translated software for people more comfortable with a
language other than English. Thanks to many people who contribute
translations, GNU Guix and the packages it distributes can be used in
various languages, which we value greatly. We are happy to announce
that Guix’ website can now be translated in the same…<p>As part of <a href="https://www.gnu.org">GNU</a>, Guix aims to bring freedom to
computer users all over the world, no matter the languages they
(prefer to) speak. For example, Guix users asking for
<a href="https://guix.gnu.org/help">help</a> can expect an answer even if they do
so in languages other than English.</p><p>We also offer translated software for people more comfortable with a
language other than English. Thanks to many people who contribute
translations, GNU Guix and the packages it distributes can be used in
various languages, which we value greatly. We are happy to announce
that Guix’ website can now be translated in the same manner. If you
want to get a glimpse on how the translation process works, first from
a translator’s, then from a programmer’s perspective, read on.</p><p>The process for translators is kept simple. Like lots of other free
software packages, Guix uses
<a href="https://www.gnu.org/software/gettext">GNU Gettext</a> for its
translations, with which translatable strings are extracted from the
source code to so-called PO files. If this is new to you, the magic
behind the translation process is best understood by taking a look at
one of them.
<a href="https://docs.weblate.org/en/latest/user/files.html">Download</a> a PO
file for your language <a href="https://translate.fedoraproject.org/projects/guix/">at the Fedora Weblate
instance</a>.</p><p>Even though PO files are text files, changes should not be made with a
text editor but with PO editing software. Weblate integrates PO
editing functionality. Alternatively, translators can use any of
various free-software tools for filling in translations, of which
<a href="https://poedit.net">Poedit</a> is one example, and (after logging in)
<a href="https://docs.weblate.org/en/latest/user/files.html">upload</a> the
changed file. There also is a <a href="https://www.emacswiki.org/emacs/PoMode">special PO editing
mode</a> for users of
<a href="https://www.gnu.org/software/emacs">GNU Emacs</a>. Over time
translators find out what software they are happy with and what
features they need.</p><p>Help with translations is much appreciated. Since Guix integrates
with the wider free software ecosystem, if you intend to become a
translator, it is worth taking a look at the styleguides and the work
of other translators. You will find some <a href="https://translationproject.org/team">at your language’s team at
the Translation Project (TP)</a>.</p><p>So much for the translation of ordinary source code. With
<a href="https://po4a.org">Po4a</a>, we can also use Gettext’s tooling to
translate Guix’ <a href="https://guix.gnu.org/manual/">manual</a> and
<a href="https://guix.gnu.org/cookbook/">cookbook</a>. But all this was not true
of its web presence. That’s why after a <a href="https://issues.guix.info/issue/26302">lengthy
process,</a> the website of
GNU Guix has undergone an update. It now supports translation into
other languages. Such support is known as internationalization
(“i18n”).</p><p>Guix’ website is written in a variant of HTML (in which web pages are
usually written) that integrates better with the <a href="https://schemers.org">Scheme programming
language</a>. Instead of XML tags, we use
<a href="https://www.gnu.org/software/guile/manual/html_node/SXML.html">SXML</a>.
This allows web authors to mix code and text. It looks like this:</p><pre><code class="language-scheme">`(section
(h2 "On packaging")
(p
"Packages are "
(a (@ (href ,(manual-url "Defining-Packages.html"))) "defined")
" as native "
(a (@ (href ,(gnu-url "software/guile"))) "Guile")
" modules."))</code></pre><p>However, this mixing makes it more difficult to extract the strings to
be translated. We therefore cannot take the same approach as
<a href="https://www.gnu.org">gnu.org</a>, which uses a software package called
<a href="https://www.gnu.org/software/gnun">GNUnited Nations</a> to extract from
pure HTML mark-up. Translators are not always coders and we would
prefer to show them only the textual part, like this:</p><pre><code>msgid "Packages are <1>defined</1> as native <2>Guile</2> modules."</code></pre><p>Our new, custom i18n system does this. The website authors need to
mark translatable expressions in the same way ordinary strings are
<a href="https://www.gnu.org/software/guile/manual/html_node/Gettext-Support.html#Gettext-Support">usually marked in Guile Scheme
programs:</a></p><pre><code class="language-scheme">`(section
,(G_ `(h2 "On packaging"))
;; TRANSLATORS: Defining Packages is a section name
;; in the English (en) manual.
,(G_ `(p
"Packages are "
,(G_ (manual-href "defined" (G_ "en") (G_ "Defining-Packages.html")))
" as native "
,(G_ `(a (@ (href ,(gnu-url "software/guile"))) "Guile"))
" modules.")))</code></pre><p>Translators can arbitrarily change the ordering:</p><pre><code>#. TRANSLATORS: Defining Packages is a section name
#. in the English (en) manual.
#: apps/base/templates/about.scm:64
msgid "Packages are <1>defined<1.1>en</1.1><1.2>Defining-Packages.html</1.2></1> as native <2>Guile</2> modules."
msgstr "Pakete werden als reine <2>Guile</2>-Module <1>definiert<1.1>de</1.1><1.2>Pakete-definieren.html</1.2></1>."</code></pre><p>Details are <a href="https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/website/i18n-howto.txt">documented
here</a>.
We hope it strikes the right balance between simplicity for the
website’s developers and translator comfort. Still missing is a way
to translate blog posts like the one you are reading here.</p><p>With ideas for and by a more diverse community, we can look forward to
a bright multi-lingual future. Please get in touch with <a href="https://translationproject.org/team">your
language’s team</a> or <a href="https://guix.gnu.org/contact">us Guix
developers</a> if you want to help make
Guix’ website available in your language as well!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package manager and
an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, and AArch64 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="https://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2020/online-guix-day-announce-2//Online Guix Day Conference: schedule released!Guix Hackers2020-11-16T00:00:00Z2020-11-16T00:00:00Z The Guix hackers are very happy to announce the first online Guix Day
Conference on Sunday November, 22nd . This conference is open to everyone
( no registration fee ) and will be held entirely online. Want to know the
schedule, read on! There will be no presentation on the 22nd! Please watch the talks beforehand. Join us live on the 22nd to
participate in the various sessions! Live discussions will take place on Sunday, November 22nd, and the agenda is
the following (UTC+1): 10:00–10:25: …<p>The Guix hackers are very happy to announce the first online Guix Day
Conference on <strong>Sunday November, 22nd</strong>. This conference is open to everyone
(<strong>no registration fee</strong>) and will be held entirely online. Want to know the
schedule, read on!</p><p><em>There will be no presentation on the 22nd! Please watch the talks beforehand.</em></p><p><img src="/static/blog/img/Guix-Days-online-2020.png" alt="Guix Days logo" /></p><p><a href="https://guixbbb.fosshost.org/b/zim-dmr-hp2-ibu">Join us live</a> on the 22nd to
participate in the various sessions!</p><p>Live discussions will take place on Sunday, November 22nd, and the agenda is
the following (UTC+1):</p><ul><li>10:00–10:25: <strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-gnu-guix-in-psychology.mp4">GNU Guix in psychology research and teaching</a></strong></li><li>10:30–10:55: <strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-mathieu-otacehe-fixing-the-ci.mp4">Fixing the CI</a></strong></li><li>11:00–11:25: <strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-andrew-tropin-nix-and-guix.mp4">Nix and Guix: similarities and differences</a></strong></li></ul><p><code>(break)</code></p><ul><li>12:00–12:25: (BoF) <strong>From v1.2 to release process</strong></li><li>12:30–12:55: <strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-tobias-platen-guix-ppc.mp4">Porting Guix to modern PowerPC</a></strong></li><li>13:00–13:25: <strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-efraim-flashner-build-it-with-guix.mp4">Just build it with Guix</a></strong></li></ul><p><code>(long break)</code></p><ul><li>14:30–14:55: <strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-christopher-baines-guix-build-coordinator.mp4">Progress so far on the Guix Build Coordinator</a></strong></li><li>15:00–15:25: (BoF) <strong>Peer-to-peer substitutes and sources</strong></li><li>15:30–15:55: <strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-jeremy-korwin-zmijowski-guile-hacker-handbook.mp4">Guile Hacker Handbook</a></strong></li></ul><p><code>(break)</code></p><ul><li>16:30–16:55: (BoF) <strong>Rust and Cargo</strong></li><li>17:00–17:25: <strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-julien-lepiller-bootstrapping-maven-480.mp4">Bootstrapping the Java Ecosystem</a></strong></li><li>17:30–xx:yy: (BoF) <strong>The ways forward (roadmap and beyond)</strong></li></ul><p>Chinese users will find a mirror hosted at <a href="https://guix.org.cn/guix-days-2020">https://guix.org.cn</a>.
You will also find alternative links below for different formats, and
downloading through IPFS.</p><p>Each session will be question/answer and discussion related to the topic via
the BigBlueButton instance generously hosted by
<a href="https://fosshost.org/">Fosshost</a>. Warm thanks to them!</p><p>The slots are short so please watch the
<a href="https://xana.lepiller.eu/guix-days-2020/">videos</a> beforehand to better enjoy
the discussions. The term BoF means open discussion to address prospects. The
last discussion may be longer depending on what you have to share.</p><p>The main channel for the day will be the video chat and questions will be asked
via the chat hosted there or––because we love it––via <code>#guix</code> on
<a href="https://guix.gnu.org/en/contact/irc/"><code>libera.chat</code></a> then the floor
might be shared, opening more mics. The discussions will not be recorded
because we would like to keep them informal––where people are less impressed to
share their point of views.</p><p><strong>The <a href="http://git.savannah.gnu.org/cgit/guix.git/tree/CODE-OF-CONDUCT">Code of
Conduct</a>
applies for all the channels of communication.</strong></p><h5>GNU Guix in psychology research and teaching</h5><p>Presented by <em>Lars-Dominik
Braun</em>. (<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-gnu-guix-in-psychology.webm">video webm</a></strong>,
<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-gnu-guix-in-psychology.mp4">video mp4</a></strong>,
<a href="http://dx.doi.org/10.23668/psycharchives.4353">doi</a>, <a href="http://dx.doi.org/10.23668/psycharchives.4354">slide</a>,
<a href="https://gateway.ipfs.io/ipfs/QmVqFw9xxoMAT4NGccrxDoDgrguBK3mPvjhwDhAkmnVLzh">ipfs</a>)</p><p>The Leibniz Institute for Psychology supports psychologists in adopting open
science practices by providing them with free infrastructure services. One of
these services is PsychNotebook, a web platform providing access to shareable
and reproducible R and Python programming environments, using RStudio and
JupyterLab in particular. PsychNotebook is used by researchers for analyzing
research data and by instructors to teach psychology students script-based
analyses.</p><p>The session covers why psychology among other research field needs this
platform, how it is designed and what role GNU Guix plays in all of this. In
particular, four challenges are addressed: user management, project management,
web app deployment/proxying; as well as usability and how GNU Guix supports or
provide reproducible environments.</p><h5>Fixing the CI</h5><p>Presented by <em>Mathieu Othacehe</em>. (<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-mathieu-otacehe-fixing-the-ci.webm">video webm</a></strong>,
<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-mathieu-otacehe-fixing-the-ci.mp4">video mp4</a></strong>,
<a href="https://gateway.ipfs.io/ipfs/Qme9zQy6UrANh6uSE1zAKtKWBHUaLZYTJwFEiNN5eRB3uQ">ipfs</a>)</p><p>The session covers the following points:</p><ul><li>Presentation of our current <a href="https://ci.guix.gnu.org/">continuous integration infrastructure</a>.</li><li>What are the current issues?</li><li>How to overcome those issues? How to help <a href="https://ci.guix.gnu.org/metrics">improving the CI</a>?</li></ul><h5>Nix and Guix: similarities and differences</h5><p>Presented by <em>Andrew Tropin</em>. (<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-andrew-tropin-nix-and-guix.webm">video</a></strong>,
<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-andrew-tropin-nix-and-guix.mp4">video mp4</a></strong>,
<a href="https://gateway.ipfs.io/ipfs/QmdYjgKGXZxT5MXeLxi2dX6SSe2VJmResLUzY5qxumZtHr">ipfs</a>)</p><p>The session covers an high-level overview and comparison of Nix and GNU Guix
package managers or NixOS and Guix System distributions. The comparison had
been initiated to understand the differences between those two great
projects. It may inspire people from both communities to implement missing
features or help someone to decide, which package manager or operating system
to pick.</p><h5>From v1.2 to release process</h5><p>Chaired by <em>Simon Tournier</em>.</p><p>The session covers a proposal to smooth the release process; ironic for a
rolling-release project, isn’t it? Make a release means:</p><ol><li>how and what to do: tools</li><li>schedule / track</li><li>who do: people</li></ol><p>The #1 is <em>roughly</em> described in the file
<a href="https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/doc/release.org"><code>maintenance/doc/release.org</code></a>.
Even if a non-negligible part is based on experience and cannot be documented;
see #3. However, tools are still missing: going further than <a href="https://guix.gnu.org/manual/en/guix.html#Invoking-guix-weather"><code>guix weather</code></a>
<code>--coverage</code> or <code>--display-missing</code>.</p><p>The #2 means track what is going on between 2 releases. It seems easier to
write down important changes when they happen than parse all the log history
one week before releasing in order to publish the
<a href="https://git.savannah.gnu.org/cgit/guix.git/commit/?id=51916455d0bb283489162ef84afc8145b28b012c"><code>NEWS</code></a>
file. More importantly, #2 means stay on track with the schedule: release
when it is ready? at fixed date? what must be in? does it make sense to
synchronize with <code>staging</code> merges? how to synchronize with the branch
<code>core-updates</code>?</p><p>The #3 means who take the responsibility to do the job. And it appears easier
to divide the workload. More importantly, how to share the skill? Guix could
take inspiration from
<a href="https://nixos.org/manual/nixos/stable/index.html#release-managers">Nix</a> or
GNU <a href="https://sourceware.org/glibc/wiki/Release">Glibc</a> or your-name-it.</p><h5>Porting Guix to modern PowerPC</h5><p>Presented by <em>Tobias Platen</em>. (<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-tobias-platen-guix-ppc.webm">video webm</a></strong>,
<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-tobias-platen-guix-ppc.mp4">video mp4</a></strong>,
<a href="https://gateway.ipfs.io/ipfs/QmPxASuLDYVhqPDVPRvh6noBpkvn67FD3hvx29woYYY58s">ipfs</a>)</p><p>The sessions covers how to port of Guix to modern 64-bit Little Endian, since
that one is best supported by the Talos II and its graphics card, the AST2500.
The final aim would be a self hosting version of Guix that runs on the Talos
II, the Blackbird and the upcoming Libre-SOC. Such port may also be useful to
support older PowerMacs including the G4 and G5.</p><h5>Just build it with Guix</h5><p>Presented by <em>Efraim Flashner</em>. (<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-efraim-flashner-build-it-with-guix.webm">video webm</a></strong>,
<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-efraim-flashner-build-it-with-guix.mp4">video mp4</a></strong>,
<a href="https://gateway.ipfs.io/ipfs/QmPsWu9QZec4SanvDKV2kghfUk2VLAXgay9EX3Vnt9SL1a">ipfs</a>)</p><p>The session covers how to use Guix as build plateform. Creating <a href="https://guix.gnu.org/manual/devel/en/guix.html#Defining-Package-Variants">custom
packages</a>
is ubiquitous with Guix and
<a href="https://guix.gnu.org/manual/devel/en/guix.html#Defining-Packages">packaging</a>
with Guix is fairly straightforward. But what about working with packages
where you want to package a non-release version? Or if you're hacking on
another package which either isn't packaged or you want to test your changes
before sending off a patch set or a pull request? The file <code>guix.scm</code> is the
unofficial filename for Guix build instructions for this case. It provides a
target for creating an environment for hacking on the package, and it creates
a recipe to build what's currently in that repository; meaning you can use the
power of Guix for builds even while working on other projects. A combination
of a little bit of boiler-plate for building “this here repository” and
standard package definitions allow for easy building and rebuilding without
dirtying the source tree. And also for building multiple versions of the
package in one go.</p><h5>Progress so far on the Guix Build Coordinator</h5><p>Presented by <em>Chris Baines</em>. (<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-christopher-baines-guix-build-coordinator.webm">video webm</a></strong>,
<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-christopher-baines-guix-build-coordinator.mp4">video mp4</a></strong>,
<a href="https://gateway.ipfs.io/ipfs/QmbyvyiKEP1d7GNrcmLLrwodBN6X9oiibN5CJG8KSSZVX1">ipfs</a>)</p><p>The session looks at the <a href="https://git.cbaines.net/guix/build-coordinator/">Guix Build
Coordinator</a>, a tool for
building lots of derivations, potentially across many machines, and doing
something useful with the results. This is a new tool that might be able to
help with patch review, quality assurance as well as substitute
availability. The talk will cover the motivation, design, implementation and
future, along with a small demo of the Guix Build Coordinator.</p><h5>Peer-to-peer substitutes and sources</h5><p>Chaired by <em>David Dashyan</em>.</p><p>The session covers the status of the peer-to-peer substitutes distribution.
Especially the almost 2 years old <a href="http://issues.guix.gnu.org/issue/33899">first
draft</a> adding support to distribute
and retrieve substitutes over IPFS; see the
<a href="https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-ipfs-substitutes"><code>wip-ipfs-substitutes</code></a>
branch. Moreover the branches
<a href="https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-ipfs"><code>wip-ipfs</code></a> and
<a href="https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-ipfs2"><code>wip-ipfs2</code></a> are
<a href="https://lists.gnu.org/archive/html/guix-devel/2018-10/msg00220.html">attempts</a>
to add the Go part of IPFS. The discussion will address the next steps to
merge the branch <code>wip-ipfs-substitutes</code> or how to add decentralized
substitutes distribution.</p><h5>Guile Hacker Handbook</h5><p>Presented by <em>Jérémy Korwin-Zmijowski</em>. (<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-jeremy-korwin-zmijowski-guile-hacker-handbook.webm">video webm</a></strong>,
<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-jeremy-korwin-zmijowski-guile-hacker-handbook.mp4">video mp4</a></strong>,
<a href="https://gateway.ipfs.io/ipfs/QmWWubjA2JJR9t7HiAerEYGMf3cD3a8sQAgW8Ex9ZC1iZo">ipfs</a>)</p><p>The sessions covers <a href="https://jeko.frama.io/">Guile Hacker Handbook</a> (GHH).
The purpose of the GHH is to show <a href="https://www.gnu.org/software/guile/">Guile</a>
the way modern programming languages are shown, i.e., demonstrating its tools
and following development approach we often stick to professionally.</p><p>Lengthy manuals are often hard to grasp at first; especially when learning new
materials from scratch. Instead, it seems easier to rely first on tutorials
or blog posts. Writing style and direct application sometimes helps to
understand the underlying concepts). Then reads the reference manual feels
more comfortable. GHH is an attempt to address this. For example, GHH is
about Guile, not Scheme.</p><p>GHH is also about <a href="https://en.wikipedia.org/wiki/Test-driven_development">Test Driven
Development</a> and
focuses on tests as first-class citizen.</p><h5>(BoF) Rust and Cargo</h5><p>Chaired by <em>John Soo</em>.</p><p>The session covers the various
<a href="http://issues.guix.gnu.org/issue/38408">issues</a> with the Rust ecosystem in
Guix. The discussion is about:</p><ul><li>packaging efforts</li><li>build systems</li><li>incremental compilation/shared libraries</li></ul><h5>Bootstrapping the Java Ecosystem</h5><p>Presented by <em>Julien Lepiller</em>. (<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-julien-lepiller-bootstrapping-maven-480.webm">video webm</a></strong>,
<strong><a href="https://xana.lepiller.eu/guix-days-2020/guix-days-2020-julien-lepiller-bootstrapping-maven-480.mp4">video mp4</a></strong>,
<a href="https://gateway.ipfs.io/ipfs/Qmao7SDaDEBUBXQM9S8YTRmVVVqQMC9RuGMdhEvkZCTNib">ipfs</a>)</p><p>The session covers the Maven bootstrap and the Maven Build System and how this
Maven story may inspire directions to implement similar bootstrap stories for
other ecosystems.</p><p>Ensuring that software is built entirely from source is an essential practice
to ensure user Freedom, as well as for auditability and security.
Unfortunately, the Java ecosystem is very complex and presents some
interesting challenges when building from source.</p><p>One of these challenges is
<a href="https://maven.apache.org/what-is-maven.html">Maven</a>, a build tool and package
manager that is used by many if not most of the Java developers nowadays.
One key challenge is that Maven is itself a Java package, that is built with
Maven and has a lot of dependencies, that themselves use Maven.</p><p>The discussion presents the current state of the bootstrap and how we break
the various dependency cycles that occur. The recent addition to Guix of the
maven build system is a major step towards a good support of the Java
ecosystem in Guix. We will discuss how Maven works, what it expects, and how
Guix can accommodate it to build offline, reproducibly, with no trusted binary.</p><h5>The ways forward (roadmap and beyond)</h5><p>Chaired by <em>GNU Guix maintainers</em>.</p><p>The session covers the medium- and long-term goals that may or may not look
realistic. Pragmatic dream!</p><h4>Code of Conduct</h4><p>This online conference is an official Guix event. Therefore, the <a href="http://git.savannah.gnu.org/cgit/guix.git/tree/CODE-OF-CONDUCT">Code of
Conduct</a>
applies. Please be sure to read it beforehand!</p><p>If you witness violations of the code of conduct during the event, please
email <code>guix-days@gnu.org</code>, a private email alias that reaches the organizers
(Simon <code>zimoun</code> Tournier and Julien <code>roptat</code> Lepiller) and the GNU Guix
maintainers.</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager and an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, and AArch64 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2020/online-guix-day-announce-1//Announcing the first online Guix Day ConferenceGuix Hackers2020-10-16T00:00:00Z2020-10-16T00:00:00Z The Guix hackers are very happy to announce the first online Guix Day
Conference on Sunday November, 22nd . This conference is open to everyone
and will be held entirely online. Want to speak? Submit your proposal! Important dates: November 6th : Deadline for talks proposal. November 14th : Deadline for releasing your pre-recorded talks. November 16th : Release of the schedule. November 22nd : Conference day! The agenda of the day is: pre-recorded talks with live question…<p>The Guix hackers are very happy to announce the first online Guix Day
Conference on <strong>Sunday November, 22nd</strong>. This conference is open to everyone
and will be held entirely online. Want to speak? Submit your proposal!</p><p>Important dates:</p><ol><li><strong>November 6th</strong>: Deadline for talks proposal.</li><li><strong>November 14th</strong>: Deadline for releasing your pre-recorded talks.</li><li><strong>November 16th</strong>: Release of the schedule.</li><li><strong>November 22nd</strong>: Conference day!</li></ol><p><img src="/static/blog/img/Guix-Days-online-2020.png" alt="Guix Days logo" /></p><p>The agenda of the day is:</p><ul><li>pre-recorded talks with live question and answer sessions</li><li>birds of a feather (BoF) sessions</li><li>lightning round talks, if possible</li><li>hack together</li></ul><p><em>There will be no presentation on the 22nd!</em> And <strong>no registration fee</strong>.</p><h5>Until November 6th: talks proposal</h5><p>Propose your talks by sending them to <code>guix-days@gnu.org</code>. Feel free to drop
in <code>#guix</code> on irc.freenode.net to discuss what you would like to talk about
before submitting. :)</p><p>Please describe with 10 lines or more what your proposal is about. Even if it
is a BoFs topic (smaller group who want to talk about specific topics).</p><p>Once you have sent your proposal, you will be notified in the coming days
whether your talk be part of the Guix Day.</p><p>Good topics include your own experience with Guix and what you feel is
important to share with your other fellows, for example a non-exhaustive topic
list is: installer, Maven build system, Data Service, GNU Hurd and
cross-compilation, Cuirass and continuous integration, authentication, secret
services, website translation, translation infrastructure,… It is a single
day so we won't be able to cover all. ;-)</p><h5>November 9th-14th: prepare your talk</h5><p>The aim of the pre-recorded talk is to demonstrate new features, what you are
hacking on, introduce the subject for easing the live question and answer
sessions or BoFs. These pre-recorded talks should be <strong>15-45 minutes
long</strong>. Feel free to ask if you need help with the recording.</p><p>You are free to choose whichever storage platform you want (e.g., your own
website, a PeerTube instance, a Nextcloud instance, etc.), but we will need to
have access to the original file so we can publish it later on
<a href="https://audio-video.gnu.org">audio-video.gnu.org</a>. Your video must be
released under a license that at least allows anyone to copy and share it, for
any purpose.</p><p>You will have to release the video publicly before November 14th, so everyone
has a chance to see it before the conference. If you are not able to do so
(for instance your server cannot handle a huge load), you can alternatively
send us a private link to the video and we will upload it on
<a href="https://audio-video.gnu.org">audio-video.gnu.org</a>. If you decide to do so,
you will need to have the video ready by November 12th.</p><h5>November 16th-22nd: watch the talks</h5><p>Be sure to watch the pre-recorded talks before the conference. There will be
no presentation on the 22nd.</p><h5>November 22nd: participate</h5><p>Coming soon! Stay tuned.</p><h4>Code of Conduct</h4><p>This online conference is an official Guix event. Therefore, the <a href="http://git.savannah.gnu.org/cgit/guix.git/tree/CODE-OF-CONDUCT">Code of
Conduct</a>
applies. Please be sure to read it beforehand!</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager and an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
user
freedom</a>.
Guix can be used on top of any system running the Hurd or the Linux
kernel, or it can be used as a standalone operating system distribution
for i686, x86_64, ARMv7, and AArch64 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2020/gnu-guix-maintainer-collective-update//GNU Guix maintainer collective updateMaxim Cournoyer2020-05-04T09:00:00Z2020-05-04T09:00:00Z This blog post is to announce a change of hands in the Guix
co-maintainer collective: Ricardo Wurmus is stepping down from his
role, and Mathieu Othacehe will be filling in to ensure continuity,
after being elected by the other Guix co-maintainers. Ricardo has been around since the start, and has been invaluable to
the project. He has been key in maintaining the infrastructure Guix
runs on, contributed countless packages, core APIs and tools
(importers, build systems, and Docker image creation to name a few).
Over the years, he's also brought us a fair share of cool hacks such
as a nifty issue tracker…<p>This blog post is to announce a change of hands in the Guix
co-maintainer collective: Ricardo Wurmus is stepping down from his
role, and Mathieu Othacehe will be filling in to ensure continuity,
after being elected by the other Guix co-maintainers.</p><p>Ricardo has been around since the start, and has been invaluable to
the project. He has been key in maintaining the infrastructure Guix
runs on, contributed countless packages, core APIs and tools
(importers, build systems, and Docker image creation to name a few).
Over the years, he's also brought us a fair share of cool hacks such
as a <a href="https://issues.guix.gnu.org">nifty issue tracker</a>, and generously
spent time helping Guix users in the IRC channel and mailing lists.
Equally important was his taking care of many administrative tasks
such as expanding the build farm and organizing Outreachy
participation. We're sad to let him go, and hope he'll stick around
as time permits :-).</p><p>On the happier side of things, the appointment of Mathieu Othacehe as
a co-maintainer means Guix will benefit from renewed energy and vision
to grow further. Mathieu has already made valuable contributions to
Guix; the graphical installer that allows users to easily install the
Guix System on their machine is one of them. He has also
demonstrated the qualities we expect from a co-maintainer. We're
thrilled to make official his new role as a Guix co-maintainer!</p><p>Let's take a moment to show our gratitude to Ricardo and welcome
Mathieu in his new role!</p><h4>The Guix co-maintainers</h4><p>The Guix maintainer collective now consists of Marius Bakke, Maxim
Cournoyer, Ludovic Courtès, Tobias Geerinckx-Rice and Mathieu
Othacehe. You can reach us all by email at
<code>guix-maintainers@gnu.org</code>, a private alias.</p><p>For information about the responsibilities assumed by the Guix
co-maintainers, you are encouraged to read a previous <a href="https://guix.gnu.org/blog/2019/gnu-guix-maintainer-collective-expands/">blog
post</a>
that covered the topic.</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager and an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
user
freedom</a>.
Guix can be used on top of any system running the kernel Linux, or it
can be used as a standalone operating system distribution for i686,
x86_64, ARMv7, and AArch64 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2020/meet-guix-at-fosdem-2020//Meet Guix at FOSDEMManolis Ragkousis2020-01-10T14:30:00Z2020-01-10T14:30:00Z As usual, GNU Guix will be present at FOSDEM
on February 1st and 2nd. This year, we’re happy to say that there will
be quite a few talks about Guix and related projects! On Saturday afternoon, Guix: Unifying provisioning, deployment, and
package management in the age of
containers by Ludovic
in the main track on containers and
security ,
will reflect on what GNU Guix
has to offer to users and how it compares to other approaches—from
CONDA and pip to Flatpak and Docker. Sunday morning starts with Efraim talking in the Rust devroom about
Packaging Rust…<p>As usual, GNU Guix will be present at <a href="https://fosdem.org/2020/">FOSDEM</a>
on February 1st and 2nd. This year, we’re happy to say that there will
be quite a few talks about Guix and related projects!</p><ul><li>On Saturday afternoon, <a href="https://fosdem.org/2020/schedule/event/guix/"><em>Guix: Unifying provisioning, deployment, and
package management in the age of
containers</em></a> by Ludovic
in the <a href="https://fosdem.org/2020/schedule/track/containers_and_security/">main track on containers and
security</a>,
will reflect on what GNU Guix
has to offer to users and how it compares to other approaches—from
CONDA and pip to Flatpak and Docker.</li><li>Sunday morning starts with Efraim talking in the Rust devroom about
<a href="https://fosdem.org/2020/schedule/event/rust_packaging_gnu_guix/"><em>Packaging Rust programs in
GNU Guix</em></a>—telling
Rust programmers about the needs of a distro like Guix, and about the
journey building infrastructure for Rust packages in Guix.</li><li>Next up is <a href="https://fosdem.org/2020/schedule/event/ggaaattyp/"><em>GNU Guix as an alternative to the
Yocto Project</em></a> by
Mathieu in the Distributions devroom will demonstrate how to use
GNU Guix to build a root filesystem for an embedded device.</li><li>Later on in the HPC, Big Data, and Data Science devroom, Ludovic will
present <a href="https://fosdem.org/2020/schedule/event/reprod_jupyter_guix/"><em>Towards reproducible Jupyter
notebooks</em></a>
which will talk about
<a href="https://hpc.guix.info/blog/2019/10/towards-reproducible-jupyter-notebooks/">Guix-Jupyter</a>,
which aims to make Jupyter
notebook self-contained and to support reproducible deployment.</li><li>In the same devroom, Efraim will present <a href="https://fosdem.org/2020/schedule/event/reprod_container/"><em>Sharing Reproducible Results
in a
Container</em></a>
about how Guix solves the issue of reproducibility and deployment of
containers.</li><li>Finally in the Minimalistic, Experimental and Emerging Languages
devroom, janneke with <a href="https://fosdem.org/2020/schedule/event/gnumes/"><em>GNU Mes, Scheme-only bootstrap and
beyond</em></a> will report
on three years of hard work tackling one of the most pressing
security issues of operating systems—the “trusting trust” attack.
Janneke will present exciting bootstrapping achievements and their
integration in Guix.</li><li>Pierre will present <a href="https://fosdem.org/2020/schedule/event/gnuguixpackagemanager/"><em>Universal package & service discovery with
Guix</em></a>
on how he intends to leverage the Guile programming language to boost
searchability of packages and services <em>via</em> intuitive user interfaces
and semantics.</li><li>Pjotr will talk about why minimalism matters in computing with <a href="https://fosdem.org/2020/schedule/event/lispeverywhere/"><em>Lisp
everywhere!</em></a></li><li>Andy will discuss all the work that has gone into the upcoming
<a href="https://www.gnu.org/software/guile/news">Guile 3</a>—which will soon
power Guix—making it a faster implementation, with <a href="https://fosdem.org/2020/schedule/event/guile2020/"><em>Celebrating
Guile 2020</em></a>.</li><li>Last, Chris Marusich will give an <a href="https://fosdem.org/2020/schedule/event/gexpressionsguile"><em>Introduction to
G-Expressions</em></a>,
the magic behind
<a href="https://guix.gnu.org/manual/devel/en/html_node/G_002dExpressions.html">them</a>,
and how to use them in Guix.</li></ul><p>The <a href="https://fosdem.org/2020/schedule/track/minimalistic_experimental_and_emerging_languages/">Minimalistic, Experimental and Emerging Languages
devroom</a>
will also feature talks about about <a href="https://racket-lang.org">Racket</a>,
<a href="https://www.lua.org/">Lua</a>, <a href="https://crystal-lang.org/">Crystal</a>,
<a href="https://nim-lang.org/">Nim</a>, and <a href="https://pharo.org/">Pharo</a>
that you should not miss under any circumstances!</p><p><img src="https://guix.gnu.org/static/blog/img/Guix-Days-2020.png" alt="Guix Days logo." /></p><p>For the third time, we are also organizing the Guix Days as a <a href="https://fosdem.org/2020/fringe/">FOSDEM
fringe event</a>, a two-day Guix workshop
where contributors and enthusiasts will meet. The workshop takes place
on Thursday Jan. 30st and Friday Jan. 31st at the Institute of Cultural
Affairs (ICAB) in Brussels.</p><p>Again this year there will be few talks; instead, the event will
consist primarily of
“<a href="https://en.wikipedia.org/wiki/Unconference">unconference-style</a>”
sessions focused on specific hot topics about Guix, the Shepherd,
continuous integration, and related tools and workflows.</p><p>Attendance to the workshop is free and open to everyone, though you are
invited to register (there are only a few seats left!). Check out <a href="https://libreplanet.org/wiki/Group:Guix/FOSDEM2020">the
workshop’s wiki
page</a> for
registration and practical info. Hope to see you in Brussels!</p><h4>About GNU Guix</h4><p><a href="https://guix.gnu.org">GNU Guix</a> is a transactional package
manager and an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
user
freedom</a>.
Guix can be used on top of any system running the kernel Linux, or it
can be used as a standalone operating system distribution for i686,
x86_64, ARMv7, and AArch64 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2019/spreading-the-news//Spreading the newsLudovic Courtès2019-11-12T14:00:00Z2019-11-12T14:00:00Z Like most free software projects, Guix has no shortage of communication
channels: there’s this blog , the NEWS
file for release
notes, a bunch of mailing lists , an IRC
channel, there’s also an unofficial
sub-Reddit and certainly more. Yet, as
developers, we often find it hard to communicate important changes to
our users. Starting from a few weeks ago, guix pull --news tells
users what’s new, and it already feels very helpful! This post is about
our motivations and the implementation of this new feature. Getting the word out Developers keep…<p>Like most free software projects, Guix has no shortage of communication
channels: there’s <a href="https://guix.gnu.org/blog">this blog</a>, the <a href="https://git.savannah.gnu.org/cgit/guix.git/tree/NEWS"><code>NEWS</code>
file</a> for release
notes, a bunch of <a href="https://guix.gnu.org/contact">mailing lists</a>, an IRC
channel, there’s also an <a href="https://www.reddit.com/r/GUIX/">unofficial
sub-Reddit</a> and certainly more. Yet, as
developers, we often find it hard to communicate important changes to
our users. Starting from a few weeks ago, <code>guix pull --news</code> tells
users what’s new, and it already feels very helpful! This post is about
our motivations and the implementation of this new feature.</p><h1>Getting the word out</h1><p>Developers keep adding crazy features, fixing bugs, and generally
improving things. But how good is it if users aren’t aware of these new
things? As an example, since June, our build farm has been <a href="https://guix.gnu.org/blog/2019/substitutes-are-now-available-as-lzip/">offering
lzip-compressed
binaries</a>,
which results in better performance when installing software. But to
take advantage of that, users need to be aware of its existence, and
they need to upgrade their Guix daemon. Likewise, how do we get people
to learn about <a href="https://guix.gnu.org/blog/2019/managing-servers-with-gnu-guix-a-tutorial/">the new <code>guix deploy</code>
command</a>
that’s now available at their fingertips, about <a href="https://guix.gnu.org/blog/tags/security-advisory/">security issues that
were fixed</a>, about
important <a href="https://lists.gnu.org/archive/html/info-guix/2019-06/msg00001.html">infrastructure
changes</a>,
new options added to existing commands, and so forth?</p><p>Our (frustrating!) experience has been that release notes, blog posts,
and mailing list announcements aren’t quite enough to get the word out.
There’s always people who’ll miss important info and realize when it’s
already late, sometimes too late. Hence this simple idea: wouldn’t it
be nice if important information would reach users right in their
terminal?</p><h1><code>guix pull</code> news</h1><p>Alright, that’s not exactly a novel idea! In Debian for example,
<a href="https://manpages.debian.org/testing/apt-listchanges/apt-listchanges.1.en.html"><code>apt-listchanges</code></a>
shows news at the level of individual packages, taken from the
<code>NEWS.Debian</code> or <code>changelog.Debian</code> files that package maintainers
update. In addition, <code>apt dist-upgrade</code> and similar commands typically
display dialog boxes and menus when special actions need to be taken
when upgrading. That’s more or less what we’re looking for.</p><p>The situation in Guix is a little different: all of it lives in <a href="https://git.savannah.gnu.org/cgit/guix.git/">a
single Git repository</a> that
contains the core, the command-line interfaces, as well as package
definitions and operating system service definitions. The <a href="https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-pull.html"><code>guix pull</code></a>
command is sort-of equivalent to <code>apt update</code>, except that it updates
not only the set of available packages but also the <code>guix</code> tools
themselves and all the <a href="https://guix.gnu.org/manual/devel/en/html_node/Using-the-Configuration-System.html">operating system
interfaces</a>.
Under the hood, <code>guix pull</code> essentially does <code>git pull</code> and consequently
updates all of this. Guix very much follows a “rolling release” model.</p><p>For some time already, <code>guix pull</code> has been able to extract information
about new and upgraded packages and <a href="https://guix.gnu.org/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/">to present it to the
user</a>.
Our goal was to complement it with high-level information about
important changes written with users in mind. Clearly, showing the Git
commit log is not an option: commit logs are meant for developers and
there’s roughly a thousand commits per month—way too much information.
We needed high-level news entries, explicitly written for users.</p><p>The end result is this: <code>guix pull</code> now displays, in addition to a
summary of the new and upgraded packages, the headlines of applicable
news entries contributed by developers. Users can view the details by
running <code>guix pull --news</code>:</p><p><img src="https://guix.gnu.org/static/blog/img/guix-pull-news.gif" alt="'guix pull' displaying news." /></p><p>Users can no longer miss the news, for the benefit of both users and
developers!</p><h1>Under the hood</h1><p>How does this all work? There were several goals and constraints.
First, like commit logs, our high-level news entries should be anchored
in the Git history. Second, unlike commit logs, it should be possible
to amend them—to fix typos, provide additional info, and so on. Third,
the project has been paying a lot of attention to internationalization,
with translations available for <a href="https://translationproject.org/domain/guix.html">user interface
messages</a>, for <a href="https://translationproject.org/domain/guix-packages.html">package
descriptions</a>,
and for the <a href="https://guix.gnu.org/manual/">user manual</a>—it’s one of
these things that helps free software reach out to more people; thus, we
naturally wanted news to be internationalized. Last, since Guix
supports third-party
<a href="https://guix.gnu.org/manual/devel/en/html_node/Channels.html">“channels”</a>,
which are extensions of the official <code>guix</code> channel, why not provide
channel authors access to that news feature?</p><p>With all these things in mind, we designed a simple <a href="https://guix.gnu.org/manual/devel/en/html_node/Channels.html#Writing-Channel-News">news
format</a>.
In essence, channel authors, including Guix developers, can provide a
news file that looks <a href="https://git.savannah.gnu.org/cgit/guix.git/tree/etc/news.scm">like
this</a>:</p><pre><code class="language-scheme">(channel-news
(version 0)
(entry (commit "3e962e59d849e4300e447d94487684102d9d412e")
(title (en "@command{guix graph} now supports package
transformations")
(de "@command{guix graph} unterstützt nun Paketumwandlungen"))
(body
(en "The @command{guix graph} command now supports the common package
transformation options (see @command{info \"(guix) Package Transformation
Options\"}). This is useful in particular to see the effect of the
@option{--with-input} dependency graph rewriting option.")
(de "Der Befehl @command{guix graph} unterstützt nun die mit anderen
Befehlen gemeinsamen Umwandlungsoptionen (siehe @command{info \"(guix.de)
Paketumwandlungsoptionen\"}). Sie helfen insbesondere dabei, die Wirkung der
Befehlszeilenoption @option{--with-input} zum Umschreiben des
Abhängigkeitsgraphen zu sehen.")))
(entry (commit "49af34cfac89d384c46269bfd9388b2c73b1220a")
(title (en "@command{guix pull} now honors
@file{/etc/guix/channels.scm}")
(es "Ahora @command{guix pull} tiene en cuenta
@file{/etc/guix/channels.scm}"))
(body
(en "The @command{guix pull} command will now read the
@file{/etc/guix/channels.scm} file if it exists and if the per-user
@file{~/.config/guix/channels.scm} is not present. This allows administrators
of multi-user systems to define site-wide defaults.")
(es "Ahora la orden @command{guix pull} lee el fichero
@file{/etc/guix/channels.scm} si existe y el fichero personalizable
@file{~/.config/guix/channels.scm} no está presente. Esto permite a quienes
administran sistemas con múltiples usuarias definir valores predeterminados
en el sistema."))))</code></pre><p>Each news entry refers to a commit, the commit that introduced the
change it documents, and it has a title and body. Those can use Texinfo
markup for rich formatting, and translations can be provided directly
within the news file.</p><p>When <code>guix pull --news</code> runs, it determines which news entries are
applicable given the user’s previous Guix instance. The <code>(guix channels)</code> module provides a simple programming interface for that:</p><pre><code class="language-scheme">(use-modules (guix channels) (srfi srfi-1))
(channel-news-for-commit (first %default-channels)
"66b707a7d2325daadeed5ca913637eea3a2628e7"
"ac19950507e941b6263f62f4ee4e8934c1b1598e")
⇒ (#<<channel-news-entry> commit: "3e962e59d849e4300e447d94487684102d9d412e" tag: #f title: (("en" . "@command{guix graph} now supports package\ntransformations") …) body: …> #<<channel-news-entry> commit: "49af34cfac89d384c46269bfd9388b2c73b1220a" tag: #f title: (("en" . "@command{guix pull} now honors\n@file{/etc/guix/channels.scm}") …) body: …>)</code></pre><p>One thing is quite unusual (one might say “weird” :-)) about this news
format: it refers to commit IDs “in-band”. In other words, unlike Git
commit logs, which are “out-of-band”, the news file is contained
<em>inside</em> the repository that it refers to. Technically, it means that
before pushing a news entry, one must make sure it refers to the right
commit ID (the news format allows you to refer to tags as well, but one
may not want to create tags for every “news-worthy” change). Likewise,
rebasing might invalidate commit IDs that appear in the news file. So
this whole “in-band” log has drawbacks, but the big win is that it
allows us to amend news entries to fix typos, add translations, and so
on.</p><h1>In other news…</h1><p>Since it was applied <a href="https://issues.guix.gnu.org/issue/37413">a bit more than a month
ago</a>, we’ve already put the
news mechanism to good use on quite a few occasions: giving users
instructions on how to deal with locales after the last glibc upgrade,
giving them upgrade info for
<a href="https://guix.gnu.org/blog/2019/insecure-permissions-on-profile-directory-cve-2019-18192/">CVE-2019-18192</a>,
telling them about new command-line options, and more.</p><p>In parallel, given that reading the mailing lists is akin to “drinking
from a fire hose” as they say, Christopher Baines has been thinking
about how to provide regular development updates to interested users and
developers. Chris <a href="https://lists.gnu.org/archive/html/guix-devel/2019-11/msg00016.html">announced last
week</a>
a prototype of a “Guix Weekly News” web site that would aggregate
information about package updates automatically extracted from the <a href="http://data.guix.gnu.org/">Guix
Data Service</a>, along with manually written
updates. It would seem that this service could readily grab info from
channel news as well.</p><p>What about you, what do you expect in terms of news distribution? Join
us <a href="https://guix.gnu.org/contact">on the mailing list and on IRC</a> and
let us know!</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager and an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
user
freedom</a>.
Guix can be used on top of any system running the kernel Linux, or it
can be used as a standalone operating system distribution for i686,
x86_64, ARMv7, and AArch64 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>https://guix.gnu.org/blog/2019/joint-statement-on-the-gnu-project//Joint statement on the GNU ProjectA collective of GNU maintainers2019-10-07T16:15:00Z2019-10-07T16:15:00Z We, the undersigned GNU maintainers and developers, owe a debt of
gratitude to Richard Stallman for his decades of important work in the
free software movement. Stallman tirelessly emphasized the importance
of computer user freedom and laid the foundation for his vision to
become a reality by starting the development of the GNU operating
system. For that we are truly grateful. Yet, we must also acknowledge that Stallman’s behavior over the years
has undermined a core value of the GNU project: the empowerment of
all computer users .
GNU is not fulfilling its mission when the behavior of its leader
alienates…<p>We, the undersigned GNU maintainers and developers, owe a debt of
gratitude to Richard Stallman for his decades of important work in the
free software movement. Stallman tirelessly emphasized the importance
of computer user freedom and laid the foundation for his vision to
become a reality by starting the development of the GNU operating
system. For that we are truly grateful.</p><p>Yet, we must also acknowledge that Stallman’s behavior over the years
has undermined a core value of the GNU project: the empowerment of
<a href="https://www.gnu.org/gnu/manifesto.html#benefit"><em>all</em> computer users</a>.
GNU is not fulfilling its mission when the behavior of its leader
alienates a large part of those we want to reach out to.</p><p>We believe that Richard Stallman cannot represent all of GNU. We
think it is now time for GNU maintainers to collectively decide about
the organization of the project. The GNU Project we want to build is
one that <em>everyone</em> can trust to defend their freedom.</p><ol><li>Ludovic Courtès (GNU Guix, GNU Guile)</li><li>Ricardo Wurmus (GNU Guix, GNU GWL)</li><li>Matt Lee (GNU Social)</li><li>Andreas Enge (GNU MPC)</li><li>Samuel Thibault (GNU Hurd, GNU libc)</li><li>Carlos O'Donell (GNU libc)</li><li>Andy Wingo (GNU Guile)</li><li>Jordi Gutiérrez Hermoso (GNU Octave)</li><li>Mark Wielaard (GNU Classpath)</li><li>Ian Lance Taylor (GCC, GNU Binutils)</li><li>Werner Koch (GnuPG)</li><li>Daiki Ueno (GNU gettext, GNU libiconv, GNU libunistring)</li><li>Christopher Lemmer Webber (GNU MediaGoblin)</li><li>Jan Nieuwenhuizen (GNU Mes, GNU LilyPond)</li><li>John Wiegley (GNU Emacs)</li><li>Tom Tromey (GCC, GDB)</li><li>Jeff Law (GCC, Binutils — <em>not</em> signing on behalf of the GCC
Steering Committee)</li><li>Han-Wen Nienhuys (GNU LilyPond)</li><li>Joshua Gay (GNU and Free Software Speaker)</li><li>Ian Jackson (GNU adns, GNU userv)</li><li>Tobias Geerinckx-Rice (GNU Guix)</li><li>Andrej Shadura (GNU indent)</li><li>Zack Weinberg (developer on GCC, GNU libc, GNU Binutils)</li><li>John W. Eaton (GNU Octave)</li><li>Jonathan Wakely (developer on GCC)</li><li>Siddhesh Poyarekar (developer on GNU libc)</li><li>Damian Rouson (developer on GFortran)</li><li>David Malcolm (developer on GCC)</li><li>Maciej W. Rozycki (developer on GCC, GDB, GNU Binutils, GNU libc)</li><li>Martin Jambor (developer on GCC)</li><li>David Thompson (developer on Guix)</li><li>Thomas Rodgers (developer on GCC)</li><li>Rafal Luzynski (developer on GNU libc)</li></ol>https://guix.gnu.org/blog/2019/gnu-guix-maintainer-collective-expands//GNU Guix maintainer collective expandsLudovic Courtès, Ricardo Wurmus2019-10-05T14:30:00Z2019-10-05T14:30:00Z In July, we—Ricardo Wurmus and Ludovic Courtès— called for volunteers to
join us in maintaining
Guix .
We are thrilled to announce that three brave hackers responded and that
they’re now officially co-maintainers! The Guix maintainer collective
now consists of Marius Bakke, Maxim Cournoyer, and Tobias
Geerinckx-Rice, in addition to Ricardo and Ludovic. You can reach us
all by email at guix-maintainers@gnu.org , a private alias. So what does it mean to be a maintainer? There are some duties: Enforcing GNU and Guix policies, such as the project’s commitment
to be released under a copyleft free software license…<p>In July, we—Ricardo Wurmus and Ludovic Courtès—<a href="https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00128.html">called for volunteers to
join us in maintaining
Guix</a>.
We are thrilled to announce that three brave hackers responded and that
they’re now officially co-maintainers! The Guix maintainer collective
now consists of Marius Bakke, Maxim Cournoyer, and Tobias
Geerinckx-Rice, in addition to Ricardo and Ludovic. You can reach us
all by email at <code>guix-maintainers@gnu.org</code>, a private alias.</p><p>So what does it mean to be a maintainer? There are some duties:</p><ol><li><p>Enforcing GNU and Guix policies, such as the project’s commitment
to be released under a copyleft free software license (GPLv3+) and
to follow the <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">Free System Distribution
Guideline</a>
(FSDG).</p></li><li><p>Enforcing our <a href="https://git.savannah.gnu.org/cgit/guix.git/tree/CODE-OF-CONDUCT">code of
conduct</a>:
maintainers are the contact point for anyone who wants to report
abuse.</p></li><li><p>Making decisions, about code or anything, when consensus cannot be
reached. We’ve probably never encountered such a situation before,
though!</p></li></ol><p>Maintainers should have a good idea of what’s going on, but the other
responsibilities can (and should! :-)) be delegated. Maybe you, dear
reader, can help on one of them? Here are some examples:</p><ul><li><p>Making releases. Any experienced developer can take this
responsibility for some time.</p></li><li><p>Dealing with development and its everyday issues as well as
long-term roadmaps, branch merges, code review, bug triage, all
that.</p></li><li><p>Participating in Outreachy and Google Summer of Code (GSoC).</p></li><li><p>Organizing the Guix Days before FOSDEM and our presence at FOSDEM
and other conferences.</p></li><li><p>Taking care of Guix money kindly donated by dozens of people and
<a href="https://www.fsf.org/working-together">held at the FSF</a>. A Spending
Committee currently consisting of Tobias, Ricardo, and Ludovic, is
responsible for deciding on, well, what to spend money on.
Maintainers should also keep in touch with the “Guix Europe”
non-profit registered in France, currently spearheaded by Manolis
Ragkousis and Andreas Enge, and which has been providing financial
support for hardware and events.</p></li><li><p>Keeping the build farm infrastructure up and running, extending it,
thinking about hosting issues, etc.</p></li><li><p>Keeping the web site up-to-date.</p></li><li><p>Looking after people: making sure to promote people who are very
involved in leadership position; dubbing new committers, new
maintainers, new members of the spending committee. Supporting new
initiatives. Generally trying to make sure everyone’s happy. :-)</p></li></ul><p>With now five people on-board, we’ll probably be able to improve some of
our processes and be able to scale better. You’re welcome to share your
ideas on <code>guix-devel@gnu.org</code> or directly at <code>guix-maintainers@gnu.org</code>!</p><p>More generally, we think rotating responsibilities is a great way to
bring new ideas and energy into the project. We are super happy and
grateful that Maxim, Marius, and Tobias are taking on this
challenge—thank you folks!</p><h4>About GNU Guix</h4><p><a href="https://www.gnu.org/software/guix">GNU Guix</a> is a transactional package
manager and an advanced distribution of the GNU system that <a href="https://www.gnu.org/distros/free-system-distribution-guidelines.html">respects
user
freedom</a>.
Guix can be used on top of any system running the kernel Linux, or it
can be used as a standalone operating system distribution for i686,
x86_64, ARMv7, and AArch64 machines.</p><p>In addition to standard package management features, Guix supports
transactional upgrades and roll-backs, unprivileged package management,
per-user profiles, and garbage collection. When used as a standalone
GNU/Linux distribution, Guix offers a declarative, stateless approach to
operating system configuration management. Guix is highly customizable
and hackable through <a href="https://www.gnu.org/software/guile">Guile</a>
programming interfaces and extensions to the
<a href="http://schemers.org">Scheme</a> language.</p>