[PATCH 0/1] Post 1 for the Guix User Survey 2024

  • Open
  • quality assurance status badge
Details
One participant
  • Steve George
Owner
unassigned
Submitted by
Steve George
Severity
normal
S
S
Steve George wrote 4 hours ago
(address . guix-patches@gnu.org)(name . Steve George)(address . steve@futurile.net)
cover.1736946075.git.steve@futurile.net
Steve George (1):
website: add first post convering the Guix User and Contributor Survey
2024.

...user-contributor-survey-results-post1.sxml | 488 ++++++++++++++++++
.../static/blog/img/2024-guix-survey-q1.png | Bin 0 -> 53515 bytes
.../static/blog/img/2024-guix-survey-q10.png | Bin 0 -> 47428 bytes
.../static/blog/img/2024-guix-survey-q2.png | Bin 0 -> 48327 bytes
.../static/blog/img/2024-guix-survey-q5.png | Bin 0 -> 35080 bytes
.../static/blog/img/2024-guix-survey-q6.png | Bin 0 -> 50429 bytes
.../static/blog/img/2024-guix-survey-q7.png | Bin 0 -> 65093 bytes
7 files changed, 488 insertions(+)
create mode 100644 website/posts/2024-guix-user-contributor-survey-results-post1.sxml
create mode 100644 website/static/blog/img/2024-guix-survey-q1.png
create mode 100644 website/static/blog/img/2024-guix-survey-q10.png
create mode 100644 website/static/blog/img/2024-guix-survey-q2.png
create mode 100644 website/static/blog/img/2024-guix-survey-q5.png
create mode 100644 website/static/blog/img/2024-guix-survey-q6.png
create mode 100644 website/static/blog/img/2024-guix-survey-q7.png


base-commit: 0dad82394930d827738f9cf8c9bbb7fa6ace7965
--
2.46.0
S
S
Steve George wrote 4 hours ago
[PATCH 1/1] website: add first post convering the Guix User and Contributor Survey 2024.
(address . 75578@debbugs.gnu.org)(name . Steve George)(address . steve@futurile.net)
2abfc76de7410a9353c4d31d536f9fe7eadfe35d.1736946512.git.steve@futurile.net
* website/posts/2024-guix-user-contributor-survey-results-post1.sxml,
website/static/blog/img/2024-guix-survey-q1.png,
website/static/blog/img/2024-guix-survey-q2.png,
website/static/blog/img/2024-guix-survey-q5.png,
website/static/blog/img/2024-guix-survey-q6.png,
website/static/blog/img/2024-guix-survey-q7.png,
website/static/blog/img/2024-guix-survey-q10.png: New files.
---
...user-contributor-survey-results-post1.sxml | 488 ++++++++++++++++++
.../static/blog/img/2024-guix-survey-q1.png | Bin 0 -> 53515 bytes
.../static/blog/img/2024-guix-survey-q10.png | Bin 0 -> 47428 bytes
.../static/blog/img/2024-guix-survey-q2.png | Bin 0 -> 48327 bytes
.../static/blog/img/2024-guix-survey-q5.png | Bin 0 -> 35080 bytes
.../static/blog/img/2024-guix-survey-q6.png | Bin 0 -> 50429 bytes
.../static/blog/img/2024-guix-survey-q7.png | Bin 0 -> 65093 bytes
7 files changed, 488 insertions(+)
create mode 100644 website/posts/2024-guix-user-contributor-survey-results-post1.sxml
create mode 100644 website/static/blog/img/2024-guix-survey-q1.png
create mode 100644 website/static/blog/img/2024-guix-survey-q10.png
create mode 100644 website/static/blog/img/2024-guix-survey-q2.png
create mode 100644 website/static/blog/img/2024-guix-survey-q5.png
create mode 100644 website/static/blog/img/2024-guix-survey-q6.png
create mode 100644 website/static/blog/img/2024-guix-survey-q7.png

Toggle diff (277 lines)
diff --git a/website/posts/2024-guix-user-contributor-survey-results-post1.sxml b/website/posts/2024-guix-user-contributor-survey-results-post1.sxml
new file mode 100644
index 0000000..7c6686b
--- /dev/null
+++ b/website/posts/2024-guix-user-contributor-survey-results-post1.sxml
@@ -0,0 +1,488 @@
+(begin
+ (use-modules (apps base templates components) (srfi srfi-19))
+ `((title . "Guix User and Contributor Survey 2024: The Results (part 1)")
+ (author . "Steve George")
+ (date unquote (make-date 0 0 0 0 15 01 2025 7200))
+ (tags unquote (list "Community"))
+ (content
+ (p "The results from the Guix User and Contributor Survey (2024) are in! This is the first time the Guix community has run this type of survey, and we're excited to share the results. The goal of the survey was to collect the views of both users and contributors, understanding how people adopt Guix, what they love and they're experiences contributing to the project.")
+ (p "There were 943 full responses to the survey, of this 53% were users and 32% were contributors. The table of survey participants is as follows:")
+ (p
+ (table
+ (caption (b "Table 1: Participant breakdown"))
+ (tr
+ (th "Category") (th "Count") (th "Percentage"))
+ (tr
+ (td "User") (td "496") (td "52.60"))
+ (tr
+ (td "Contributor") (td "297") (td "31.50"))
+ (tr
+ (td "Previous user") (td "92") (td "9.76"))
+ (tr
+ (td "Previous contributor") (td "58") (td "6.15"))))
+
+ (p "First, " (b "thank-you to everyone") " who made the effort to fill out the survey. For a volunteer community project it's fantastic to see over 900 people took part. It's notable that 150 people took the survey who were previous users or contributors — it's really great that people are willing to make this effort to share their experiences — thanks so much!")
+
+ (p "With this many participants we can see the range of view points and experience across our whole community, many of the comments were enlightening and are worth reading. There are links in many of the questions so anyone that's interested can go through them.")
+
+ (p "As the results are extensive I've split them into three separate posts, in this post we'll focus on the first 10 questions of the survey which focused on how users learnt about Guix and their experiences adopting it.")
+
+
+ (h3 "User backgrounds and experience")
+ (p "The survey started by asking participants, " (b "How knowledgeable a Linux are you?") " (Q1).")
+ (p
+ (table
+ (caption (b "Table 2: Participant's Linux knowledge"))
+ (tr
+ (th "Category") (th "Count") (th "Percentage"))
+ (tr
+ (td "Beginner (e.g. just getting started)") (td "18") (td "2%"))
+ (tr
+ (td "Explorer (e.g. comfortable installing it and using graphical apps)") (td "18") (td "2%"))
+ (tr
+ (td "Intermediate (e.g. comfortable with the command-line and configuring many aspects)") (td "445") (td "47%"))
+ (tr
+ (td "Advanced (e.g. you correct the Arch Linux Wiki!)") (td "248") (td "26%"))
+ (tr
+ (td "Expert (e.g. able to contribute to large Free Software projects!)") (td "212") (td "22%"))
+ (tr
+ (td "No answer") (td "2") (td "0.21%"))))
+
+ (p "Note that all the percentages in this table, and throughout the posts are rounded to make them easier to refer to.")
+ (p (em "Figure 1") " shows this graphically:"
+ (figure
+ (img (@ (src "/static/blog/img/2024-guix-survey-q1.png")
+ (alt "2024 Guix user survey: GNU/Linux knowledge graph")
+ (style "width:85%;height:85%;")))
+ (figcaption (@ (style "font-weight:bold;")) "Figure 1: Survey participants GNU/Linux knowledge")))
+
+ (p "The next question (Q2) was, " (b "How long have you been using Guix?"))
+ (p
+ (table
+ (caption (b "Table 3: Guix experience"))
+ (tr
+ (th "Category") (th "Count") (th "Percentage"))
+ (tr
+ (td "Less than 1 year") (td "245") (td "26%"))
+ (tr
+ (td "Between 1 and 2 years") (td "218") (td "23%"))
+ (tr
+ (td "Between 2 and 4 years") (td "234") (td "25%"))
+ (tr
+ (td "More than 4 years") (td "160") (td "17%"))
+ (tr
+ (td "I've stopped using Guix") (td "83") (td "9%"))
+ (tr
+ (td "No answer") (td "3") (td "0.3%"))))
+ (p (em "Figure 2") " shows these results as a bar chart:"
+ (figure
+ (img (@ (src "/static/blog/img/2024-guix-survey-q2.png")
+ (alt "2024 Guix user survey: GNU Guix experience graph")
+ (style "width:85%;height:85%;")))
+ (figcaption (@ (style "font-weight:bold;")) "Figure 2: Survey participants GNU Guix experience")))
+
+ (p "These two questions already tell us some interesting things about Guix users:")
+ (ul
+ (li "Guix users generally have a lot of Linux experience: 50% said they were Intermediates who were \"" (em "comfortable with the command-line and configuring many aspects") "\". A further 26% said they were Advanced, and 22% said they were experts.")
+ (li "Conversely, very few users (~4%) are beginners or exploring Linux users.")
+ (li "Many Guix users are new to Guix itself.")
+ (li "Guix's user-base is growing! Almost 75% of the user-base are recent converts to Guix, having used it for less than 4 years.")
+ (li "It's a similar distribution of users to Nix's. Their "
+ (a (@ (href "https://discourse.nixos.org/t/nix-community-survey-2024-results/55403")) "2024 survey") " showed dramatic growth (~65%) in users from 0-2 years, Guix's is 49%.")
+ (li "It's fantastic to see new users are exploring and trying out Guix.")
+ (li "Unfortunately, 9% of users are no longer using Guix, but care enough to fill out the survey - so what can be done to help them come back?!"))
+
+
+ (h3 "Adopting Guix")
+ (p "The next few questions explored how participants adopted Guix. It's important that new users have a great adoption experience so they'll keep using Guix. Conversely, if the initial experience is too difficult, they may simply move onto something else without seeing it's benefits!")
+ (p "The first question asked, (Q4) " (b "Why were you initially interested in Guix?"))
+ (p "This question tells us what users had heard about Guix, and what they discovered during their initial investigation. The answers could impact how the project talks about Guix's strengths and capabilities.")
+ (p "For this question users could select more than one answer and many did so. The most selected choice was "
+ (b "\"Declarative configuration\"") " where 82% of participants were interested in Guix because it had this quality. The option "
+ (b "\"Scheme, Guile, and Lisp are cool\"") " was second, where 72% of the survey's participants were intrigued by Guix because of this aspect. The "
+ (b "\"Reproducibility\"") " choice came third with 70% interested in this capability."
+ " The detailed results were:")
+ (p
+ (table
+ (caption (b "Table 4: Reason for adopting Guix"))
+ (tr
+ (th "Category") (th "Count") (th "Percentage"))
+ (tr
+ (td "Reliability and transactions") (td "537") (td "57%"))
+ (tr
+ (td "Declarative configuration") (td "772") (td "82%"))
+ (tr
+ (td "Reproducibility") (td "658") (td "70%"))
+ (tr
+ (td "Reproducible scientific workflows") (td "199") (td "21%"))
+ (tr
+ (td "Fresh packages with latest versions") (td "207") (td "22%"))
+ (tr
+ (td "Scheme, Guile and Lisp are cool") (td "677") (td "72%"))
+ (tr
+ (td "Friendly community") (td "256") (td "27%"))
+ (tr
+ (td "FSF certified project (100% Free Software)") (td "404") (td "43%"))
+ (tr
+ (td "Alternative architectures (e.g. ARM)") (td "90") (td "10%"))
+ (tr
+ (td "GNU Hurd") (td "122") (td "13%"))
+ (tr
+ (td "Package management on another Linux distribution") (td "319") (td "34%"))
+ (tr
+ (td "As a tool for packaging my own software") (td "267") (td "28%"))))
+
+ (p "There were 110 choices of 'Other' where participants could add their own comments, they're all "
+ (a (@ (href "https://codeberg.org/futurile/guix-survey/src/branch/main/2024-survey/Q4-guix-interest-comments.md"))
+ "available to read")
+ ". Looking through them some themes came through:"
+
+ (ul
+ (li (b "Development environments:")
+ (ul
+ (li (em "\"General solution to rvm,pyenv etc\""))
+ (li (em "\"As a Docker replacement for software development\""))))
+ (li (b "Documentation:")
+ (ul
+ (li (em "\"Initial interest in Nix, but hearing about Guix having more pleasant documentation also swayed me towards using Guix instead\""))
+ (li (em "\"Documentation (not exhaustive but well-structured), simplicity of the CLI\""))))
+ (li (b "Free Software & GNU:")
+ (ul
+ (li (em "\"The possibility of releasing the GNU operating system version 1.0"))
+ (li (em "\"100% free software yes, FSF no (FSFE are fine)\""))
+ (li (em "\"Being a GNU project helped me decide between Guix and Nix.\""))))
+ (li (b "Use for Continuous Integration:")
+ (ul
+ (li (em "\"used for CI, replacing docker with free software and user control\""))))
+ (li (b "Sandboxes and security:")
+ (ul
+ (li (em "\"Sandbox environment\""))
+ (li (em "\"Security: containerized environments integrated in the OS.\""))))
+ (li (b "Package definitions:")
+ (ul
+ (li (em "\"Writing packages for GNU Guix seemed more intuitive than for Gentoo Linux (Guix's hashes > Gentoo's slots)\""))
+ (li (em "\"Ease of packaging\""))))
+ (li (b "An alternative to Nix:")
+ (ul
+ (li (em "\"Wanted to check out alternatives to Nix. Particularly interested in 1) grafting, 2) measures against ld.so stat storm, 3) performant guix packs without proot\""))
+ (li (em "\"Use Nix a lot, want to explore that design space more\""))))
+ (li (b "Guile Scheme and Lisp:")
+ (ul
+ (li (em "\"One language for everything\""))
+ (li (em "\"Not nixlang\""))
+ (li (em "\"homogeneity of the configuration (one language for everything)\""))))
+ (li (b "Full source:")
+ (ul
+ (li (em "\"Full Source Bootstrap & Strict Policy to compile all software from source\""))
+ (li (em "\"Full source auditability\""))))))
+
+ (p "The next question the survey asked was, "
+ (b "Which aspect of Guix did you initially adopt?")
+ " (Q5). This is users initial entry point into using Guix.")
+ (p "The detailed results were:")
+ (p
+ (table
+ (caption (b "Table 5: Initial aspect of Guix adopted"))
+ (tr
+ (th "Category") (th "Count") (th "Percentage"))
+ (tr
+ (td "Package manager on top of another Linux distro (guix package)") (td "336") (td "36%"))
+ (tr
+ (td "Dotfiles and home environment management on another Linux distro (guix home)") (td "41") (td "4%"))
+ (tr
+ (td "Isolated development and runtime environments on another Linux distro (guix shell)") (td "58") (td "6%"))
+ (tr
+ (td "GNU/Linux distro as a graphical desktop (guix system)") (td "434") (td "46%"))
+ (tr
+ (td "GNU/Linux distro as a server (guix system)") (td "47") (td "5%"))
+ (tr
+ (td "As a software build and deployment tool (guix image, guix package or guix deploy)") (td "16") (td "2%"))
+ (tr
+ (td "Other") (td "9") (td "1%"))))
+ (p (em "Figure 3") " shows this as a bar chart:"
+ (figure
+ (img (@ (src "/static/blog/img/2024-guix-survey-q5.png")
+ (alt "2024 Guix user survey: GNU Guix adoption bar chart")
+ (style "width:85%;height:85%;")))
+ (figcaption (@ (style "font-weight:bold;")) "Figure 3: Guix initial adoption aspect")))
+ (p "The summary is that almost 50% of users initially experienced Guix as a GNU/Linux distro: 44% in a graphical desktop configuration and a further 5% in a server configuration. Just over a third of users (36%) initial experience Guix as a package manager on top of another Linux distro. I found this surprising as I'd expected most users to use Guix as a hosted package manager first, what an interesting result! We can also see there's lots of room to develop Guix Home as an adoption path.")
+
+
+ (h3 "Adoption challenges")
+ (p "Adopting any new technology is difficult and time-consuming, so discovering what elements users find difficult is important. Q7 delved into this by asking, " (b "What were the biggest challenges getting started with Guix?"))
+ (p "The results were:")
+ (p
+ (table
+ (caption (b "Table 6: Adoption challenges"))
+ (tr
+ (th "Category") (th "Count") (th "Percentage"))
+ (tr
+ (td "Installing Guix as a package manager on a GNU/Linux distribution") (td "80") (td "8%"))
+ (tr
+ (td "Installing Guix System as a full Linux distribution") (td "236") (td "25%"))
+ (tr
+ (td "Level of Linux knowledge needed to use Guix") (td "102") (td "11%"))
+ (tr
+ (td "Difficulties with the reference material (i.e. the manual)") (td "236") (td "25%"))
+ (tr
+ (td "Shortage of how-to tutorials and videos") (td "297") (td "32%"))
+ (tr
+ (td "Shortage of examples (e.g. examples of usage)") (td "431") (td "46%"))
+ (tr
+ (td "Inexperience with Lisp syntax and/or Guile Scheme") (td "374") (td "40%"))
+ (tr
+ (td "Differences between Guix's approach and other Linux distros") (td "321") (td "34%"))
+ (tr
+ (td "It was so long ago I can't possibly remember!") (td "44") (td "5%"))
+ (tr
+ (td "Other") (td "218") (td "23%"))))
+ (p (em "Figure 4") " shows this as a bar chart:"
+ (figure
+ (img (@ (src "/static/blog/img/2024-guix-survey-q7.png")
+ (alt "2024 Guix user survey: GNU Guix adoption challenges bar chart")
+ (style "width:85%;height:85%;")))
+ (figcaption (@ (style "font-weight:bold;")) "Figure 4: Guix adoption challenges")))
+ (p "As we can see the biggest challenge is a " (b "Shortage of examples (e.g examples of usage)")
+ ". And, if we consider shortage of how-to tutorials (32%) to be similar then overall we can see there's a clear need for focused goal-orientated documentation with examples. Inexperience with " (b "Lisp syntax and or Guile Scheme") " and " (b "Differences between Guix's approach and other Linux distros")
+ " both speak to the unique nature of Guix and the approach it takes: perhaps there are implications for how Guix's tooling can make initial adoption as easy as possible.")
+ (p "There were 218 comments, which are "
+ (a (@ (href "https://codeberg.org/futurile/guix-survey/src/branch/main/2024-survey/Q7-guix-adoption-challenges-comments.md"))
+ "worth reading through")
+ ". I've summarised them into broad themes:"
+ (ul
+ (li (b "Conceptual complexity") ": comments about the overall knowledge required being too much. Examples are:")
+ (ul
+ (li (em "\"Understanding the concepts on which guix runs\""))
+ (li (em "\"managing storage space, generations, GC roots, profiles; generally grasping the concepts\""))
+ (li (em "\"Some interesting free software is only available for other distros, it's hard to adapt to a system without file system hierarchy\"")))
+ (li (b "Lack of drivers") ": issues caused by drivers not being available. Examples are:")
+ (ul
+ (li (em "\"can't really use linux-libre on the machine I installed it on (lack drivers)\""))
+ (li (em "\"Getting an initial installation with working non-free wifi\""))
+ (li (em "\"hiding nonguix\"")))
+ (li (b "Efficiency") ": comments regarding overall resource usage making Guix slow or unusable. Example comments are:")
+ (ul
+ (li (em "\"The evaluation of Guix is slow and resource-intensive. My laptop was no match for it, I had to change it.\""))
+ (li (em "\"Guix experimentation is still too slow. Make experimenting faster for new users by identifying rate limiting steps and speeding them up\""))
+ (li (em "\"Slow network when download guix substitute\"")))
+ (li (b "Missing packages and services") ": issues where Guix doesn't contain a required package or service.")
+ (ul
+ (li (em "\"missing packages I needed and getting them upstreamed after I packaged them\""))
+ (li (em "\"Unpackaged free software, and nonfree software\""))
This message was truncated. Download the full message here.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 75578@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 75578
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch