On Mon, Jun 02, 2025 at 12:12:47PM -0400, Nick Bowler wrote: > On Sun, Jun 01, 2025 at 06:48:38PM -0500, Bob Friesenhahn wrote: > > It seems a shame that a distribution tarball will lack a source file > > due to makefile build rules. Build rules are a simple technical issue, > > which have been solved before, and are even already supported by > > Automake. > > I agree wholeheartedly. The bootstrap script forms part of the > corresponding source code for configure and should definitely be > included in the distribution. > > Automake is distributed under the terms of the GPL version 2 or any > later version. The configure script included in the tar archive > unquestionably is object code or executable form and the version 2 of > the GPL requires that whenever anyone distributes object code, they must > ALSO distribute "complete source code ... plus scripts used to control > compilation" which unquestionably includes the bootstrap script. > Version 3 of the GPL has very similar requirements.
Here's the text from GPLv3: The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. So a bootstrap script could meet the criteria of being "Corresponding Source", but it would depend on what was in the script. Usually, generating the configure script (for example) can be done with a single command-line invocation of "autoconf" or "autoreconf". It would not be necessary to distribute a single-line bootstrap script that simply called "autoreconf". Distributing configure.ac and any other source files would be enough. In that case, what was distributed was self-contained and had all the human-legible source code required to "generate, install, run and modify" the work. I'd also argue that mere usefulness is not enough to make something part of the Corresponding Source. Some might find a bootstrap script useful just as some may find the entire git history useful for development. However, removing either and distributing the result is not necessarily a licence violation. If the bootstrap script is a more complicated program that is necessary for the regeneration of files such as 'configure' and 'Makefile.in', and users would find it difficult to do this correctly by running commands themselves, then it can be argued that the bootstrap prrogram is part of the Corresponding Source. (It is possible that Automake itself, as a GNU project copyrighted by the Free Software Foundation, cannot violate the copyrights of the Free Software Foundation, just as a natural human being could not violate their own copyright - the bootstrap issue is more general though and of interest to non-GNU projects under the GPL.)