FSF announces fundraising support for GNU Guix, a new approach to GNU/Linux
This post was written by GNU Guix maintainer Ludovic Courtès and FSF executive director John Sullivan.
The Free Software Foundation (FSF) today announced that we would begin accepting donations as part of our support for GNU Guix, a dependable and customizable package manager, along with GuixSD, GNU's advanced free GNU/Linux distribution. Donations will primarily go to increasing the project's build farm capacity so it can manage the growing number of packages and users.
You can help GNU Guix by making a contribution at the FSF-hosted page for the campaign. 10% of your contribution to Guix will also go to help the FSF meet its current fundraising goal! Donations are accepted in US dollars, Euro (email firstname.lastname@example.org for transfer info), Bitcoin, and Litecoin.
There is no shortage of GNU/Linux distributions and package managers, but GNU Guix and GuixSD distinguish themselves in several important ways. As a package manager, Guix offers uncommon features such as transactional upgrades and rollbacks -- users can run package upgrades, possibly unattended, confident that they can roll back to the previous state should the upgrade trigger bugs.
GuixSD, the Guix System Distribution, takes that to the level of the complete operating system: instead of modifying configuration files and other parts of the system state in a possibly irreversible fashion, GuixSD sysadmins provide a declaration of what they want the system to be like, and then instantiate it. The declaration specifies details ranging from locale and timezone settings, mounted file systems, and system services and their configuration. It can be instantiated on the "bare metal" or in virtual machines or containers, which simplifies testing.
Last but not least, Guix and GuixSD provide a unified set of programming interfaces, making the whole system highly customizable. The package recipes and build tools themselves are essentially a set of libraries of GNU Guile, the host language. Core parts of the system, from initialization code to system service management, are similarly available as libraries.
Guix builds on low-level techniques pioneered by the Nix package manager. These techniques notably maximize package reproducibility: builds are performed in isolated environments, so independent builds are likely to produce bit-for-bit reproducible binaries. This property, in turn, is what allows users to check whether they really get the Corresponding Source of binaries they run. Guix provides tools for users to take advantage of reproducible builds, and is part of a broader community of free software projects committed to addressing the remaining roadblocks to reproducible builds.
The GNU Guix project was started three years ago. Today, Guix provides almost 3,000 packages available on four hardware platforms. GuixSD itself is in beta stage, currently targeted primarily at experienced users. Its small developer community has been growing continuously, with more than 50 people who contributed packages or code in 2015, and a number of people helping with the key tasks of localization, Web design, and artwork.
In addition to funding, GNU Guix needs more developers. Interested
hackers are invited to join the
#guix IRC channel on
irc.freenode.net or the project's
other communication channels. The Web site's
contribution page lists the technical and non-technical ways in
which you can help.
Support for GNU Guix is part of the FSF's Working Together for Free Software initiative, a broad campaign to connect software freedom advocates with projects that need their help. Other projects that have benefited from this program include the Replicant free mobile operating system, and the federated Web media-publishing platform GNU MediaGoblin.