unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
To: Matt <matt@excalamus.com>
Cc: "Maxim Cournoyer" <maxim.cournoyer@gmail.com>,
	 "Christian Miller" <christian.miller@dadoes.de>,
	 "guix-devel" <guix-devel@gnu.org>,
	"Josselin Poiret" <dev@jpoiret.xyz>
Subject: Re: doc: installation: fix ~root confusion (was Re: doc: Removing much of Binary Installation)
Date: Sat, 16 Mar 2024 15:05:13 +0100	[thread overview]
Message-ID: <87zfuynug6.fsf@pelzflorian.de> (raw)
In-Reply-To: <18e46e0150a.126718be4584704.7946677375549431621@excalamus.com> (matt@excalamus.com's message of "Sat, 16 Mar 2024 11:47:54 +0100")

Hello Matt and thank you for your precise wording.  You have made clear
the differences:

Matt <matt@excalamus.com> writes:
> There are several actions which we have deferred and other topics
> which still need to be addressed, such as those raised by Vagrant and
> Suhail.  My hope is to 1) resolve and merge this immediate patch, as
> we appear to be converging on a consensus, 2) discuss how we could
> better handle documentation changes than how I've handled them here
> (that is, in one ever evolving diff),

I think the diff was quite appropriate.  You could make a patch via “git
format-patch” or “git send-email”, which would include a commit message
and which could include a move of sections 2.2 and 2.3 to the
contributing.texi.  But it is not necessary for documentation changes.


> 3) compile a list of deferred
> actions, 4) compile a list of deferred topics, and 5) address points 3
> and 4 according to 2.
>
> ---- On Mon, 11 Mar 2024 16:54:01 +0100  pelzflorian (Florian Pelz)  wrote ---
>> Yes, however the removal means that we should move the sections
>>
>> * 2.2 Requirements
>> * 2.3 Running the Test Suite
>>
>> to the Contributing manual in doc/contributing.texi.  WDYT?  You said,
>> it could be a separate discussion, but in my opinion it would be part of
>> the same patch.
>
> I was thinking of the opposite, of moving "Building from Git" into
> Installation.  What you say makes more sense and I agree.  Since the
> suggested patch is already quite complex, I have not added moving
> Sections 2.2 and 2.3 to the changes.  I propose we make the move in a
> separate commit.

Yes, it should probably be a separate commit, to make it possible to
revert it separately.


