Toggle diff (273 lines)
diff --git a/website/posts/2024-guix-user-contributor-survey-results-post2.sxml b/website/posts/2024-guix-user-contributor-survey-results-post2.sxml
new file mode 100644
index 0000000..4c1f179
--- /dev/null
+++ b/website/posts/2024-guix-user-contributor-survey-results-post2.sxml
@@ -0,0 +1,498 @@
+(begin
+ (use-modules (apps base templates components) (srfi srfi-19))
+ `((title . "Guix User and Contributor Survey 2024: The Results (part 2)")
+ (author . "Steve George")
+ (date unquote (make-date 0 0 00 10 23 01 2025 7200))
+ (tags unquote (list "Community"))
+ (content
+ (p "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 "
+ (a (@ (href "https://guix.gnu.org/en/blog/2025/guix-user-and-contributor-survey-2024-the-results-part-1/")) "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.")
+ (p "As a reminder there were 943 full responses to the survey, of this 53% were from users and 32% were from contributors.")
+
+
+ (h3 "Guix usage")
+ (p "The middle section of the Survey explored how users relationship with Guix matured, which parts they used and where they struggled. Question 11 asked, "
+ (b "Which parts of Guix have you used on top of another Linux distribution?"))
+ (p "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:")
+ (p
+ (table
+ (caption (b "Table 10: Hosted Guix usage by capability"))
+ (tr
+ (th "Capability") (th "Use") (th "Stopped") (th "Never used"))
+ (tr
+ (td "Package manager and packages (guix package)") (td "48%") (td "26%") (td "24%"))
+ (tr
+ (td "Dotfiles and home environment management (guix home)") (td "17%") (td "11%") (td "70%"))
+ (tr
+ (td "Isolated development environments (guix shell)") (td "41%") (td "18%") (td "39%"))
+ (tr
+ (td "Package my own software projects") (td "28%") (td "9%") (td "61%"))
+ (tr
+ (td "Deployment tool (guix deploy, guix pack)") (td "13%") (td "7%") (td "78%"))
+ (tr
+ (td "Guix System (i.e. VM on top of your distro)") (td "15%") (td "15%") (td "68%"))))
+ (p "Note that all the percentages in this table, and throughout the posts are rounded to make them easier to refer to.")
+ (p "The next question (Q12) asked participants, "
+ (b "Which parts of Guix have you used on top of Guix System?"))
+ (p "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:")
+ (p
+ (table
+ (caption (b "Table 11: Guix System usage by capability"))
+ (tr
+ (th "Capability") (th "Use") (th "Stopped") (th "Never used"))
+ (tr
+ (td "Package manager and packages (guix package)") (td "64%") (td "17%") (td "17%"))
+ (tr
+ (td "Dotfiles and home environment manager (guix home)") (td "48%") (td "9%") (td "41%"))
+ (tr
+ (td "Isolated development environments (guix shell)") (td "36%") (td "10%") (td "21%"))
+ (tr
+ (td "Package my own software projects") (td "40%") (td "9%") (td "49%"))
+ (tr
+ (td "Deployment tool (guix deploy, guix pack)") (td "19%") (td "8%") (td "71%"))))
+ (p "This gives us an interesting picture of how Guix usage develops:")
+ (p
+ (ul
+ (li "From the first table (Table 10) I was very surprised by the way that Guix users manage their packages. It shows that 24% of users that use Guix on top of another Linux distribution don't use `guix package`. Clearly, many of these users have switched to a declarative package management approach using manifests or Guix Home.")
+ (li "Guix Home is popular with users of Guix System. It's a relatively new capability in Guix, and there's lots of opportunity to encourage its use on top of another GNU/Linux distribution. It could be a great on-ramp into using Guix generally.")
+ (li "Guix Shell is very popular both when used in a hosted set-up and on Guix System. There are requests in other parts of the survey for missing features from Nix Shell, so perhaps those are some ways to increase its popularity.")
+ (li "I was really surprised by how many users are packaging their own software projects, about 40% of Guix System users, and almost a third of hosted users.")
+ (li "Guix's suite of deployment tools is the least used part of the capabilities. They may not have been utilised by the majority of users yet, but some people find them very useful. There were comments in the survey that these tools drove usage as both a CI and Docker deployment tool.")))
+
+
+ (h3 "Guix System usage")
+ (p "The survey then asked (Q15), " (b "How have you run Guix System?"))
+ (p "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:")
+ (p
+ (table
+ (caption (b "Table 12: Guix System deployment types"))
+ (tr
+ (th "Deployment type") (th "Count") (th "Percentage"))
+ (tr
+ (td "Graphical desktop in a VM") (td "275") (td "29%"))
+ (tr
+ (td "Graphical desktop on laptop/workstation hardware") (td "691") (td "73%"))
+ (tr
+ (td "Server on server hardware") (td "223") (td "24%"))
+ (tr
+ (td "Server in a VM (e.g. KVM)") (td "169") (td "18%"))
+ (tr
+ (td "Server in a container (e.g. Docker/Singularity)") (td "53") (td "6%"))
+ (tr
+ (td "Public Cloud (e.g. AWS)") (td "57") (td "6%"))
+ (tr
+ (td "Other") (td "40") (td "4%"))))
+ (p "In the " (em "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).")
+ (p (em "Figure 7") " shows the break down as a bar chart:"
+ (figure
+ (img (@ (src "/static/blog/img/2024-guix-survey-q15.png")
+ (alt "2024 Guix user survey: GNU Guix System usage bar chart")
+ (style "width:85%;height:85%;")))
+ (figcaption (@ (style "font-weight:bold;")) "Figure 7: Guix System usage")))
+
+ (p "Some thoughts from this question:")
+ (p
+ (ul
+ (li "It's notable that the vast majority of users are using Guix as some form of graphical desktop (whether on their own hardware or in a VM). This could have implications for the priority of both graphical environment packaging and testing.")
+ (li "Roughly, a third of users are deploying Guix as a server (445) out of the total (1508). This is a big increase from the initial adoption phase (Q5) where 5% of users were adopting Guix as a server. It seems that users often adopt Guix as a graphical desktop and then as they become more familiar with it they start to use it as a server as well.")
+ (li "We can't know how many specific deployments there are as the survey didn't ask how many desktops or servers each user actually deployed. But, the change in the mixture of deployments is interesting. It might be that improving the capabilities, documentation and popularity of the deployment tools (Q15) would also increase the server usage pattern. There are also comments elsewhere in the survey about missing server packages and services.")
+ (li " Only a small number of users are using Guix as a containerization system or in the public cloud. These are significant areas for professional development and deployment, so an area of Guix that further development could focus on.")))
+
+
+ (h3 "Architectures")
+ (p "The survey then asked (Q16), " (b "Which architectures do you use Guix on?"))
+ (p "Again this was multiple choice, there were 1192 answers from 943 completed surveys:")
+ (p
+ (table
+ (caption (b "Table 13: Guix architectures usage"))
+ (tr
+ (th "Category") (th "Count") (th "Percentage"))
+ (tr
+ (td "x86_64 (modern Intel/AMD hardware)") (td "925") (td "98%"))
+ (tr
+ (td "IA-32 (32-bit i586 / i686 for older hardware)") (td "25") (td "3%"))
+ (tr
+ (td "ARM v7 (armhf 32-bit devices, Raspberry Pi 1 - Zero)") (td "36") (td "4%"))
+ (tr
+ (td "AArch64 (ARM64, Raspberry Pi Zero 2, 3 and above)") (td "177") (td "19%"))
+ (tr
+ (td "POWER9 (powerpc64le)") (td "15") (td "2%"))
+ (tr
+ (td "IA-32 with GNU/Hurd (i586-gnu)") (td "14") (td "1%"))))
+ (p "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.")
+
+
+ (h3 "Proprietary drivers")
+ (p "Proprietary drivers is an interesting topic in the Guix community. For Q17 the survey asked, "
+ (b "Do you use proprietary drivers in your Linux deployments?"))
+ (p "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.")
+ (p
+ (table
+ (caption (b "Table 14: Proprietary driver usage"))
+ (tr
+ (th "Category") (th "Count") (th "Percentage"))
+ (tr
+ (td "No, I don't use proprietary drivers") (td "191") (td "20%"))
+ (tr
+ (td "Yes, I use Nonguix as part of Guix System") (td "622") (td "66%"))
+ (tr
+ (td "Yes, I use proprietary drivers on other GNU/Linux distributions") (td "462") (td "49%"))))
+ (p (em "Figure 8") " shows it as a bar chart:"
+ (figure
+ (img (@ (src "/static/blog/img/2024-guix-survey-q17.png")
+ (alt "2024 Guix user survey: Guix users proprietary driver usage bar chart")
+ (style "width:85%;height:85%;")))
+ (figcaption (@ (style "font-weight:bold;")) "Figure 8: Use of proprietary drivers")))
+ (p
+ (ul
+ (li "From this we can conclusively say that the majority of Guix users do use proprietary drivers. Although hardware that respects Freedom is available, hardware requiring proprietary drivers is sadly the norm.")))
+
+
+ (h3 "Other applications")
+ (p "The next question was (Q18), " (b "Do you use other methods and channels to install applications?"))
+ (p "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.")
+ (p "The results were:")
+ (p
+ (table
+ (caption (b "Table 15: Application sources"))
+ (tr
+ (th "Source") (th "Count") (th "Percentage"))
+ (tr
+ (td "I only use applications from Guix") (td "234") (td "25%"))
+ (tr
+ (td "Packages from my host Linux distro") (td "352") (td "37%"))
+ (tr
+ (td "Nix service on Guix System") (td "124") (td "13%"))
+ (tr
+ (td "Nonguix channel (proprietary apps and games)") (td "607") (td "64%"))
+ (tr
+ (td "Guix Science channel") (td "127") (td "14%"))
+ (tr
+ (td "My own Guix channel") (td "442") (td "47%"))
+ (tr
+ (td "Guix channels provided by other people") (td "303") (td "32%"))
+ (tr
+ (td "Flatpak") (td "334") (td "35%"))
+ (tr
+ (td "Other") (td "111") (td "12%"))))
+ (p (em "Figure 9") " shows this visually:"
+ (figure
+ (img (@ (src "/static/blog/img/2024-guix-survey-q18.png")
+ (alt "2024 Guix user survey: Guix user's application sources")
+ (style "width:85%;height:85%;")))
+ (figcaption (@ (style "font-weight:bold;")) "Figure 9: Methods and channels used to install applications")))
+
+ (p "Some thoughts:")
+ (p
+ (ul
+ (li "Overall, we can conclude that the vast majority of users are using applications using multiple different methods as there were 2634 answers in total!")
+ (li "607 participants, out of the 943, selected that they use the Nonguix channel, so 64% overall. This is a similar level of usage for applications as drivers. At the other end 234 only use applications from Guix, ~25% of users. This is a great demonstration that Guix attracts a broad range of users — some users who solely use Free Software, as well as those that need or want software that's under a wider set of licenses.")
+ (li "A large number of users package and use their own Guix channel, 442 which is 47% — this seems inline with the earlier questions about how Guix is used.")
+ (li "There were quite a few different options in the " (em "Other") " category including Distrobox, RDE and guixrus, Docker, Conda, Homebrew, AppImage, Pip and Nix.")))
+
+
+ (h3 "Overall satisfaction")
+ (p "The survey asked participants (Q19), "
+ (b "How satisfied are you with Guix as a Guix user?"))
+ (p "This is probably the most important question in the entire survey, since happy users will continue to use and contribute to the project.")
+ (p
+ (table
+ (caption (b "Table 16: Guix user satisfaction"))
+ (tr
+ (th "Category") (th "Count") (th "Percentage"))
+ (tr
+ (td "Very dissatisfied") (td "31") (td "3%"))
+ (tr
+ (td "Dissatisfied") (td "77") (td "8%"))
+ (tr
+ (td "Neutral") (td "180") (td "19%"))
+ (tr
+ (td "Satisfied") (td "463") (td "49%"))
+ (tr
+ (td "Very satisfied") (td "192") (td "20%"))))
+
+ (p "The bar chart is " (em "Figure 10") ":"
+ (figure
+ (img (@ (src "/static/blog/img/2024-guix-survey-q19.png")
+ (alt "2024 Guix user survey: Guix user satisfaction score bar chart")
+ (style "width:85%;height:85%;")))
+ (figcaption (@ (style "font-weight:bold;")) "Figure 10: Guix user satisfaction score")))
+ (p
+ (ul
+ (li "Overall, this is a really good result with 655 of the 943 participants clearly satisfied or very satisfied, ~70%. This is a good number that shows many users have a really great experience with Guix.")
+ (li "It also echos what we saw with the adoption satisfaction question.")
+ (li "The middle portion who are neutral is bigger that I personally would like to see. This is commonly a group that is not really happy with a product, but for various reasons don't want to say so. There's definitely some areas the project can work on to help users to continue enjoying using Guix.")
+ (li "At the other end of the scale the very dissatisfied and Dissatisfied are 108, so 11%. We've seen some of the challenges in earlier questions, and the next question explores these further.")))
+
+
+ (h3 "Limiters of satisfaction")
+ (p "For Q20 the survey asked, " (b "Which areas limit your satisfaction with Guix?"))
+ (p "The detailed results:")
+ (p
+ (table
+ (caption (b "Table 17: Guix user satisfaction limiters"))
+ (tr
+ (th "Category") (th "Count") (th "Percentage"))
+ (tr
+ (td "Difficulties with Guix tools user experience") (td "192") (td "20%"))
+ (tr
+ (td "Difficulties using declarative configuration") (td "157") (td "17%"))
+ (tr
+ (td "Missing or incomplete services (whether Guix Home or Guix System)") (td "374") (td "40%"))
+ (tr
+ (td "Overall Linux complexity (i.e. not specific to Guix)") (td "92") (td "10%"))
+ (tr
+ (td "Hardware drivers not included") (td "312") (td "33%"))
+ (tr
+ (td "Guix runtime performance (e.g. guix pull)") (td "449") (td "48%"))
+ (tr
+ (td "Reference documentation (i.e. the manual)") (td "195") (td "21%"))
+ (tr
+ (td "Shortage of informal guides, examples and videos") (td "369") (td "39%"))
+ (tr
+ (td "Error messages and debugging") (td "372") (td "39%"))
+ (tr
+ (td "Nothing, it's perfect!") (td "40") (td "4%"))
+ (tr
+ (td "Other") (td "213") (td "23%"))))
+ (p "As a visual graph:"
+ (figure
+ (img (@ (src "/static/blog/img/2024-guix-survey-q20.png")
+ (alt "2024 Guix user survey: Guix user satisfaction challenges bar chart")
+ (style "width:85%;height:85%;")))
+ (figcaption (@ (style "font-weight:bold;")) "Figure 11: Guix user satisfaction challenges")))
+ (p "The first thing to note is that there were 2765 entries from our 943 survey completions, so users have challenges in multiple categories."
+ (ul
+ (li "About 48% of participants have issues with G