Subject: [bug#68577] [PATCH 1/2] gnu: icecat: Improve inheritance.

From: Clément Lassieur <[email-masked]>
Date: Wed, 07 Feb 2024 16:52:22 +0100

On Sat, Feb 03 2024, Mark H Weaver wrote:

> Hi André,
>
> First, let me say that I appreciate you and your contributions to Guix.
> I'm sorry that my message made you feel badly.  That's not an apology,
> but rather a sincere feeling of sadness that your feelings were hurt.
>
> André Batista <[email-masked]> writes:
>
>> seg 22 jan 2024 às 01:09:21 (1705896561), [email-masked] enviou:
>>> Hi Clément,
>>> 
>>> I see now that in November, you added 'torbrowser', which inherits from
>>> 'icecat-minimal'.
>>> 
>>> > commit 756ba0429e84ee0f8ce30484439b78c00c61d286
>>> > Author: Clément Lassieur <[email-masked]>
>>> > Date:   Sun Nov 12 02:23:27 2023 +0100
>>> > 
>>> >     gnu: Add torbrowser.
>>> >     
>>> >     * gnu/packages/tor.scm (torbrowser): New variable.
>>> >     (torbrowser-assets): New variable.
>>> >     * gnu/packages/browser-extensions.scm (noscript): New variable.
>>> >     (noscript/icecat): New variable.
>>> >     
>>> >     Co-authored-by: André Batista <[email-masked]>
>>> >     Change-Id: I73dc53905e4a028108bb34aae07e44256cf16c85
>>> 
>>> Did you consult me on this change?  I don't remember seeing anything
>>> about this in my mailbox.
>
> Please note that this was simply a question, and not a rhetorical one.
> I asked the question because I do not want to assume that my failure to
> see an email implies that it was not sent to me.  Any email can be lost
> due to spam filters, a man-in-the-middle who wishes to prevent delivery,
> or because the recipient overlooks it among the torrent of (mostly junk)
> mail that many of us receive.
>
>>> This change concerns me, because it compels me to coordinate with you
>>> when making nontrivial IceCat updates.  As things stand now, it seems
>>> that the 'icecat' and 'torbrowser' packages must be updated together,
>>> in lock step.
>>> 
>>> Also, do 'torbrowser' and 'mullvad' both comply with the requirements of
>>> the GNU FSDG?  For example, do they support EME?  Do they steer the user
>>> to nonfree software, e.g. nonfree addons.
>>
>> Considering I was cc'ed and part of the thread that led to that patch,
>> I'll consider myself invited to give a piece of my mind on your
>> comments.
>
> I'm glad that you did.  It is far better than letting unspoken feelings
> fester indefinitely.  I'm sorry that I was too overloaded to respond
> sooner.
>
>> First things first: when I sent the very first version of this patch, I
>> didn't use inheritance anywhere and it was actually suggested to me as
>> an improvement over what I had done[1].
> [...]
>> 1. https://lists.gnu.org/archive/html/guix-patches/2020-09/msg00261.html
>
> I looked at the messages in that thread from people other than you, but
> I was unable to find any suggestion to use inheritance.  Can you point
> to the specific message where inheritance was suggested?
>
> What I do see is a suggestion by Ludovic to "think of ways to factorize
> code with IceCat".  I agree with that suggestion, but not with the use
> of inheritance.  Instead, I suggest creating a new (guix build icecat)
> module, and moving some of the code from the build phases of IceCat into
> Scheme procedures placed within that module.  Of course, please CC me on
> any proposals along those lines.
>
>> Looking back, it is true I should have probably known better and have you
>> cc'ed right from the start. My code was heavily based on / similar to
>> Icecat's package definition and so it made sense to avoid duplication.
>> I didn't know and did not care to look who were the contributors to
>> Icecat's definition. I see now that I was careless and that my behaviour
>> could be seen as disrespectful. No disrespect was intended, but I
>> certainly could have done better and I do apologize for my shortcomings.
>
> For what it's worth, I don't believe that you were "careless" or
> "disrespectful", nor do I think that an apology is warranted here.
> As Clément correctly pointed out, I was not listed as a member of the
> mozilla team, and that reason alone makes it understandable that I would
> be overlooked.
>
> FYI, I've just recently added myself to the 'mozilla' team.
>
>> Now, do you believe me when I say that there was no ill will towards you
>> or others?
>
> Yes, and I never believed otherwise.  I have neither perceived ill will
> from, nor felt ill will towards, you or Clément.
>
>> I ask this because your last comments strike me on the opposite sense.
>> Risking to add insult to injury, but in the hopes of gaining your help,
>> I'd say that your comments appear to be assuming ill intention on our
>> part towards you and somewhat belittle you at the same time.
>
> I made no such assumption.
>
>> Why do you assume to be compelled to do anything if you were not even
>> cc'ed? As things stand, my assumption here is that the burden would be
>> on us to either ask you directly or to keep a close eye on any changes
>> done to Icecat. IMO, you certainly wouldn't be to blame if you changed
>> something on Icecat and torbrowser/mullvad/librewolf had some issue. We
>> would.
>
> I would not feel compelled *by you*, but rather as an unintended
> consequence of your actions, due to my own desire to not break other
> packages while updating IceCat.
>
>> On the other hand, would it really be that much of added work if we were
>> to ask you to copy us when proposing some changes to Icecat? Would it be
>> presumptuous or forceful to ask that?
>
> The problem is partly due to my own (admittedly suboptimal) tendency to
> procastinate performing major IceCat updates until shortly before the
> previous ESR branch reaches end-of-life.  These major updates, which
> occur approximately once per year, usually require substantial changes
> to the IceCat package definition.  These changes are likely to break any
> other packages that inherit from the IceCat package, unless all of the
> inheriting packages are updated in lock-step within a single batch of
> commits.
>
> Theoretically, there is a window of 2-3 months when these major IceCat
> updates could be done, and therefore it would theoretically be possible
> to coordinate a lock-step update of IceCat, TorBrowser, and Mullvad at
> the same time.  However, this would be an added burden on me, and I'm
> unwilling to commit to doing this.
>
>> More than that, it suprises me that after discovering these threads and
>> having a good amount of knowledge on building Icecat you've decided to
>> just lash out on us, instead of trying to be of help, reviewing the
>> proposed patches or letting we learn from our short-sightedness the hard
>> way.
>
> This idea that I "lashed out" at you is unsupported by my actual words.
> I think that you have made many assumptions about what I felt about you,
> when in fact I merely asked a question, and then proceeded to explain
> why the changes created a problem for me.
>
> I do not deny that I was *mildly* displeased at not being informed in
> advance about the changes you made.  Of course, I expect to be CC'd on
> future updates that relate to the IceCat package, including any changes
> that could add more burdens on me when modifying the IceCat package,
> given that I feel a responsibility to try my best to avoid breaking
> other packages.  However, I do not fault you in any way.
>
> Anyway: thanks again, André and Clément, for your contributions to Guix.
> I think well of you both, and I hope that this message will help to
> clear up any misunderstandings between us.

Thank you Mark for this message.  I was a bit rude in the one I sent you
just before (I indeed thought your question was rhetorical); for this I
apologize.  I hope we can work together to continue giving Guix high
quality web browsers, striving for privacy and freedom.

Kind regards,
Clément