From: blake@reproduciblemedia.com
To: "Maxime Devos" <maximedevos@telenet.be>,
"Guix-devel" <guix-devel@gnu.org>
Subject: Re: v2: A proposal of a consistent set of clear rules and guidelines involving snippets, phases and patches.
Date: Wed, 10 Aug 2022 10:33:32 +0000 [thread overview]
Message-ID: <e26efe827f934ea875a1a5574f5105fa@reproduciblemedia.com> (raw)
In-Reply-To: <872bd3c4-956d-28fd-2608-1e546f76f334@telenet.be>
None of the edits I made were in criticism. In an academic context a proof reader would mark
almost all the same sentences for revision.
August 10, 2022 9:06 AM, "Maxime Devos" <maximedevos@telenet.be> wrote:
> On 10-08-2022 08:10, blake@reproduciblemedia.com wrote:
>
>> August 5, 2022 1:59 PM, "Maxime Devos" <maximedevos@telenet.be> wrote:
>> Technical grammatical correction: the software that Guix "has" is that in the monorepo,
>> but it "distributes" many packages. Thus:
>> --8<---------------cut here---------------start------------->8---
>> * In principle, Guix only distributes free software; when the upstream source contains some
>> non-free software, it should be removed such that ‘guix build --source’ returns the "freed"
>> source code rather than the unmodified upstream source (see: 28.4.1 Software Freedom).
>> --8<---------------cut here---------------end--------------->8---
>>> I consider the difference between referring to external source code by including a
>>> (snippet-sanitised) copy or downloading it from an URL + snippet-sanitising to be immaterial,
>>> except for space and I/O savings, so I consider "has" to include "distributes".
>>>
>>> While "distributes" is more specific, I really meant "has" here -- gnu/packages/patches/... and
>>> gnu/packages/*.scm must be free too, even if it is was not a distributed package (more concretely,
>>> see the bits about patches failing to remove non-freeness).
>>>
>>> [...]
>>
>> This is simply a grammatical error. "Has" is third person singular. While its common to speak
>> in such a way, it's not proper English, and including minor slang should be avoided in technical
>> writing. Otherwise inconsistency of presentation is guaranteed, causing serious overhead for
>> readers.
>
> "Has" is third person singular, and "Guix" is singular and not "I" or
> "you", so "has" seems appropriate here to me.
>
> I think that matching the singular/plural of the verb and the subject is
> common, standard and proper English and not slang.
>
> Going by previous replies, you seem to know English well, so I think
> there's some miscommunication here.
>
> (Even better would be to replace the rather generic ‘to have’ by
> something more specific, but I'll have to think a bit about what would
> be more specific yet not overly specific.)
>
>>> * The source of the package needs to correspond to what is actually built (i.e., act as the
>>> corresponding source), to fulfill our ethical and legal obligations.
>>
>> The [i.e.] addendum above is redundant, its better worded as:
>> --8<---------------cut here---------------start------------->8---
>> * The source of a package must correspond to what is actually built (i.e., there must be
>> an explicit relation between source code and the result of its build for all builds),
>> to fulfill our ethical and legal obligations.
>> --8<---------------cut here---------------end--------------->8---
>>> You write that the addendum is redundant, but then change the addendum by replacing a word in the
>>> addendum by a possible definition. I'm not following how that reduces redundancy, and it also
>>> appears to be contrary to the lack of verbosity that Andreas would like.
>>
>> Redundancy in language is information expressed more than once. Including redundant clauses
>> is bad grammar[1]
>>
>> You wrote:
>>> The source of the package needs to correspond to what is actually built (i.e., act as the
>>> corresponding source)
>>
>> You simply said the same thing twice. It is by definition, a redundant clause.
>>
>>> then change the addendum by replacing a word in the
>>> addendum by a possible definition.
>>
>> Elaboration doesnt necessarily add redunancy, it is useful for clarifying statements. I was
>> trying to infer your intention in adding the clause, to offer an example of how it could be
>> more clearly stated.
>>
>> [1] https://en.wikipedia.org/wiki/Redundancy_(linguistics)
>
> The purpose of 'i.e.' constructs is to state the same thing differently,
> to clarify matters (by elaboration or by redundancy). I don't see how
> redundancy is bad, though it can easily be overdone.
>
> I think that explicitly mentioning the term 'corresponding source'
> instead of only the more implicit 'source of X corresponds to Y',
> because the former 'corresponding source' has a very specific meaning
> (*) in free software, whereas the latter construct is more ambiguous.
>
> Compare with your definition 'there must be an explicit relation ...’,
> which loses a lot of nuance.
>
> (*) E.g., the GPL has a long and detailed definition: ‘The
> "Corresponding Source" for a work in object code form means all the
> source code needed to generate, install, [lots and lots of text]’.
>
> I can look into inserting a footnote linking to the GPL or copyleft.org
> or such, to make clear "corresponding source" is a term on its own and
> not just some description, for people that don't already know about
> "corresponding source".
>
>>> To make things more concrete and to resolve conflicts between the principles, a few cases have been
>>> worked out:
>>
>> To a newcomer (the target audience), the above may lead to confusion as to what wasn't already
>> concrete in the above descriptions, or what principles above come into conflict. There is a mild,
>> latent assumption that they are familiar with the Guix workflow, which should be avoided. Thus I
>> suggest:
>> --8<---------------cut here---------------start------------->8---
>> For the purpose of clarifying preferred practices and reducing friction in the review process
>> introduced by subjective variation, a few guidelines have been worked out:
>> --8<---------------cut here---------------end--------------->8---
>>> I don't see how a fancy wording amounting to essentially the same thing would reduce confusion or
>>> avoid latent assumptions.
>>
>> We have to consider how the audience will be experiencing the documentation. Are they reading it
>> like a novel, tuned in to each step of the process, or are they briefly approaching a paragraph
>> at a time, trying to quickly gather information for how to accomplish what they need so that they
>> can return to their work?
>>
>> While we should seek to reduce verbosity, which means reducing the inclusion of unnecessary
>> information, we should also be optimizing each paragraph to be self-contained snapshots, lacking
>> ambiguity. I addressed this in my Guix Days talk, and most people seemed to agree with that point.
>>
>>> To make things more concrete and to resolve conflicts between the principles a few cases have been
>>> worked out:
>>
>> No "principals" had yet been explicitly addressed.
>
> Assuming that principals = principles, those principles have already
> been mentioned above -- see the bullet list in 20.4.5. But yes, the
> conflicts have not yet been addressed and aren't anywhere.
>
>> If I stumble onto this sentence in isolation, I
>> will have have to ask: "What conflicts and principles?". By being explicit, we optimize towards a
>> "snapshot" that can be better understood in isolation.
>>
>> The term "subjective variation" may be obtuse. I chose it in order to concisely say "... and
>> reducing friction in the review process introduced by several autonomous individuals with
>> distinct programming practices and backgrounds working together on a collective project".
>>
>> I think it does the work, but others may disagree.
>
> I do not see how your wording is more explicit than mine.
>
> While I did not mention what the conflicts were, neither are you
> mentioning (in the text itself) what the "subjective variations" would be.
>
> I don't think you have to ask "What conflicts", as the more frequent
> cases have been worked out below, resolving the potential conflicts.
> There might be some conflicts remaining, but it's hard to write about
> conflicts of which I don't know that they exist, and if they are known
> to exist, I think it would be better to resolve the conflicts (with a
> few new worked-out cases) and that way remove them from existence.
>
> I'll have a try at rewording things in the next version to avoid
> implicitness and ambiguity, though I do not expect success.
>
> Additionally, I don't see why this sentence has to be understood in
> isolation but not the first two sentences ‘Snippets, phases and patches
> at times serve overlapping purposes. To decide between the three, there
> are a few guiding principles:’.
>
>>> [...]
>>> The purpose of the hypothetical patch or phase is to remove the non-freeness. As such, if the
>>> non-freeness wasn't removed, the patch or phase did not work, for the local meaning of "working".
>>> This is machine-independent (so no "it might work on their machine"), unless there is some kind of
>>> non-determinism, but I haven't ever noticed that happening for non-freeness removal code.
>>>
>>> For a patch, the problem is that a patch removing a non-free file automatically contains the
>>> non-free file (^), and we do not want anything non-free to appear in Guix even if only in its
>>> patches.
>>
>> Is better as:
>> --8<---------------cut here---------------start------------->8---
>> For patches, the issue is that a patch that removes a non-free file automatically contains the
>> non-free file (^), and we do not want any non-free software to be distributed with Guix, even
>> if it only appears within the context of a patch.
>> Concerning phases, the problem is that they do not influence the result of ‘guix build --source’.
>> --8<---------------cut here---------------end--------------->8---
>>> Why the change:
>>>
>>> * singular->plural (for: patch) -- is this to reduce the wordcount (avoid an 'a'), or for
>>> consistency, or ...?
>>> * passive->active (for: removing -> that removes) -- it becomes more wordy, so seems harder to
>>> follow for me
>>
>> "Removing" is here a gerund, which shouldn't be applied to objects. This is a grammatical error.
>> The sentences as a whole were adjusted to accommodate the correction.
>
> I don't know how this form of a verb would be classified in English. I
> don't see why "removing" shouldn't be applied to objects and I don't see
> how it is a grammatical error; that construct parses fine for me. It's a
> bogus construct in my native language but it seems to work well in English.
>
>>> * appear->be distributed -- more wordy, also things parts of Guix itself (and hence not
>>> distributed, except for "guix build guix" and "guix pull") should be free so I don't think being
>>> more specific makes things more precise.
>>
>> I'm not attached to using distributed over "appears", it just seems more explicit.
>
> I'll try looking for a more explicit word that is not too specific.
>
>>> * "only in its patches" -> "if it only appears within the context of a patch" -- more wordy, and
>>> more indirection
>>> * "For a phases" -> "Concerning phases" -- slightly less direct
>>
>> We're here discussing a general indefinite case, and thus the plural form is more proper.
>
> Is "general indefinite case" grammatical terminology or a description?
> For the former: I'm not finding any relevant search results.
>
> I am not following how you go from "a general indefinite case" to "thus
> the plural it is more proper". A plural seems to be more common in these
> situations and doesn't seem to cause trouble here so I think I'll switch
> to a plural in the next version, but I don't see how it is more proper.
>
>> [...]
>> more efficient use of time. Secondly, if the fix of a technical issue embeds a store file name,
>> then it has to be a phase. Otherwise, if the store file name were to be embedded in the source,
>>> Right, I already introduces a store file name, and that "otherwise" refers to the same store file
>>> name.
>>>
>>> "the store file name" is singular, so ^W^W -- nevermind, that's a subjunctive? I would go for the
>>> simpler "if the store file name were embedded in the source", dropping the 'to be' indirection.
>>
>> That sounds good to me.
>>
>>> Question: do you know how to decide between "if X were to be embedded"/"if X were embedded" and "if
>>> X was embedded"?
>>
>> 1st case: evokes future anterior; predication is contingent & retroactive. Should be used in
>> indeterminate circumstances.
>> 2nd case: predication is determined by the present. We can know at present whether x is currently
>> embedded.
>> 3rd case: predication is determined by the past. We can know whether x was *ever* embedded.
>>
>> Why?
>
> I was wondering if the 2nd case is considered correct grammar (even if
> maybe not appropriate in this particular case) or just a personal quirk.
> Also, when learning English grammar, it was more based on 'feel' than
> explicit rules and consequently it was hard to decide between (2) and (3).
>
> I don't know about (1), but (3) indeed doesn't seem appropriate here.
>
> I'll change it to (2) in the next version.
>
> Greetings,
> Maxime.
next prev parent reply other threads:[~2022-08-10 10:41 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-25 3:17 A proposal of a consistent set of clear rules and guidelines involving snippets, phases and patches Maxime Devos
2022-07-25 5:21 ` Julien Lepiller
2022-07-25 11:18 ` Maxime Devos
2022-07-25 11:37 ` Julien Lepiller
2022-08-04 8:51 ` Ludovic Courtès
2022-08-05 3:23 ` Philip McGrath
2022-08-05 8:13 ` Maxime Devos
2022-08-05 3:38 ` Philip McGrath
2022-08-05 8:09 ` Maxime Devos
2022-08-05 10:18 ` Maxime Devos
2022-08-05 13:59 ` v2: " Maxime Devos
2022-08-06 6:55 ` [PATCH] doc: Update contribution guidelines on patches, etc Liliana Marie Prikler
2022-08-06 6:55 ` [PATCH v2] " Liliana Marie Prikler
2022-09-02 13:12 ` Ludovic Courtès
2022-09-02 18:05 ` Maxime Devos
2022-09-05 9:47 ` Ludovic Courtès
2022-09-05 13:12 ` Maxime Devos
2022-09-05 16:05 ` Maxime Devos
2022-08-09 16:45 ` [PATCH] " Maxime Devos
2022-08-09 17:05 ` Liliana Marie Prikler
2022-08-09 18:19 ` Maxime Devos
2022-08-09 19:08 ` Liliana Marie Prikler
2022-08-09 20:30 ` Maxime Devos
2022-08-10 4:25 ` Liliana Marie Prikler
2022-08-09 20:40 ` Maxime Devos
2022-08-08 21:51 ` v2: A proposal of a consistent set of clear rules and guidelines involving snippets, phases and patches Andreas Enge
2022-08-09 15:06 ` Maxime Devos
2022-08-09 17:10 ` Andreas Enge
2022-09-05 13:03 ` Maxime Devos
2022-09-07 12:17 ` Andreas Enge
2022-09-07 18:08 ` Maxime Devos
2022-08-09 18:58 ` david larsson
2022-08-09 20:53 ` Maxime Devos
2022-08-10 11:23 ` david larsson
2022-08-05 16:59 ` blake
2022-08-09 16:30 ` Maxime Devos
2022-09-05 14:06 ` Maxime Devos
2022-08-10 6:10 ` blake
2022-08-10 9:06 ` Maxime Devos
2022-08-10 10:33 ` blake [this message]
2022-08-10 10:44 ` Maxime Devos
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e26efe827f934ea875a1a5574f5105fa@reproduciblemedia.com \
--to=blake@reproduciblemedia.com \
--cc=guix-devel@gnu.org \
--cc=maximedevos@telenet.be \
/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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.