Subject: Re: [bug#61950] [PATCH] lint: Add 'copyleft' checker.

From: Ludovic Courtès <[email-masked]>
Date: Mon, 06 Mar 2023 16:53:40 +0100

Hello!

Antero Mejr <[email-masked]> skribis:

> * guix/lint.scm (check-copyleft, input->package, report-copyleft-violation,
> linking-exception?, copyleft?): New procedures.
> (%local-checkers): Add 'copyleft' checker.
> * tests/lint.scm ("copyleft: incompatible copyleft input"): New tests.
> * doc/guix.texi (Invoking guix lint): Mention it.
> ---
> This new linter checks for copyleft license violations, where a copylefted
> package is linked by a package with an incompatible license.
> It found 2818 incompatible packages.
> For example, GNU readline (GPL) is being linked by 71 permissively
> licensed packages.

I’m skeptical for a couple of reasons:

  1. It’s entirely fine for, say, a BSD-3 package to link against
     Readline (GPLv3+).  The combination is effectively GPLv3+, but
     that’s perfectly valid legally speaking.

  2. It’s tempting to view devise a “licensing calculus” of sorts and
     automate assessments of licensing compatibility.  However, I think
     it’s overestimating both law and our own licensing annotations: how
     law applies in a specific case isn’t entirely clear until one goes
     to court, and our ‘license’ fields fail to represent all the
     relevant nuances anyway (subcomponents having different licenses,
     dual/multiple licensing, etc.).

But really, #1 is the main point here.

WDYT?

Ludo’.