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

Re: KDE not in Debian?



Marc van Leeuwen wrote:

> Andreas Pour <pour@mieterra.com> wrote:
>
> > I cannot see how your reading of the GPL allows linking with XFree code but
> > not Qt code. To date, nobody has explained this to me, except by claiming
> > that the XFree code can be licensed under the GPL. When I went through a
> > thorough exercise of showing why this in fact can't be done (my post bearing
> > Message-ID <38955EF0.52C053CC@mieterra.com>), nobody has responded, perhaps
> > because you agree that I am right.
>
> Did you read my rather long message "On interpreting licences"? Maybe that was
> no explicit response to the message you cited, but it does contain implicitly
> the explanation you talk about. Let me try to make this very clear.
>
> I do agree with you that XFree (source) code cannot be licensed under the GPL,
> in the sense that nobody can impose the conditions of the GPL on distribution
> of XFree (except its authors, who obviously don't). All identical copies of a
> work are the same intellectual property, and only the author gets to state
> conditions for permitting distribution.
>
> Now suppose we want to distribute an executable that is obtained from a GPL-ed
> application "App" compiled and statically linked against an XFree library.
> Separation of the X and App parts of the binary being impossible, both the
> GPL-author and XFree86 get to state conditions on its distribution. Those of
> XFree86 are easily met by including their licence in the binary distribution,
> obviously indicating that their conditions are not the complete set
> applicable. Now the GPL conditions, which are more subtle. The immediately
> relevant part reads
>
>     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;
>
> So we must accompany the binary with the sources of App and X (or do something
> equivalent by alternatives b,c). Moreover that distribution must be under the
> terms of GPL sections 1 and 2. Which does not mean that X be relicensed under
> GPL, but that the conditions sections 1 and 2 impose on distribution must be
> applied to this particular distribution of App and X (as I have said, a
> distributor can be bound by more conditions than stated in the licence of the
> product distributed, and for this X source distribution, that is the case).
>
> So we must see if the App and X sources can be so distributed, in order to
> allow our binary to be distributed. GPL section 1 says copyright notices must
> be conserved; that's OK. Section 2 says distribution of modifications or work
> [based on the Program] is subject to conditions, of which the most relevant
> one is
>
>     b) 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.
>
> Or "work" is the "complete... source code" of the binary, which we were
> required to distribute by section 3, so we _must_ consider it to be a single
> whole here; that whole contains App so that this clause applies. The
> explanation following indicates explicitly that the terms apply to "sections
> of the work [that] are not derived from the Program, and [that] can be
> reasonably considered independent and separate works in themselves" if (and
> only if) those are distributed "as part of a whole which is a work based on
> the Program". This is the case for the X sources we are going to distribute,
> as the complete source code for the binary obviously is a work based on App.
>
> So we must "cause the App and X sources to be licensed as a whole at no charge
> to all third parties under the terms of this License". I've already commented
> on the word "cause"; in the ordinary sense of "cause and effect" this is not
> possible: as distributor, being author of neither X nor App, we have no say in
> third party's rights to the App and X sources.

Right, but you forget about Section 7 of the GPL.  It says there that if for
whatever reason -- including patent law -- you cannot comply with the GPL, you
cannot redistribute/copy.  Since you cannot cause it to happen, you can't
redistribute:

    If, as a consequence of a court judgment or allegation of
    patent infringement or *for any other reason* (not limited
    to patent issues), conditions are imposed on you (whether
    by court order, *agreement* *or otherwise*) that contradict
    the conditions of this License, they do not excuse you from
    the conditions of this License. If you cannot distribute so
    as to satisfy simultaneously your obligations under this
    License *and any other pertinent obligations*, then as a
    consequence you may not distribute the Program at all.

Emphasis is mine.

> But those rights being fixed,
> we may check whether third parties do in fact receive the licence formulated
> in the GPL. For the App sources this is clear; for the X sources third parties
> in fact have licence to do anything the X licence permits, but since this
> includes all permissions given in the GPL, and not with stricter conditions,
> we may conclude that third parties receive full GPL licence with respect to
> the complete sources, and condition 2b is satisfied.

Everything was going so well until you hit this point.  In particular, the
statement "since [the X license] includes all permissions given in the GPL, and
not . . . stricter conditions, we may conclude that third parties receive full
GPL [license] with respect to the complete sources".

First of all, they do not in fact receive a full GPL license; if that were the
case, then they would not be able to make a binary-only distribution of the X
code which is distributed as part of the package, which they can under the X
license (which you agreed applies to the X code).

Second, the GPL makes no distinction between stricter/more lenient.  It says the
entire source code must be "licensed as a whole at no charge to all third parties
under the terms of this License".  It does not say "on terms no more restrictive
than this License", it says "under the terms of this License".  You cannot just
make up terms that aren't in there.

As I see it, the phrase "licensed as a whole at no charge to all third parties
under the terms of this License" can have only two possible meanings.  One is,
the whole must be licensed completely under the GPL.  We both agree that does not
work with XFree code.

The other is, only the terms that apply explicitly to the entire whole apply to
the "added" code.  One of those terms is in Section 2(b), which requires
distribution of the whole "at no charge to all third parties".  The other is in
Section 3(a), which requires distribution of the "complete corresponding
machine-readable source code" under Sections 1 and 2.  (Perhaps the first para.
of Section 2 has the same effect, that is less clear.)

> So we can distribute the
> full sources and therefore the binary and everybody is happy.

I'm not convinced :-{.

> N.B. This analysis does seem to imply that we have to accompany the binary
> with complete sources "as a whole", possibly by reference (3b,c). Strictly
> speaking it will not do to give individual references to App sources and X
> sources. But this is not going to cause any fundamental problems.

I don't follow you.

> Now you may do the same exercise for a GPL-ed QApp statically linked against
> Qt. I'll not do that, and people have already commented exhaustively on the
> differences between X and Qt licences. Let me just say that there are two
> places where differences creep in: the Qt licence has more conditions on
> distributing the binary (its section 6), and at the end we need to check that
> third parties who receive the complete sources have full GPL licence with
> respect to those complete sources. The first point is not a problem in my
> opinion because binary and full sources are public, and licensed at no cost
> for modification and redistribution to third parties (Qt's viral clause is
> easier that GPL's). The second point is what blocks: third parties who receive
> the full sources, with permissions for the Qt part defined by its licence,
> cannot be considered to have the full licence (permissions) described in the
> GPL for that part.

All of this would be pertinent if somehow the GPL distinguished between "more
restrictive" and "less restrictive", which it does not.

Ciao,

Andreas


Reply to: