Subject: Re: [bug#71697] [PATCH v3 2/2] scripts: lint: Honor package property to exclude checkers.

From: Greg Hogan <[email-masked]>
Date: Thu, 25 Jul 2024 11:19:08 -0400

On Fri, Jul 12, 2024 at 1:22 PM Simon Tournier <[email-masked]> wrote:
>
> Hi Greg,
>
> On Thu, 27 Jun 2024 at 12:38, Greg Hogan <[email-masked]> wrote:
>
> > If this is the best use case for a spurious feature request then I
> > find this a dangerous addition to the project.
>
> Sorry, I do not see the danger.  What I see is the same policy for the
> project – nothing is changed – and the patch set provides an helper for
> third-party channels outside the project.

Please allow me to preface my response by thanking you for your
contributions to the project, and to thank all of the many illustrious
Guix contributors in this thread. There is certainly value in this
feature request and my only care is for consideration of the
implementation.

> When developing or maintaining a third-party channel outside the
> project, one might systematically run:
>
>     guix lint -L . -x refresh,github-urls foobar
>
> because of some reasons of ’foobar’.  I do not see where it is dangerous
> to also have the alternative to configure this exclusion at the package
> level definition.

In addition to adding GUIX_LINT_OPTIONS (modeled on
GUIX_BUILD_OPTIONS) could we extend the exclusions to allow
package-specific definitions as with package transformations? For
example, GUIX_LINT_OPTIONS="--exclude=archival,home-page=mypackage",
which would disable archival for all packages but the home-page check
only for "mypackage".

> >                                                Those denigrading and
> > demanding that Guix pressure partner projects to restrict the use of
> > free software are unlikely to be content adding these flags to their
> > private packages as may exist.
>
> About pressure, I will not rehash here what had been said at length
> elsewhere. :-)  Let me clarify about “restrict”.
>
> For sure, I agree that by definition of free software, one cannot
> restrict its usage.  The key point here seems between a right and an
> obligation.  One has the right to modify and/or share but no obligation;
> it’s still free software. :-)

IANAL but I do not believe this to be the case. The LICENSE does not
apply to or restrict the developer's use of the software, only the
recipient. If the software has not been distributed then it cannot be
considered free software.

> Therefore, if one uses Guix to develop packages, it’s up to them to
> decide how they want to share their developments on free software.
> However, we have the right to use these developments how we want –
> limited by what the license allows.

Guix is restricted by the GNU FSDG
[https://www.gnu.org/distros/free-system-distribution-guidelines.html].
Are the third-party channels referenced above "committed to only
including free software"?

> All in all, I do not see the danger. :-)
>
> Cheers,
> simon