[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Enabling contribution through documentation
From: |
Samuel Christie |
Subject: |
Re: Enabling contribution through documentation |
Date: |
Mon, 25 Sep 2023 11:13:58 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Ekaitz Zarraga <ekaitz@elenq.tech> writes:
An option is to make some kind of user-story based documentation
might help?
As a long-time wannabe-contributor who has been intimidated by the
unfamiliar process, I agree with this statement.
In fact, (to acknowledge the other more controversial branch of
this conversation), I am already an avid user of emacs and
plain-text email, so they do not in the least discourage me from
contributing. The "difficulties" of editing s-expressions are
non-issues for me; I have been using guix as both a daily driver
and headless server for a while, and occasionally edit system
definitions and even code snippets using mediocre editors like
nano without difficulty. That said, I never quite figured out a
good development environment and workflow for building packages or
hacking on guix itself. Some of that is on me, but I think there
is probably room for improvement in both the tools and
documentation.
However, the unfamiliar process and my cautious personality
fearing I might "mess something up" or "bother somebody" have been
the biggest barriers to getting started. And last I checked there
was not really a tutorial or "safe zone" for practicing to help
overcome those challenges. I have actually been planning to start
pushing through and writing up a tutorial as I go, and signing up
for the guix-devel mailing list again was a step in that
direction, so this discussion is rather timely.
My recommendation consists of three parts:
1. Write a clear tutorial
2. Offer a "test environment" for new users to practice in
3. Refine documentation into clearer 'how-to' and 'reference'
material
My current thoughts are building off the 'theory of documentation'
described here:
https://documentation.divio.com/index.html
(1) According to this theory, tutorials are learning experiences
that that don't explain much, but simply guide the newbie with
step-by-step directions they can follow as-is. We can probably
adapt the sourcehut git + email tutorial for part of that purpose:
https://git-send-email.io/
Such a tutorial would be helpful for onboarding new contributors
because they don't have to know anything before getting started,
just start at the beginning and follow the steps. The tutorial I
was envisioning would work through the steps of writing a simple
package, testing it, then submitting the patches.
I also thought it would be neat if we could have a more difficult
version assigns outdated packages for upgrading (could even have a
leaderboard and make a game out of it), but that's probably a
different project.
(2) The test environment idea is based partly on the sourcehut
tutorial, and at simplest is a separate mailing list that people
can send test attempts to. Other people could subscribe and reply
with comments on how to fix things, or we could (eventually)
automate it to return feedback instantly. Ideally this environment
would be as close to the real one as possible, but I'm not sure
what that would mean exactly.
(3) The third point is a longer term goal for cleaning up the
existing documentation, which is a mixture of all four kinds. For
example, the 'Sending a patch series' page is written casually
like a tutorial but abstractly covers several ways of doing it
instead of guiding with concrete steps to achieve a specific goal.
Unfortunately, this point is a lot of work and a much longer term
goal, and I'm not really prepared or motivated to do all of it
myself. I'm just mentioning it here as a potential path toward
better documentation.
Now, for a proposal / call to action:
I intended to start working on the tutorial by myself soon anyway,
but I am more likely to be motivated and successful if someone
else cared about what I was working on. Would any of you more
experienced developers be willing to "shepherd" me through this
process, and help set up the test environment, etc.?
Thanks,
-shcv
- Re: How can we decrease the cognitive overhead for contributors?, (continued)
- Re: How can we decrease the cognitive overhead for contributors?, Sarthak Shah, 2023/09/14
- Re: How can we decrease the cognitive overhead for contributors?, Simon Tournier, 2023/09/15
- Re: How can we decrease the cognitive overhead for contributors?, MSavoritias, 2023/09/13
- Re: How can we decrease the cognitive overhead for contributors?, Imran Iqbal, 2023/09/22
- Re: How can we decrease the cognitive overhead for contributors?, Katherine Cox-Buday, 2023/09/22
- Re: How can we decrease the cognitive overhead for contributors?, Ekaitz Zarraga, 2023/09/22
- Re: How can we decrease the cognitive overhead for contributors?, MSavoritias, 2023/09/22
- Re: How can we decrease the cognitive overhead for contributors?, Ekaitz Zarraga, 2023/09/22
- Re: Enabling contribution through documentation,
Samuel Christie <=
Re: How can we decrease the cognitive overhead for contributors?, David Larsson, 2023/09/04
Re: How can we decrease the cognitive overhead for contributors?, Ricardo Wurmus, 2023/09/04
Re: How can we decrease the cognitive overhead for contributors?, Maxim Cournoyer, 2023/09/04
Re: How can we decrease the cognitive overhead for contributors?, Simon Tournier, 2023/09/05
Re: How can we decrease the cognitive overhead for contributors?, Simon Tournier, 2023/09/05