>> > +@cindex foreign distro
>> > +@cindex Guix System
>>
>> “@cindex Guix System” is inappropriate, because instructions on Guix
>> System are not here.
>
> Removed.  Good catch!
>
>> > +You can install the Guix package management tool on top of an existing
>> > +GNU/Linux or GNU/Hurd system@footnote{Currently only the Linux-libre
>> > +kernel is fully supported. […]
>>
>> No.
>>
>> First of all, using guix-install.sh as per your instructions, one
>> installs the Guix distribution *and* package management tool.  Either
>> say “You can install the Guix package management tool and distribution”
>> or “You can install Guix”.
>
> I'm afraid I don't follow.  Where do you see the suggested changes
> confusing the installation process for Guix as a distribution and Guix
> as a package management tool?
>
> The sentence you quote is the suggested first sentence for the Chapter
> 2: Installation.  The complete sentence reads,
>
> "You can install the Guix package management tool on top of an
> existing GNU/Linux or GNU/Hurd system(1), referred to as a "foreign
> distro", or as a standalone operating system distribution, the "Guix
> System"."
>
> It literally says Guix is a package manager or a distribution.

Precisely this terminology is the issue.  Nix is a package manager;
Nixpkgs is a distribution.  For Guix, Guix is both a package manager and
distribution.  Guix System is not a distribution in this sense; Guix is
the distribution.  I am aware that some people expect distribution to
mean a self-sufficient operating system, but we should not subscribe to
one side of terminology.  (Actually, the term operating system is
complex as well, for example GNU is an operating system and the people
from Robot Operating System call ROS an operating system.)

I would not address Hurd here at all.  Hurd support would be important
and is promising, but documentation for it should come after it works on
more than a Childhurd.



> No
> mention of 'guix-install.sh' is made on that page.

I wanted to give an example what I mean, not a suggestion.


>
> The current "introduction" to Chapter 2: Installation is this:
>
> "Note: We recommend the use of this <shell installer script> to
> install Guix on top of a running GNU/Linux system, thereafter called a
> foreign distro. The script automates the download, installation, and
> initial configuration of Guix. It should be run as the root user."
>
> https://guix.gnu.org/en/manual/devel/en/html_node/Installation.html
>
> Maybe the diff didn't apply correctly?  Maybe it's confusing how the
> Texinfo syntax puts the footnote markup in the middle of the source
> sentence, even though footnotes render at the bottom of the page?
>
>> Next, I believe Guix cannot currently be built on existing GNU/Hurd
>> systems, because guile-fibers does not work.  I do not really know
>> enough, but I would not mention Hurd support.
>
> The are two issues here, what is said and what should be said.
>
> Regarding what is said, the section we're talking about is for
> installing not building.  You *can* install the Guix package
> management tool on top of an existing GNU/Hurd system.

Probably a guix pack of the guix package would run, but Debian’s
guile-fibers is not accepted, if I don’t misunderstand.


> […]
>> >> Similarly, IMO the nuances are more appropriate in the old wording
>> >> “For Debian or a derivative such as Ubuntu,” rather than your change
>> >> “For Debian and Ubuntu-based systems”.
>> >
>> > The current wording is, "If you're running Debian or a derivative such
>> > as Ubuntu..."  None of the suggested changes include the wording you
>> > give.
>> >
>> > What are the nuances?  If they matter, we should probably make them explicit.
>>
>> The nuance is that Ubuntu is a derivative of Debian.  It can be
>> bootstrapped with Debian’s dpkg, although I did not follow a recent
>> e-mail thread on how to do this from a Guix-provided dpkg.
>
> Unless there's something about this nuance which directly affects the
> installation process, I don't think the distinction warrants mention.
>
> I opted to ignore the distinction and use "Debian and Ubuntu-based
> systems" because many popular distros, such as Ubuntu, Linux Mint,
> Zorin OS, Elementary OS, Linux Lite, and Pop!_OS, are known for being
> "based on Ubuntu."  The relevant information for users of these
> systems is not that they're derivatives of Debian, it's that this is
> the installation process for such systems.

Ubuntu should not get the credits for what Debian is doing.  The current
wording “Debian or a derivative such as Ubuntu” is fairer and equally
clear.


>> > +@quotation Note
>> > +By default, binary installations of Guix build @emph{everything} from
>> > +source.  This makes each installation and upgrade very expensive.
>> > +@xref{On Trusting Binaries} for a discussion of why this is the default.
>> > […]
>> > -
>> > -@quotation Note
>> > -If you do not enable substitutes, Guix will end up building
>> > -@emph{everything} from source on your machine, making each installation
>> > -and upgrade very expensive.  @xref{On Trusting Binaries}, for a
>> > -discussion of reasons why one might want do disable substitutes.
>> >  @end quotation
>>
>> Better not change the wording?  I believe enabling substitutes is not
>> the default.
>
> My assumption is that the vast majority of readers are not installing
> Guix on distros whose default is to compile from source.  The concept
> and jargon of substitutes, let alone the idea of compiling from
> source, is likely completely unknown to most readers.  Readers likely
> expect, what we would call, substitutes to be enabled.
>
> As far as I understand, the default behavior is opposite what most
> readers would expect: substitutes are *not* enabled by default for
> binary installations of Guix.
>
> The suggested wording avoids the jargon of "substitutes" in favor of
> simpler language which directly addresses what the reader likely cares
> about: the default Guix behavior is to compile from source which takes
> a long time.  It also frames the discussion of "On Trusting Binaries"
> from the perspective of "the expensive default was decided by careful
> consideration."  The current wording, "why one might want to disable
> substitutes," involves jargon (substitutes) and a negative (disable)
> which requires understanding what a substitute is, what the default
> is, and whether "disabling" is contrary to the default.  That
> complexity is unnecessary, as I believe the suggested changes
> demonstrate.

I just tried now and I had not expected the install script to say:

Permit downloading pre-built package binaries from the project's build
farms? [Y/n]

Getting substitutes unexpectedly is the default (also unlike what you
write) and users can complete the installation without knowing the term,
but they do get asked.

I agree with you now that the wording can be simplified, except it must
be rewritten to that disabling substitutes is an option that is not the
default.



>
> I think a valid critique of the suggested changes is "why say 'very
> expensive' instead of 'takes a long time'?"  The suggestion uses the
> phrase "very expensive" instead of "takes a long time" because 1)
> "very expensive" is the current language and 2) wall time is only one
> of several expenses; others are energy and CPU cycles.  This is a
> situation where I think it's okay to be non-specific.  The point is
> "the default behavior may seem undesirable" and the word "expensive"
> is typically considered undesirable.

I agree that “expensive” is sufficiently understandable.


>> IMHO The discussion about whether Upgrading Guix should recommend to
>> edit the systemd service of the Debian guix package is for a
>> separate second patch.
>
> Agreed.


