Contribute

GNU Guix is a large project developed mostly by volunteers from all around the world. You are welcome to join us in the development mailing list or in the #guix channel on the Libera Chat IRC network. Tell us how would you like to help, and we will do our best to guide you.

We want to provide a warm, friendly, and harassment-free environment, so that anyone can contribute to the best of their abilities. To this end our project uses a “Contributor Covenant”, which was adapted from https://contributor-covenant.org/. You can find the full pledge in the CODE-OF-CONDUCT file.

Project Management

We use Savannah as the central point for development, maintenance and distribution of the Guix System Distribution and GNU Guix.

The source files for all the components of the project, including software, web site, documentation, and artwork, are available in Git repositories at Savannah.

Access Savannah

Art

We are always looking for artists to help us design and improve user interfaces, and create multimedia material for documentation, presentations, and promotional items.

The artwork used in the different components of the project is available in the guix-artwork repository.

Contribute

Documentation

You can read the project documentation already available in the system and in the website, and help us identify any errors or omissions. Creating new manuals, tutorials, and blog entries will also help users and developers discover what we do.

Helping improve the documentation of the packaged software is another way to contribute.

Start writing

Packages

Hundreds of software, documentation, and assets need to be packaged to make it easier for users to install their favorite tools with the Guix package manager, and be productive using the system.

Information on how to add packages to the distribution can be found in the manual.

Check out the package database for a list of available packages, and the patch-tracking database for a list of pending submissions.

Send a new package

Programming

Source code is in the main Git repository. We use GNU Guile as the main programming and extension language for the components of the system.

You will find it useful to browse the Guile manual or other introductory material about Scheme. Also, make sure to read the Contributing section of the manual for more details on the development setup, as well as the coding and cooperation conventions used in the project.

Send a patch

System Administration

Our system infrastructure makes it possible for all the contributors to communicate and collaborate in the project, and users to be able to download and install packages. Help us keep the system up and running smoothly.

You can contribute to our continous integration software: Cuirass. You can also donate hardware or hosting for our build farm

Contribute

Test and Bug Reports

Install the software and send feedback to the community about your experience. Help the project by reporting bugs. You can also get started by picking an “easy” bug to work on.

Before reporting a bug, please check whether the bug is already in the bug database. See the developer information page for more information on how to manipulate bug reports.

Report a bug

Translation

You can help translate the software, the package descriptions, the manual, the cookbook, and this website into your language. See your language's team at the Translation Project to have a look at the styleguides and the work of other translators

Software packages provided by the system may have their own translation tools. Visit their websites and help translate.

Start translating

Other resources for contributors

Documents, supporting material of previous talks, and auxiliary information useful to hackers and maintainers is available at https://git.sv.gnu.org/git/guix/maintenance.git.