https://guix.gnu.org/feeds/blog/community.atomGNU Guix — Blog — Communityfeed author nameGNU Guixhttps://guix.gnu.org/static/base/img/icon.png2020-08-14T21:45:00Zhttps://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>