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

Re: Copyright lawyers analysis of Andreas Pour's Interpretation

On Fri, Feb 11, 2000 at 09:38:10PM +1100, Don Sanders wrote:
> On Thu, 10 Feb 2000, Joseph Carter wrote:
> > IMO the contentions lie solely in section 2 of the GPL.  Satisfy those
> > requirements and the license would be compatible with the GPL.
> I have made an honest effort to locate a thread where you explain "the
> contentions" but have been unable to do so. Could you please post the
> url of (an archived copy of) a message in such a thread.

Repeating myself will be a lot faster than wading through an ocean of

In (relatively) short:  The GPL requires that in order to distribute
binaries you must provide under the GPL's terms (someone else can (and
probably will) nitpick what that means) the full and complete source code
to that binary.  This includes all object files in cases of static linking
(that was never questioned) since the binary built from those objects
obviously contains code built from the source of all of the modules.

Before I continue, I should address the "special exception" clause
following 2(b) of the GPL..  Certain components of the system (things such
as libc for example) can be considered core system components.  Provided
that the binary based on GPL'd code is not distributed with these
components, you do not have to provide those components' source under the
GPL.  Any Linux distribution claiming to be providing some portions of KDE
legally under this exception is ignoring the exception's conditional, or
trying to mince words such that something pretty obviously not intended
can be considered allowable by the letter of the license.  That's also a
nitpick for another argument.

Now, the primary point of contention here in most people's vision is that
dynamic linking is different than static linking.  Since the code is never
actually part of the binary before it is run, the popular argument for the
legality of things such as kghostscript goes, distributing that binary is
not a violation of the GPL.  Justification for it being allowed at runtime
is that running the program is considered fair use and out of the GPL's
scope.  (That scope limitation is not in question, running a program you
have obtained legally IS fair use..)

Where I disagree with the above argument is in its premise: "The source
code for Qt is never actually part of the application before it is run."
Header files constitute source code, IMO.  They must be included into the
program during the compile process (same as for a static binary) in order
for the compiler to establish the API used by Qt.

Further, once the compile pass is complete and the resulting objects are
then linked together and dynamically with the Qt shared object, still more
of Qt is included in the resulting binary when Qt's ABI symbols are
including---a necessary step for the application to know later how to load
and access the Qt library.

These two inclusions of portions of Qt require that the source code for
those portions be released under the terms of the GPL.  Not all of Qt
would have to so be released of course since only those portions are
relevant to the distributed binary.  Unfortunately those portions are not
independant of the rest of the code and could not be made so easily.  (Not
to mentions EVEN MORE nitpicking would happen should that be done as to
whether or not that'd be enough...  I will simply say it is the minimum I
can see required)  So what you have is a case not much different in its
affect on the program when released in binary form.

If you are willing to accept that a static binary would be illegal to
distribute, then I believe a reasonable interpretation of my argument
based on the GPL's sections 1 through 3 would lend absolute support to the
conclusion that a dynamic linked binary is effectively than a static one
in such a case.

I also argue that the GPL does directly provide a solution to this sort of
license conflict in section 10: Contact the Copyright holder(s) of the GPL'd
work and arrange to use the code under another license.  That is in this
case, GPL+Qt exception clause, or some other arrangement all together.

KDE has not been doing this, but told me several months ago that they
would be doing it soon.

Joseph Carter <knghtbrd@debian.org>                 Debian Linux developer
http://tank.debian.net   GnuPG key  pub 1024D/DCF9DAB3  sub 2048g/3F9C2A43
http://www.debian.org    20F6 2261 F185 7A3E 79FC 44F9 8FF7 D7A3 DCF9 DAB3

"Nominal fee". What an ugly sentence. It's one of those things that
implies that if you have to ask, you can't afford it.
        -- Linus Torvalds

Attachment: pgp_5BXtVZZiE.pgp
Description: PGP signature

Reply to: