Subject: bug#57399: etiquette / GPL question

From: Terence Kelly <[email-masked]>
Date: Wed, 24 Aug 2022 23:55:17 -0400 (EDT)

Hi,

I'm preparing a publication about a software tool (call it the "Munger"), 
and I would like to use GNU grep as an example of how the Munger can be 
used.

I'm writing to ask how to address the requirements of GPL in the context 
of my somewhat unusual undertaking.  I want to obey the letter & spirit of 
the GPL and to avoid annoying the GNU grep maintainers.  I also want to 
keep things as simple as possible and minimize fuss & rigmarole for my 
readers.  There might be a tension between these goals.

In the absence of any legal or etiquette requirements whatsoever, the 
simplest thing I could do is:

(Plan Zero)  Write a little shell script that (a) downloads the grep-3.7 
tarball, (b) unpacks it, (c) applies a small patch to a single .c source 
file, which adds roughly ten new lines of code, (d) builds the grep 
executable by calling ./configure, make, and make check, (e) applies my 
stand-alone general-purpose Munger tool to the grep executable, and (f) 
runs the resulting "munged" executable to show how my Munger tool changes 
the behavior of grep.

I'm happy to apply GPL to the script described above.  My reading of GPL 
is that a stand-alone general-purpose tool like my Munger need not be 
GPL'd merely because it touches the grep executable.  (I might apply a GNU 
license such as Affero to the Munger tool anyway; I haven't decided yet.)

I'd also be happy to arrange for the patch applied in step (c) above to 
insert a notice that the affected .c source file has been modified.

I'd like to avoid having to distribute a large volume of material, e.g., a 
tarball that is nearly identical to the official grep-3.7 tarball.  The 
Plan Zero approach sketched above --- a small script that applies a small 
patch --- achieves this goal.

I'd also like to minimize the changes to the official grep distribution. 
If you insist, my script could patch several files (such as README, 
AUTHORS, INSTALL, etc.) to insert notices that one file of the original 
source has been modified.  This seems like overkill to me, and it feels 
like a tail wagging a dog.  Again, the only change I'm making is adding 
roughly ten lines of code to a single source file.

I don't want to require my readers to use git or its hub, for three 
reasons:  Lately FSF has been discouraging Free Software developers from 
using GitHub, I don't like git, and a substantial fraction of my readers 
don't like and/or can't use git.

Please let me know how I might accomplish my purpose without offending 
you.  And thanks for writing and maintaining GNU grep, which I have used 
every working day of my life for the past thirty years.

Thank you.

-- Terence Kelly