[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Trolltech GPL violation?

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

> 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

> (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

Reply to: