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

Re: Copyright lawyers analysis of Andreas Pour's Interpretation



Raul Miller wrote:

> On Sat, Feb 12, 2000 at 03:28:43PM -0500, Andreas Pour wrote:

[ ... ]

>
> > So obviously Qt is not a "Program".
>
> I agree that Qt is not a "Program".
>
> > However, Section 2 of the GPL also refers to any "work based on the Program".
> > This term is also defined in Section 0 of the GPL to mean:
> >
> >     either the Program or any derivative work under
> >     copyright law: that is to say, a work containing the
> >     Program or a portion of it, either verbatim or with
> >     modifications and/or translated into another language.
>
> Note that this requirement is leading up to the following conclusion: that
> any work based on the Program is either:
>
> (a) undistributable, or
> (b) a "Program" in its own right.

Nope.

> > So, let's see if Qt meets that definition, in context of what appears
> > to be the most vexing example of a KDE program, kghostview (in point
> > of fact kghostview launches ghostview as a separate app and grabs its
> > window, but let's suppose for argument that it actually reproduced
> > ghostview code as part of it).
>
> Note that kghostview (or if you don't like kghostview, consider
> kscd, kdvi or kmidi) is an executable work.  And the GPL places some
> additional requirements on executable works.  I'll note in passing that
> you've inserted a parenthetical note in the above paragraph which isn't
> pertinent to this argument, yet which attempts to imply that these GPL
> requirements are somehow irrelevant.

Eh?

> I'll also point out that with kghostview there is no "ghostview app"
> which exists independently of kghostview -- the only way to use it is
> if you have Qt installed on your system.

Actually with kghostview there is -- perhaps it is easier to use another example.

> At least, that's the way it is
> in the 2000-1-13 build which I'm looking at.  So I'm doubly confused --
> is kghostview being rewritten?

Of course kghostview uses Qt.  The point is that kghostview does not use third party
GPL code -- i.e., it does not use "ghostview" code.  It simply starts ghostview as a
separate app and grabs the window, much like aKtion does for xanim.  Like I said,
perhaps it's better to look at a KDE app that actually incorporates GPL code from a
third party -- like kfloppy, I believe.

> > Is kghostview a derivative work of Qt? No. Why not? Looking
> > at the definition of derivative work in the Copyright Act
> > (http://www4.law.cornell.edu/uscode/17/101.html):
> >
> >     A ''derivative work'' is a work based upon one or more
> >     preexisting works, such as a translation, musical arrangement,
> >     dramatization, fictionalization, motion picture version, sound
> >     recording, art reproduction, abridgment, condensation, or any
> >     other form in which a work may be recast, transformed, or
> >     adapted. A work consisting of editorial revisions, annotations,
> >     elaborations, or other modifications which, as a whole, represent
> >     an original work of authorship, is a ''derivative work''.
> >
> > Now, how is kghostview "based upon" Qt (in the sense of "recast[ing],
> > transform[ing], or adapt[ing]" Qt)? It's totally separate code.
>
> For this argument to make sense, you must be considering only the
> kghostview source code, and not a working copy of kghostview.  But
> it doesn't make legal sense to consider these separately because

Perhaps you can read the entire e-mail before replying to it.  That would really help
:-).  I will skip these objections, since I consider the executable below.

[ ... ]

> > Now when you compile kghostview w/ Qt, then, at least in the case of a
> > statically-linked binary, Qt becomes subject to Section 2, by virtue
> > of Section 3 of the GPL. This is b/c Section 3 takes a different
> > approach then Section 2. Section 3 requires you to apply Section 2
> > to source code that is neither a "Program" nor a "work based on the
> > Program".
>
> Indeed, and the complete source code is itself a "work based on the Program".

That's wrong; the complete source code is not even a single "work", it's a number of
separate works.

> > It does this by requiring the distribution of the "complete
> > source code" to a binary. Thus, if you combine two distinct, separate
> > works into a binary, you need to distribute the source code to both.
>
> You've introduced this term "a binary".  The requirement in the GPL is the
> distribution of the "complete source code" to a program.

I am using binary as short-hand for "in object code or executable form", the language
used in Section 3.  Sorry if you find this confusing.

> Also, the GPL does not specify the technology used to build the program.

So?

> > So assuming Section 2 does apply to the distribution of Qt source
> > code when distributing kghostview under Section 3, what precise
> > requirements apply to it?
> >
> > First, the first sentence of Section 2 says:
> >
> >     You may modify your copy or copies of the Program or any portion
> >     of it, thus forming a work based on the Program, and copy and
> >     distribute such modifications or work under the terms of Section 1
> >     above, provided that you also meet all of these conditions:
> >
> > OK, kghostview has modified ghostview (the "Program"). But Qt source
> > code is still not part of the picture: it is neither the "Program"
> > (ghostview) nor "work based on the Program" (kghostview). So this
> > sentence does not apply to Qt source code (although the conditions
> > still may, I'll look at those in a bit).
>
> It's not clear to me why you claim that Qt source code is not a part of
> the picture.  Are you talking about working copies of kghostview or
> not?

No, I am not talking about the distributed executable in this context.  I am talking
about the source code, since that is what the GPL talks about -- Section 3 says you
have to distribute the "complete" *source code* under Sections 1 and 2.  So now I am
looking at Section 2.  This is a logical, step-by-step way to read a license to see
what the requirements are.  Are you talking about the GPL or not?

> If you are talking about working copies of kghostview then:
>
> (1) You must have used Troll header files during compilation, and

This is an interesting point.  You do have to use the header files during
compilation.  However, the header files are not included in the executable.  They are
used for type checking and the like.  You may have an argument with inline code used
in the header files, but even then I wonder if those short lines are copyrightable at
all.  I doubt it.

But in any event I address header files below.  In fact, I assume all of Qt source
code is included in the "complete source code" required to be distributed (even
though arguably you could say, in the dynamically-linked case, only the header files
-- which are "associated interface definition files" under Section 3 -- need be
included).

> (2) You must have Qt present with the copy of kghostview (or your
> copy will not be able to run).

You make a lot of points that have nothing to do with the GPL.  I am deconstructing
the GPL, let's stick to its language.

> When you run a copy of kghostview (I'm talking about a dynamically linked
> version here, since it's apparent that you are in the above paragraph),
> it incorporates into its virtual memory space a copy of libqt.

Which is why Section 3 applies to the combined work, and why I am going through the
analysis at all.

> Even if
> you pretend that the qt headers weren't used to build that copy of the
> executable, the principle of contributory infringement says that a person
> who enables copies to be made has some responsibility for those copies.

Except that the GPL does not limit "use" of a work, so there is no infringement by
the user, so there is no contributory infringement.  Before you can contribute to a
violation, there must *be* a violation.  Contributory infringement cases -- like the
Sony one decided by the U.S. Supreme Court -- rest on the assumption that the user is
doing something illegal.  You will note that Sony won its case b/c the Supreme Court
decided that there was *one* legitimate use for VCRs -- namely, "time-shifting"
watching programs, which the Supreme Court considered a "fair use" -- even though the
Supreme Court realized there were *many* illegitimate uses for VCRs.  But based on
that single legitimate use, Sony won the case (the plaintiffs having alleged
contributory infringement by Sony).  So as long as there is any legitimate use, there
is no contributory infringement.

But in point of fact you have not even shown a single infringement.  The user running
a combined Qt/KDE is not an infringement.  Section 0 of the GPL states:

    Activities other than copying, distribution and
    modification are not covered by this License;
    they are outside its scope.

So the GPL does not govern 'use'.  Hence 'use' is not an infringement; and even if
the GPL were to try to restrict that, "fair use" (UCITA may change this, of course)
allows the user to run KDE/Qt.

I wonder how you come out on the DeCSS debate.  Do you think that just b/c there is a
possible impermissible use of that technology the entire technology is contributory
infringement?

> > What about the statically-linked kghostview binary? That is a "work
> > based on the Program". What do I have to do to that? Well, distribute
> > my modifications under Section 1. Section 1 by its terms only applies
> > to source code, so it does not apply to the Qt binary.
>
> You seem to have left out the requirement that you distribute the complete
> source for the kghostview binary under the terms of the GPL.

No, I didn't, that's exactly what I looked at, step by step reading the GPL rather
than using proclamations that are unsupported by the language of the GPL.

>  And, from
> section 0, that means that the complete source for the kghostview binary
> is a "Program".

I guess you don't need any language in the GPL to support your position, this being
so obvious.  I guess it would be obvious if the requirement in Section 3 were to
distribute the complete source code licensed under the GPL, but it does not say that;
instead it says you have to distribute it in compliance with Sections 1 and 2.  So
naturally I took the radical step of actually looking at Sections 1 and 2 to see what
those requirements are, a step that you seem to magically subsume with a wave of your
wand under the requirement to "license" all the code under the GPL.

More to the point, if the entire source code were a "Program", Debian could not
distribute the Gimp, Gnome or any of the other X-linked apps which Debian distributes
either, since XFree is *not* licensed under the GPL (and for that matter libc is
*not* licensed under the GPL -- sure it has a conversion provision in Section 3 of
the LGPL, but that only applies if you change the header files -- has Debian done
this???? or is that an "acceptable" technical violation of extremely clear
requirements in the LGPL???).  But I guess consistency in interpretation does not
matter when you take the moral high ground . . . ..

> Since none of the remainder of your post addresses this issue, I see no
> point in addressing the remainder of your post.

Well, I anxiously await the day when you actually can support something you say.
You cut out the parts of my e-mail where I do this, then say I haven't done it.  I
can only conclude you are being disingenous.

Ciao,

Andreas


Reply to: