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

Re: Copyright lawyers analysis of Andreas Pour's Interpretation



[This is really long.  Sorry.]

On Sun, Feb 13, 2000 at 03:16:47PM -0500, Andreas Pour wrote:
> 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.

This appears to be based on your interesting assertion that the complete
sources for the kghostview program is not a work under copyright law.
Which implies that the kghostview program itself is not a work under
copyright law.  Which implies that you've come up with a way of building
programs which is not constrained by copyright law.

[I'll point out a couple other points, below, where you lean on this
concept.]

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

/usr/bin/kghostview is an executable file which is part of a program.

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

I believe an issue here is that I'm talking about /usr/bin/kghostview
while you're talking about the kghostview sources?

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

This doesn't make sense to me.

I'm looking at a debian package for kdegraphics.  It includes a /usr/bin/kghostview
file, but no file named ghostview.  The depends line for that package looks like this:

Depends: kdelibs2g (>= 4:1.1.2-20000112-1.0), libc6 (>= 2.1.2), libjpeg62, libpng2, libqt1g (>= 1:1.45-0.3), libstdc++2.10, libungif3g (>= 3.0-2) | giflib3g (>= 3.0-5.2), libz1, xlib6g (>= 3.3.5)

Are you suggesting that this package is ill-formed?  That installing it
would somehow not result in a working copy of kghostview because ghostview
wouldn't have to be installed?

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

If you do not make arrangements to distribute the complete source code to
the program under the terms of the GPL, you have not satisfied section 3
of the GPL.  Thus, if it's not a copyrightable work, you can't satisfy
section 3 of the GPL and copyright law doesn't allow you to distribute
the program.

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

Please try to be as precise as possible.

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

If there are several choices of technology, which build functionally
equivalent programs from the same sources, and if neither GPL nor
Copyright Law grants any special significance to these technologies,
then legally these technologies are equivalent.

> > > 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're not talking about the source code for working copies of
kghostview then we have nothing to discuss.  I'm not interested
in the case where non-working copies of kghostview are distributed.
Debian certainly would have no reason to distribute non-working copies
of kghostview.

If you are talking about the source code for working copies of kghostview
then it's not clear to me why you claim that Qt source code is not a
part of the picture.

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

Ok, let's try it this way:

Remove all Troll licensed code (libraries, .h files) from your system.  Build 
a copy of kghostview.

If you really want to talk about this phantom, please build a copy of it
(or point me at someone who has) before claiming that it's relevant to
this discussion.

I'll assert that without Troll licensed code on the system, any
/usr/bin/kghostview that you build would be incompatible with one that
is built with appropriate Troll licensed code on your system.

> 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).

Actually, the .so files are also interface definition files in this case.  If you
don't believe me, try the experiment I outlined above (where you try building a
copy of kghostview without those files on your system).

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

You make a lot of points which have nothing to do with reality.  Let's stick
to cases which exist in the real universe.

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

My assertion is that distributing /usr/bin/kghostview and an implementation of
libqt.so.1 is an illegal act, and that therefore someone who uses a program
which contains these components is performing an illegal act.

Therefore, anyone who contributes to the process of distributing those two
pieces together may be liable for 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.

Ok, so what's the legal use of /usr/bin/kghostview?

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

The problem is that the program is not being distributed under terms that
comply with the GPL.  Talking about the use of the program is important
because that illustrates just what it is that's being distributed.

It's not legal to use a copy of a program which was obtained from 
someone who didn't have the right to distribute it.

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

This is an irrelevant tangent.  The DeCSS debate isn't about copyright
law, for the most part.

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

Your "step by step reading of the GPL" somehow managed to avoid quoting
any of the relevant phrases from section 3, while making claims which
would mean that copyright law doesn't apply to executable works in the
general case.

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

Section 3 of the GPL states:

   3. You may copy and distribute the Program (or a work based on it,
 under Section 2) in object code or executable form under the terms of
 Sections 1 and 2 above provided that you also do one of the following:

     a) Accompany it with the complete corresponding machine-readable
     source code, which must be distributed under the terms of Sections
     1 and 2 above on a medium customarily used for software interchange; or,

[b and c aren't interesting since they merely give options for how
the source code is distributed -- the terms remain the same].

Note that this requires that terms of the GPL be applied to the
distribution of the complete source code.

Section 0 of the GPL states: 

   0. This License applies to any program or other work which contains
 a notice placed by the copyright holder saying it may be distributed
 under the terms of this General Public License.  The "Program", below,
 refers to any such program or work, ...

Since terms of the GPL are applied to the distribution of the complete
source code, this means that that complete source code is an example of
what the GPL calls a "Program".  [And the sentence I chopped off goes
on to emphasize that this is really the case for works derived from
GPLed works.]

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

Are you stating that the complete source of the program can be distributed
outside of the terms of the GPL?

I understand that this is the case for kvt.  [These non-GPL terms would
require that kvt be placed in Debian's non-free.]

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

Are you claiming that it's possible to distribute a work under Sections
1 and 2 of the GPL while violating Section 0?

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

This indicates a very serious failure to understand copyright law.

Please read http://www4.law.cornell.edu/uscode/17/201.html, particularly
section (c).

The essential point here is that it is possible to own the copyright
on a collective work even though someone else owns the copyright on
components of that work.

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

You don't even understand that it's possible to copyright a collective
work.  I don't know why you think you're qualified to discuss copyright
law.

However, since it seems important to you, I'll run down the rest of that
message for you:

> What about the rest of Section 2? 2(a) is a notice provision:
> kghostview must comply with that. 2(a) does not apply to Qt source
> code for two reasons. First, Section 2(a) applies only to the
> "Program" and a "work based on a Program", so Qt is not implicated,
> being neither. Second, it only has requirements with respect to
> modified files. This refers to the modified files of the Program,
> since the Qt files are not modified (plus syntactically it is a
> back-reference to the "modifications" to the Program).

This is based on the false idea that the terms of the GPL do not
apply to the kghostview program.

This also appears to overlook the clause in Section 0 which states that
translation is an example of modification -- however, the idea that the
GPL doesn't apply would be sufficient cause to overlook this clause.
[I'm assuming that you understand enough of the english language to see
that compilation of the program is an example of translation.]

> Section 2(b) states:
> 
>     You must cause any work that you distribute or publish,
>     that in whole or in part contains or is derived from the
>     Program or any part thereof, to be licensed as a whole
>     at no charge to all third parties under the terms of this
>     License.
> 
> Again, this clearly applies to our hypothetical kghostview. It does
> not apply to the Qt source code, as that neither "contains" nor is it
> "derived from" "the Program or any part thereof" (the Program being
> ghostview).

This only works if the Qt source code is considered as an independent
work.  If you consider the complete source for the kghostview program
you must recognize that the kghostview program is derived from QPL
licensed code and GPL licensed code.

> However, since the binary itself is a "modification" of the Program,
> and it is statically linked with Qt, that is covered by Section 2(b).
> So the binary must be "licensed as a whole at no charge to all third
> parties under the terms of this License." Now, I've been through this
> analysis, and I won't repeat myself here. But to those that argue the
> entire GPL applies to Qt through this sentence, I wonder how it makes
> sense to apply the entire GPL to a binary.

Remember that the GPL applies to the binary plus the complete source
for that binary.  The binary is itself a modification of that source
-- however, the binary in itself is not the preferred form for making
modifications to the program.

> Section 2(c) is not, AFAIK, controversial, so I'll dispense with looking at that.
> 
> > as long as he:
> >
> >         * adds prominent notices about his changes
> >         * distributes it under terms 1 and 2 of the GPL
> >                 (under Andreas' interpretation people can't make binaries
> >                  based on his alterations)
> 
> I haven't noticed this limitation.

Note also that you haven't accepted that the terms of the GPL apply to the
complete source as a copyrightable work.

> >         * makes it display a note when run interactively.
> >
> > Unfortunately Alice doesn't have the right to give him this
> > permission, because she is only licensed to distribute Qt under the
> > QPL, so Bob may only ``make modifications to [Qt] and distribute
> > [his] modifications, in a form that is separate from [Qt]''.
> 
> Again, if you read the GPL to require distributing all linked
> libraries licensed under the GPL, you run into big problems with XFree
> code, as well as BSD code (though in that case it is not quite as
> obvious as in the XFree case).

This is only believable if you fail to recognize that a collective work
may bear a copyright which is independent of the copyrights on components
of that work.

-- 
Raul


Reply to: