Guix User and Contributor Survey 2024: The Results (part 2)

The results from the Guix User and Contributor Survey (2024) are in and we're digging into them in a series of posts! Check out the first post for the details of how users initially adopt Guix, the challenges they find while adopting it and how important it is in their environment. In this part, we're going to cover how use of Guix matures, which parts are the most loved and lots of other details.

As a reminder there were 943 full responses to the survey, of this 53% were from users and 32% were from contributors.

Guix usage

The middle section of the Survey explored how users relationship with Guix matured, which parts they used and where they struggled. Question 11 asked, Which parts of Guix have you used on top of another Linux distribution?

As a reminder a third (36%) of participants adopted Guix by using it as a package manager on top of another GNU/Linux distribution. The detailed results were:

Table 10: Hosted Guix usage by capability
CapabilityUseStoppedNever used
Package manager and packages (guix package)48%26%24%
Dotfiles and home environment management (guix home)17%11%70%
Isolated development environments (guix shell)41%18%39%
Package my own software projects28%9%61%
Deployment tool (guix deploy, guix pack)13%7%78%
Guix System (i.e. VM on top of your distro)15%15%68%

Note that all the percentages in this table, and throughout the posts are rounded to make them easier to refer to.

The next question (Q12) asked participants, Which parts of Guix have you used on top of Guix System?

As a reminder, an earlier question (Q5) determined that 46% initially adopted Guix as a GNU/Linux distro in a graphical desktop configuration, and 5% as a GNU/Linux distro in a server configuration. The results:

Table 11: Guix System usage by capability
CapabilityUseStoppedNever used
Package manager and packages (guix package)64%17%17%
Dotfiles and home environment manager (guix home)48%9%41%
Isolated development environments (guix shell)36%10%21%
Package my own software projects40%9%49%
Deployment tool (guix deploy, guix pack)19%8%71%

This gives us an interesting picture of how Guix usage develops:

Guix System usage

The survey then asked (Q15), How have you run Guix System?

This was a multiple choice question, so in total there were 1508 answers from the 943 participants, consequently we can assume that some users deploy Guix System in multiple configurations:

Table 12: Guix System deployment types
Deployment typeCountPercentage
Graphical desktop in a VM27529%
Graphical desktop on laptop/workstation hardware69173%
Server on server hardware22324%
Server in a VM (e.g. KVM)16918%
Server in a container (e.g. Docker/Singularity)536%
Public Cloud (e.g. AWS)576%
Other404%

In the Other category there were mentions of using it on different SOC boards (e.g. RockPro64), on WSL2 and on different hosting providers (e.g. Digital Ocean, Hetzner).

Figure 7 shows the break down as a bar chart:

2024 Guix user survey: GNU Guix System usage bar chart
Figure 7: Guix System usage

Some thoughts from this question:

Architectures

The survey then asked (Q16), Which architectures do you use Guix on?

Again this was multiple choice, there were 1192 answers from 943 completed surveys:

Table 13: Guix architectures usage
CategoryCountPercentage
x86_64 (modern Intel/AMD hardware)92598%
IA-32 (32-bit i586 / i686 for older hardware)253%
ARM v7 (armhf 32-bit devices, Raspberry Pi 1 - Zero)364%
AArch64 (ARM64, Raspberry Pi Zero 2, 3 and above)17719%
POWER9 (powerpc64le)152%
IA-32 with GNU/Hurd (i586-gnu)141%

As we might expect x86_64 is the most popular, but there are quite a few AArch64 users as well. There are various comments in the survey about challenges when using different architectures (e.g substitute availability, cross-compiling challenges), see the linked comments throughout these posts for more.

Proprietary drivers

Proprietary drivers is an interesting topic in the Guix community. For Q17 the survey asked, Do you use proprietary drivers in your Linux deployments?

The goal was to understand driver usage across all Linux usage, whether when using Guix or another Distribution. As this was a multiple choice question, there were 1275 answers from the 943 participants.

Table 14: Proprietary driver usage
CategoryCountPercentage
No, I don't use proprietary drivers19120%
Yes, I use Nonguix as part of Guix System62266%
Yes, I use proprietary drivers on other GNU/Linux distributions46249%

Figure 8 shows it as a bar chart:

2024 Guix user survey: Guix users proprietary driver usage bar chart
Figure 8: Use of proprietary drivers

Other applications

The next question was (Q18), Do you use other methods and channels to install applications?

One of the advantages of Guix is that it's a flexible system where users can create their own packages and share them with the community. Additionally, there are other methods for installing and using applications such as Flatpak. However, we already know that during adoption some users struggle to find the applications that they need. This question explores whether that changes as usage matures.

The results were:

Table 15: Application sources
SourceCountPercentage
I only use applications from Guix23425%
Packages from my host Linux distro35237%
Nix service on Guix System12413%
Nonguix channel (proprietary apps and games)60764%
Guix Science channel12714%
My own Guix channel44247%
Guix channels provided by other people30332%
Flatpak33435%
Other11112%

Figure 9 shows this visually:

2024 Guix user survey: Guix user's application sources
Figure 9: Methods and channels used to install applications

Some thoughts:

Overall satisfaction

The survey asked participants (Q19), How satisfied are you with Guix as a Guix user?

This is probably the most important question in the entire survey, since happy users will continue to use and contribute to the project.

Table 16: Guix user satisfaction
CategoryCountPercentage
Very dissatisfied313%
Dissatisfied778%
Neutral18019%
Satisfied46349%
Very satisfied19220%

The bar chart is Figure 10:

2024 Guix user survey: Guix user satisfaction score bar chart
Figure 10: Guix user satisfaction score

Limiters of satisfaction

For Q20 the survey asked, Which areas limit your satisfaction with Guix?

The detailed results:

Table 17: Guix user satisfaction limiters
CategoryCountPercentage
Difficulties with Guix tools user experience19220%
Difficulties using declarative configuration15717%
Missing or incomplete services (whether Guix Home or Guix System)37440%
Overall Linux complexity (i.e. not specific to Guix)9210%
Hardware drivers not included31233%
Guix runtime performance (e.g. guix pull)44948%
Reference documentation (i.e. the manual)19521%
Shortage of informal guides, examples and videos36939%
Error messages and debugging37239%
Nothing, it's perfect!404%
Other21323%

As a visual graph:

2024 Guix user survey: Guix user satisfaction challenges bar chart
Figure 11: Guix user satisfaction challenges

The first thing to note is that there were 2765 entries from our 943 survey completions, so users have challenges in multiple categories.

There were also 213 comments in the Other category, the full list of comments is available. As before I've grouped the comments — at this point we're starting to see consistency in the grouping so to avoid a lot of repetition I've only put in one example from each one:

Not all comments fit into a specific theme, I've pulled out some other interesting ones:

  1. Shepherd as a constraint: some users love that Guix doesn't use Systemd, but there are some comments worrying about compatibility and migration.
    • "I'd like to be able to use systemd. I like that Guix is doing the work so that we break the init system monoculture though. But I'd like systemd to be an alternative. The term service is overloaded which is confusing. I also think that some developer (in-repo) documentation is missing. Specifally regarding packages that need a special boostrapping process such as node or bqn"
    • "lack of features comparing to systemd"
  2. Reproducibility challenges: reproducing Guix set-ups when using channels or other issues.
    • "Guix is pretty perfect, but there are breaking changes between channels, would love for the channel to pin to specific guix commit when building it's packages and have a warning if the commit is outdated by x days"
    • "not reproducible due to ~/.config/guix and channels not pinned easily"
  3. Releases and stable channel: a few users have concerns about a lack of new releases, or wanting to use a more stable release channel.
    • "Some kind of LTS release that I can pin my work to would be great. Maintaining my own channels for work/personal use is good but sometimes guix updates cause things to break so I need to pay attention to keep things working. A more stable release with better probability of substitute hits would be nice."
    • "No new release in over 2 years"
  4. Running compiled binaries: situations where the user wants to run a compiled binary that's expecting a 'standard' Linux.
    • "Running Software not in channel like: Compilers for embedded systems (avr), proprietary software (matlab)"
  5. Architecture issues: there's a few comments about issues using alternative architectures, particularly about substitute availability.
    • "Aarch64 seems like it gets less love and x86. Takes time for broken packages to get fixed on aarch64"

What should Guix improve?

The survey then asked, (Q21) Which areas should Guix's developers improve so you can use Guix more?

This question was done as a ranking question where participants had to prioritise their top 3. The rationale for asking it in this way was to achieve clarity over prioritisation.

It's useful to look at this in two ways, first the table where participants ranked their highest priority:

Table 18: Highest priority ranked improvements
Area — Rank 1CountPercentage
Making the latest versions of packages available (package freshness)14916%
Performance and tuning (faster guix pull)11212%
Make Guix easier to learn (more docs!)10511%
Package reliability (e.g. installs and works)9210%
Hardware support (drivers)9110%
More packages (more is better!)879%
Software developer tooling (guix shell with editors, debuggers, etc)586%
Make Guix easier to use576%
Guix System services374%
Stable releases (e.g. regular tested releases)354%
Community and communications334%
Guix Home services243%
Focused high-quality packages (fewer is better!)152%

This second table shows how each element was ranked across all positions, reordered to show the overall prioritisation:

Table 19: Highest priority ranked improvements
AreaRank 1Rank 2Rank 3Overall score
Performance and tuning (faster guix pull)2114
Make Guix easier to learn (more docs!)3227
Making the latest versions of packages available (package freshness)1438
More packages (more is better!)63413
Package reliability (e.g. installs and works)45615
Hardware support (drivers)56718
Software developer tooling (guix shell with editors, debuggers, etc)77519
Guix System services910827
Make Guix easier to use891128
Guix Home services128929
Community and communications11121033
Stable releases (e.g. regular tested releases10111334
Focused high-quality packages (fewer is better!)13131238

Some thoughts on what this means:

Guix sustainability

The next section of the survey was for Contributors, we'll cover that in the third post in the series. After the contribution section Q32 asked all users, How likely are you to financially support the Guix project?

As a volunteer project, with no corporate sponsors, the rationale for asking this question is that some aspects of the project (e.g. infrastructure and sponsored work) require finance. The results were:

Table 20: Donating to Guix
CategoryCountPercentage
Unable (e.g. don't have money to do so)28030%
Would not (e.g. have the money to do so, but would not)404%
Unlikely14515%
Moderately likely34136%
Very likely13314%
No answer40.42%

As a graphical bar chart:

2024 Guix user survey: GNU Guix donation intention bar chart
Figure 12: Financially supporting Guix

The results tell us that about 50% of users would be willing and able to financially contribute to Guix. There's also a significant set of users who are unable to do so, and one of the clear benefits of Free Software is that we can all use it without charge!

❤️ Love Guix!

Having asked lots of structured questions and ones about challenges the last question (Q33) was, What do you love about Guix?

There were 620 answers, so 65% of the participants wrote something — that's a lot of love for Guix!

There were lots of positive comments about how friendly and helpful the Guix community is; the joys of using Scheme/Lisp and Guile; the importance of user-focused Free Software; and the benefits of the declarative approach.

All the comments are available to read, and I encourage you to have a scroll through them as they're very uplifting!

A few I pulled out:

Key insights

In this post we've looked at the questions the survey asked participants about their use of Guix. And as a reminder, there were over 900 participants who completed the survey.

The main conclusions I draw from this part are:

If you missed it, the first post in this series covers how users adopt Guix. And, the next post will cover how Contributors interact with the project.

Sujets liés :

Community User Survey

Sauf indication contraire, les billets de blog de ce site sont la propriété de leurs auteurs respectifs et publiés sous les termes de la licence CC-BY-SA 4.0 et ceux de la GNU Free Documentation License (version 1.3 ou supérieur, sans section invariante, sans texte de préface ni de postface).