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