Otherwise LGTM.  Could you send another diff?  Would a commit message
like this be okay:

doc: Simplify installation instructions.

* doc/guix.texi (Installation): Direct readers towards the installation
script.  Remove superfluous commentary.


Regards,
Florian


  reply	other threads:[~2024-03-16 14:06 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-14 15:01 Feedback of the GNU Guix manual Christian Miller
2024-01-15 17:52 ` Matt
2024-01-15 22:05   ` Christian Miller
2024-01-18 19:44   ` Maxim Cournoyer
2024-01-19 21:01     ` Matt
2024-01-26 23:59       ` Matt
2024-02-18 12:35         ` Matt
2024-02-18 13:55         ` Josselin Poiret
2024-02-21 18:27           ` Matt
2024-02-21 17:20         ` Maxim Cournoyer
2024-02-21 18:36           ` Matt
2024-02-23  2:46             ` Maxim Cournoyer
2024-02-23 18:37               ` Matt
2024-03-02 13:34                 ` Matt
2024-03-06 17:15                   ` doc: Removing much of Binary Installation (was: Feedback of the GNU Guix manual) pelzflorian (Florian Pelz)
2024-03-06 19:42                     ` Matt
2024-03-06 20:52                       ` doc: Removing much of Binary Installation Suhail Singh
2024-03-06 21:18                         ` Suhail Singh
2024-03-07 17:03                       ` pelzflorian (Florian Pelz)
2024-03-10 11:09                         ` doc: installation: fix ~root confusion (was Re: doc: Removing much of Binary Installation) Matt
2024-03-10 20:42                           ` Vagrant Cascadian
2024-03-10 23:21                             ` Suhail Singh
2024-03-11  1:58                               ` Vagrant Cascadian
2024-03-11  4:27                                 ` John Kehayias
2024-03-11 19:15                                   ` Vagrant Cascadian
2024-03-11 15:54                           ` pelzflorian (Florian Pelz)
2024-03-16 10:47                             ` Matt
2024-03-16 14:05                               ` pelzflorian (Florian Pelz) [this message]
2024-03-17 17:34                                 ` Ludovic Courtès
2024-03-06 21:29                     ` doc: Removing much of Binary Installation (was: Feedback of the GNU Guix manual) Vagrant Cascadian
2024-04-10 14:05 ` Fix grammar and markup (was " Matt
2024-04-11 12:59   ` Christian Miller
2024-04-12 14:41   ` pelzflorian (Florian Pelz)
2024-04-12 19:18     ` Matt
2024-04-13 12:02       ` pelzflorian (Florian Pelz)
2024-04-14  7:00       ` pelzflorian (Florian Pelz)
2024-04-19 14:09         ` Creating a documentation team? Ludovic Courtès
2024-04-19 15:32           ` Maxim Cournoyer
2024-04-19 17:32           ` pelzflorian (Florian Pelz)
2024-04-20  8:33           ` Matt
2024-05-01 20:34             ` Ludovic Courtès
2024-05-02  9:14               ` pelzflorian (Florian Pelz)
2024-04-12 20:16   ` Fix grammar and markup (was Re: Feedback of the GNU Guix manual) Ludovic Courtès
2024-04-13  8:22     ` Matt
2024-04-13 11:26       ` pelzflorian (Florian Pelz)
2024-04-14 14:50         ` Matt
2024-04-15 12:58           ` pelzflorian (Florian Pelz)
2024-04-15 18:39             ` Matt
2024-04-16  6:43               ` pelzflorian (Florian Pelz)
2024-04-18 17:15                 ` Matt
2024-04-19 20:56                   ` pelzflorian (Florian Pelz)
2024-04-20  8:36                     ` Matt
2024-04-17 18:08               ` Maxim Cournoyer
2024-04-22 18:25 ` [PATCH] Fix typo (Re: " Matt
2024-04-22 22:43   ` pelzflorian (Florian Pelz)
2024-05-07 19:41 ` [PATCH] doc: Clarify need to update search paths on foreign distro (was " Matt
2024-05-07 20:41   ` Vagrant Cascadian
2024-05-10  9:57     ` Matt
2024-05-11  8:14       ` pelzflorian (Florian Pelz)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zfuynug6.fsf@pelzflorian.de \
    --to=pelzflorian@pelzflorian.de \
    --cc=christian.miller@dadoes.de \
    --cc=dev@jpoiret.xyz \
    --cc=guix-devel@gnu.org \
    --cc=matt@excalamus.com \
    --cc=maxim.cournoyer@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).