On Mon, Jan 02, 2006 at 10:37:47AM -0500, Glenn Maynard wrote: > > > "The source code for a work means the preferred form of the work for > > > making modifications to it. For an executable work, complete source > > > code means all the source code for all modules it contains, plus any > > > associated interface definition files, plus the scripts used to > > ^^^^^^^^^^^^^^^^^^^^^^^^ > > > control compilation and installation of the executable." > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > > > > (If there's some other rationale for "the GPL explicitly includes such tools > > > as 'source'", I missed it.) > > > > I was referencing the ^^^ed part. That sentence reads to me as 'the > > build system', and such a tool smells like part of the build system. > > It doesn't say "the build system". It says "the scripts used to control > compilation". Makefiles, linker scripts, autoconf templates. Shell scripts that generate makefiles. Packaging. Perl scripts that generate C source. Scripts that convert C source into HTML documentation. It's all the same stuff. Unless you would care to offer an unambiguous distinction between these based on the text quoted above? > If it was > meant to include compiler-like tools, it would say "the compiler used to > build the executable", but it clearly avoids that. If this was true then the next sentence would not say this: However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. Note that it explicitly says 'compiler' here. This quite clearly indicates that the previous sentence is intended to apply to compilers, kernels, and so on - otherwise this would not be here. The entire purpose of the 'operating system' exception is to prevent the build-system clause from being too onerous and forcing you to provide gcc. > (For good reason: > compilers are *not* part of a program's source code, and the GPL's > definition of the term tries to be in line with reality--with more success > than most.) No. If you say that any 'compiler' is exempt then there is a large hole, whereby you create a secret compiler that generates proprietary code, for which the 'source' is undisclosed since it's part of the compiler (sounds unrealistic? it's more or less how game console development kits used to work - nowadays they do it in hardware instead). The GPL deliberately includes compilers not covered by the exception in order to close this hole. This *was* intentional. The GPL's definition of 'source' is approximately 'whatever you need in order to modify the program' translated into legalese. It is based on the FSF's four freedoms, not some notion of 'reality'. -- .''`. ** Debian GNU/Linux ** | Andrew Suffield : :' : http://www.debian.org/ | `. `' | `- -><- |
Attachment:
signature.asc
Description: Digital signature