Re: On interpreting licences (was: KDE not in Debian?)

2000-02-15 Thread Marc van Leeuwen
On Mon, 14 Feb 2000 13:03:38 -0500, Raul Miller [EMAIL PROTECTED] wrote:

   Are you now claiming that it's legal to distribute kghostscript?
 
 On Mon, Feb 14, 2000 at 03:21:44PM +0100, Marc van Leeuwen wrote:  Yes,
 definitely, if you are distributing sources; from your remarks I  conclude
 that even you would agree to this. One could include scripts to  compile
 and link (say statically, just to get the worst case) those  sources onto a
 complete executable; since all the tools necessary to do  that could also
 be (and are in fact) legally distributed by the same  distributor, the
 effect is that this executable will be identical, bit by  bit, to an
 executable that the distributor could assemble. So the exact  same effect
 is achieved, although slightly less efficiently, as if the  distributor had
 directly distributed that executable file. But, we agree,  the latter would
 certainly not be permitted.
 
 If the exact same affect is achieved -- if no user intervention is required
 -- then there's no legal protection gained by automatically building the
 executables for the customer on their machine. You'd still be distributing
 executables, you'd just be using a different technology to deliver them. 
 [...] There's a difference between simply distributing GPLed sources and
 distributing the sources as a part of a system which automatically builds
 working executables. In the latter case it's pretty obvious that you are
 distributing executables.

In fact I wasn't necessarily thinking about generating the executables in a
100% automated way (although that might be a possibility), just about ensuring
that the executables will be 100% identical to what the distributor has.

But your remark reveals an interesting line of thought, one that would never
have occurred to me. It considers any inconvenience, caused to the recipients
by having to distribute sources, not as an inevitable by-product of having to
abide by the conditions of the licence, but rather as a condition that in and
by itself is necessary for the legality of the distribution. This raises the
further question as to how much inconvenience is necessary for that legality.

Obviously having to wait a couple of minutes for gcc to complete doing its
thing is not sufficient. Why, the user might even be enjoying a cappucino at
the same time! Would it suffice to have to click on a button labelled Compile
and install the program (some consider something similar sufficient to enter
into a legally binding contract, so why not)? Nah, too easy! Although you
would have to come dangerously close to your computer, you could manage to do
that without even putting down your cappucino. To have to type Y to a prompt
Do you want to install the program [y/N]? . Same difference! Having to type
make? Here I would personally put down my cup, but I guess with some
practice, it can still be done without; it's still too easy! Having to read
through a README file to find that the proper incantation is to type: I would
like to compile and install this program now, please. (exact spelling and
punctuation required, the README could be in pdf to prevent cheating by
cut-and-paste)? That ought to do it: even if you do manage to do that while
holding on to your cup, it would be cold by the time you finished.

Of course I'm being silly here. The real measure of inconvenience has nothing
to do with coffee. The inconvenience just should be great enough to allow the
conclusion therefore there is just no way that we can include KDE in Debian.
As long as conclusions are being used to find the arguments, no wonder people
can't ever seem to agree on those arguments.

  Now apart from distributing sources and distributing a statically linked
  executable, there are other methods to give users access to an executable,
  varying in the amount of work do be done at the recipients end. Offhand I
  can think of distributing compiled but unlinked object files, or
  distributing dynamically linked object files; maybe other possibilities
  exist as well.
 
 Please take a look at
 http://www.debian.org/Lists-Archives/debian-legal-0002/msg00211.html for a
 historical example of shipping unlinked object files.

I had almost cited that case (of NeXT and Objective C/gcc) in my original
message to show how opinions can vary in these matters, but had decided not to
do so because that case is dual to KDE/Qt (non-GPL on top of GPL rather than
GPL on top of non-GPL), and therefore does not quite match the example.

Marc van Leeuwen
Universite de Poitiers
http://wwwmathlabo.univ-poitiers.fr/~maavl/


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-15 Thread Raul Miller
On Tue, Feb 15, 2000 at 12:00:51PM +0100, Marc van Leeuwen wrote:
 But your remark reveals an interesting line of thought, one that would
 never have occurred to me. It considers any inconvenience, caused to
 the recipients by having to distribute sources, not as an inevitable
 by-product of having to abide by the conditions of the licence, but
 rather as a condition that in and by itself is necessary for the
 legality of the distribution. This raises the further question as to
 how much inconvenience is necessary for that legality.

It's not inconvenience that's relevant.

What's relevant is what the distributor intended to distribute, and what
decisions are available to the end user.

If the distributor intends to distribute a working copy of kghostview and
the end user has only one option -- which involves libqt -- in receiving
that working copy, in that case there's not much of a legal question
about what's going on.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-15 Thread Marc van Leeuwen
On Tue, 15 Feb 2000 08:10:57 -0500 Raul Miller [EMAIL PROTECTED] wrote:

 It's not inconvenience that's relevant.
 
 What's relevant is what the distributor intended to distribute, and what
 decisions are available to the end user.
 
 If the distributor intends to distribute a working copy of kghostview and
 the end user has only one option -- which involves libqt -- in receiving
 that working copy, in that case there's not much of a legal question
 about what's going on.

Do you mean that distributing sources of kghostview, not for the purpose of
literary enjoyment of reading the sources, and in practical absence of any
alternatives for libqt, would be equally illegal as distributing binaries,
even without automated building of exectables?

Marc van Leeuwen


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-15 Thread Raul Miller
On Tue, Feb 15, 2000 at 04:16:07PM +0100, Marc van Leeuwen wrote:
 Do you mean that distributing sources of kghostview, not for the purpose of
 literary enjoyment of reading the sources, and in practical absence of any
 alternatives for libqt, would be equally illegal as distributing binaries,
 even without automated building of exectables?

I can't say without knowing more of the specifics of the situation.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-14 Thread Marc van Leeuwen
On Fri, 11 Feb 2000 12:34:29 -0500, Raul Miller [EMAIL PROTECTED] wrote:

 On Fri, Feb 11, 2000 at 05:26:47PM +0100, Marc van Leeuwen wrote:
  Nobody in this discussion is claiming (as far as I can see) that
  by some subtle shuffling of pieces you can get a (composite) program
  from A to B without requiring permissions from all copyright owners.
 
 It seems to me that that's exactly what people are saying when they
 claim that it's legal to distribute kghostscript.
 
  The point is that the complex conditions in the licences, in partcular
  GPL, may lead to a situation where such permission may be obtained for
  some particular method of distribution, but not for some other method.
  For instance, you may distribute in source form (and under GPL) a
  GPL-ed an application that links to Qt (because then there is no
  requirement to distribute complete sources), while also distributing
  Qt (in source and binary) under QPL; the recipient could compile and
  link an executable program which does not happen to spring into
  existence, and which was the goal of distributing the GPL sources,
  yet which could not have been legally distributed directly.
 
 Certainly: it's only if you distribute executables or object code that
 there's any requirement to distribute the complete source for the program.
 
  I think you put forward yourself another example (a Solaris-linked
  GPL binary and Solaris itself), where the components might be legally
  distributed separately (assuming permission from Sun) but not
  together.
 
 Right: that was an example of a situation which takes advantage of the
 special exception in section 3 of the GPL.
 
  So please don't suggest any more that people are trying to evade
  copyright law when in fact they are trying (maybe by jumping through
  hoops) to abide by the conditions put forth in the licence(s).
 
 Are you now claiming that it's legal to distribute kghostscript?

Yes, definitely, if you are distributing sources; from your remarks I conclude
that even you would agree to this. One could include scripts to compile and
link (say statically, just to get the worst case) those sources onto a
complete executable; since all the tools necessary to do that could also be
(and are in fact) legally distributed by the same distributor, the effect is
that this executable will be identical, bit by bit, to an executable that the
distributor could assemble. So the exact same effect is achieved, although
slightly less efficiently, as if the distributor had directly distributed that
executable file. But, we agree, the latter would certainly not be permitted.

Probably your question was about another method of distribution than in source
form. But instead of diving for the umpteenth time into matters about which we
(and many others) have already amply demonstrated to have differences of
opinion, let me just restate that on which we do seem to agree. If our goal is
to give users access to an executable version of kghostscript, then there is a
reliable method of doing that (distributing sources) that satisfies all the
requirements in the relevant licences, while there is another method
(distributing the statically linked executable file directly) that does not
satisfy all requirements, in particular not those of the GPL. We arrived at
this conclusion not by trying to evade copyright law, but merely by reading
carefully the conditions of the GPL.

Now apart from distributing sources and distributing a statically linked
executable, there are other methods to give users access to an executable,
varying in the amount of work do be done at the recipients end. Offhand I can
think of distributing compiled but unlinked object files, or distributing
dynamically linked object files; maybe other possibilities exist as well.
Somewhere in this range of possibilities there is a dividing line between
legally possible and not legally possible. If you ask me where I personally
would put the line, then I would say: probably between the dynamically and the
statically linked files; I arrive at this conclusion not by general
considerations of copyright law, but by carefully reading the text of the GPL.
I will accept that differences of opinion can exist here, in particular since
it would seem that the GPL (and LGPL) was formulated without the distinction
between static and dynamic linking in mind, making it highly unlikely that it
was intended that one case be covered but the other not. But even if an
advocate of legally possible would give up the position of dynamically
linked executables (did anybody ever give up a position in this discussion?:-)
he could still maintain that of unlinked object files with fresh arguments
(such as: GPL 3 starts with You may copy... the Program... in object code OR
executable form and later For an executable work, complete source code
means... which apparently does not apply to unlinked object code). And then I
don't even mention the possibilities of actually modifying the kghostscript

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-14 Thread Raul Miller
   So please don't suggest any more that people are trying to evade
   copyright law when in fact they are trying (maybe by jumping through
   hoops) to abide by the conditions put forth in the licence(s).
  
  Are you now claiming that it's legal to distribute kghostscript?

On Mon, Feb 14, 2000 at 03:21:44PM +0100, Marc van Leeuwen wrote:
 Yes, definitely, if you are distributing sources; from your remarks I conclude
 that even you would agree to this. One could include scripts to compile and
 link (say statically, just to get the worst case) those sources onto a
 complete executable; since all the tools necessary to do that could also be
 (and are in fact) legally distributed by the same distributor, the effect is
 that this executable will be identical, bit by bit, to an executable that the
 distributor could assemble. So the exact same effect is achieved, although
 slightly less efficiently, as if the distributor had directly distributed that
 executable file. But, we agree, the latter would certainly not be permitted.

If the exact same affect is achieved -- if no user intervention is
required -- then there's no legal protection gained by automatically
building the executables for the customer on their machine.  You'd still
be distributing executables, you'd just be using a different technology
to deliver them.

 Probably your question was about another method of distribution
 than in source form. But instead of diving for the umpteenth time
 into matters about which we (and many others) have already amply
 demonstrated to have differences of opinion, let me just restate that
 on which we do seem to agree. If our goal is to give users access
 to an executable version of kghostscript, then there is a reliable
 method of doing that (distributing sources) that satisfies all the
 requirements in the relevant licences, while there is another method
 (distributing the statically linked executable file directly) that
 does not satisfy all requirements, in particular not those of the GPL.
 We arrived at this conclusion not by trying to evade copyright law,
 but merely by reading carefully the conditions of the GPL.

There's a difference between simply distributing GPLed sources and
distributing the sources as a part of a system which automatically builds
working executables.  In the latter case it's pretty obvious that you
are distributing executables.

But I will grant that this is not a technique which linux distributors
are currently using to distribute kde executables.

 Now apart from distributing sources and distributing a statically linked
 executable, there are other methods to give users access to an executable,
 varying in the amount of work do be done at the recipients end. Offhand I can
 think of distributing compiled but unlinked object files, or distributing
 dynamically linked object files; maybe other possibilities exist as well.

Please take a look at
http://www.debian.org/Lists-Archives/debian-legal-0002/msg00211.html
for a historical example of shipping unlinked object files.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-13 Thread Anthony Towns
(please don't drop debian-legal from the Cc list)

On Sun, Feb 13, 2000 at 08:39:13PM +1100, Don Sanders wrote:
 On Sun, 13 Feb 2000, Anthony Towns wrote:
   Third, I challenge you to find a relevant case that says a program is the
   same work, for copyright purposes, with a dynamically loaded library
   when it is not running.
  *shrug* So show me some precedents for considering them separately. This is
  pretty much a null argument.
 MS windows programming is a good example of that. Programming on Windows 
 requires linking to MS dlls.

Note that `MS windows programming' is not a court case.

And again this is completely irrelevant: it's not an issue for the GPL
because the GPL exempts these as being distributed with major components
of the OS; and it's not an issue for anyone writing software for Windows
because Microsoft specifically gives you permission to redistribute it.

   Of
   course, if that were the case, then every single MS Windows program would
   be a derived work of MS Windows dlls and would require the consent of
   Microsoft to be distributed.

And just to clarify: whether Microsoft's consent is required or not doesn't
particularly matter: Microsoft have *given* their consent.

That is, it didn't differentiate between statically linked executables
(which clearly makes a combined work under copyright law), and
dynamically linked binaries (which is less clear).
  I should add: and as such, there's probably a reasonable chance that a
  court would be willing to extrapolate the existing terms to cover a new
  possibility that wasn't considered explicitly.
 No comment. But see the list archives.

Let me guess: Andreas Pour thinks differently, and as a KDE supporter is
an authority in the matter?

Please, feel free to cite a case (a court case, not a kde-licensing
debate) where it was ruled that a license that didn't consider a
technique or technology that became common a few years later, but had
considerations for a somewhat analogous technique or technology could
not be extrapolated. It doesn't have to be related to computers at all.
Anything will be fine.

Now with dynamically liked GPL software we have three cases:
(c) A GPLed binary linked against a GPL-incompatible library
(dynamic linking in all cases)
   
We'll note that in no case is the library a derived work (in any sense)
based on the binary (it doesn't include any code from the binary, it's
perfectly usable without the binary having ever been written, and so
on).
   
The final case, (c), which is what KDE fits under, doesn't have as
easy an out, though.
  
   This assumes that Qt is GPL-incompatible.  I may or may not agree with
   that, it could really mean a wide range of things.
 
  It means that it can't be distributed under the terms of sections 1 and
  2 of the GPL. It means you can't make a statically linked binary linking
  to it and distribute it. Etc.
 The important question is when applying the GPL to a KDE application is QT 
 part of the Program (and please see the definition of the Program given in 
 Section 0). If is then QT can't be distributed under the terms of sections 1 
 and 2. If QT isn't part of the Program then it can and must (if you believe 
 QT is as part of the complete source) be distributed under the terms of 
 Sections 1 and 2.

Erm, what? ``If Qt isn't part of the Program then it can and must be
distributed under the terms of Sections 1 and 2'' ?

Are you trying to say that since Qt doesn't have `GPLed' labelled on it
somewhere, then it's not the Program and since terms 1 and 2 only apply
to the Program, they don't apply to Qt, even when term 3 says it does
apply?

ie, are you trying to say that section 3a is technically meaningless,
because the complete source code won't be labelled GPLed, and hence won't
be distributable under sections 1 and 2? And because it's technically
meaningless it can be completely struck at and conveniently ignored?

Or am I reading too much into a typo somewhere?

Qt *cannot* be distributed under terms 1 and 2 of the GPL: term 2 gives
your more freedom in how you make your modifications than the QPL permits.
Only Troll have the right to give that extra permission, no one else does.

If the GPL *requires* you to distribute Qt under terms 1 and 2 of the
GPL in order to do something (distribute binaries, eg), then you *can't*
do that someting because you *can't* distribute Qt under terms 1 and 2
of the GPL.

 See also the Xfree license issue. It's highly relevant.

There is no `Xfree license issue'. I'm allowed to distribute a program
using code under both licenses as long as I:

* conspicuously and appropriately put an appropriate copyright notice
  and disclaimer of warranty somewhere
* keep the GPL and disclaimer of warranty intact
* i may charge a fee
* if i modify it, i have to add notices
* i have to make sure everyone can use it according to the GPL

  

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-13 Thread Richard Stallman
Around 1989, NeXT wanted to release the Objective C front end as just
object files, and tell the user to link them with GCC.  Since this
would clearly be against the goal of the GPL, I asked our lawyer
whether we had grounds to object.  He said that what NeXT proposed to
do would be tantamount to distributing a larger program which contains
GCC, and therefore would violate the GPL.  I conveyed this to NeXT,
and they released the Objective C front end as free software.

An executable in which the GPL-covered code is linked as a shared
library or dynamically linked is an even stronger case.  The point is
that the users are being told to run the non-free code in combination
with the GPL-covered code.

If, on the other hand, two programs don't need to be linked together
and are distributed for use separately, and a user decides on his own
initiative to link them together and run them, the GPL permits that
because the combination is in no sense being distributed.


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-13 Thread Don Sanders
On Sun, 13 Feb 2000, Anthony Towns wrote:

  (please don't drop debian-legal from the Cc list)

 On Sun, Feb 13, 2000 at 08:39:13PM +1100, Don Sanders wrote:
  On Sun, 13 Feb 2000, Anthony Towns wrote:
Third, I challenge you to find a relevant case that says a program is
the same work, for copyright purposes, with a dynamically loaded
library when it is not running.
  
   *shrug* So show me some precedents for considering them separately.
   This is pretty much a null argument.
 
  MS windows programming is a good example of that. Programming on Windows
  requires linking to MS dlls.

 Note that `MS windows programming' is not a court case.

I'm not going to cite a case, but there is a precedent. If linking a Windows 
program to an MS dll makes the program a derived work of the MS dll then all 
3rd part application vendors on the MS platform are guilty of copyright 
violation. (As they distribute those derived works without permission from 
MS).

 And again this is completely irrelevant: it's not an issue for the GPL
 because the GPL exempts these as being distributed with major components
 of the OS; and it's not an issue for anyone writing software for Windows
 because Microsoft specifically gives you permission to redistribute it.

Of
course, if that were the case, then every single MS Windows program
would be a derived work of MS Windows dlls and would require the
consent of Microsoft to be distributed.

 And just to clarify: whether Microsoft's consent is required or not doesn't
 particularly matter: Microsoft have *given* their consent.

Wrong. Microsoft are very choosy about which dlls they allow 3rd part 
application developers to distribute. 3rd party MS windows developers can 
only distribute a few MS dlls that MS chooses. There are dlls that MS allows 
developers to link against but not to distribute.

But this argument wasn't about distribution it was about whether linking a 
program to a library makes the program a derived work of the library. These 
are seperate issues.

 That is, it didn't differentiate between statically linked
 executables (which clearly makes a combined work under copyright
 law), and dynamically linked binaries (which is less clear).
  
   I should add: and as such, there's probably a reasonable chance that a
   court would be willing to extrapolate the existing terms to cover a new
   possibility that wasn't considered explicitly.
 
  No comment. But see the list archives.

 Let me guess: Andreas Pour thinks differently, and as a KDE supporter is
 an authority in the matter?

 Please, feel free to cite a case (a court case, not a kde-licensing
 debate) where it was ruled that a license that didn't consider a
 technique or technology that became common a few years later, but had
 considerations for a somewhat analogous technique or technology could
 not be extrapolated. It doesn't have to be related to computers at all.
 Anything will be fine.

Which portions of KDE were written when dynamic linking was not common.

If there are none then I don't think this is relevant. *But I could be wrong*.

 Now with dynamically liked GPL software we have three cases:
 (c) A GPLed binary linked against a GPL-incompatible
 library (dynamic linking in all cases)

 We'll note that in no case is the library a derived work (in any
 sense) based on the binary (it doesn't include any code from the
 binary, it's perfectly usable without the binary having ever been
 written, and so on).

 The final case, (c), which is what KDE fits under, doesn't have as
 easy an out, though.
   
This assumes that Qt is GPL-incompatible.  I may or may not agree
with that, it could really mean a wide range of things.
  
   It means that it can't be distributed under the terms of sections 1 and
   2 of the GPL. It means you can't make a statically linked binary
   linking to it and distribute it. Etc.
 
  The important question is when applying the GPL to a KDE application is
  QT part of the Program (and please see the definition of the Program
  given in Section 0). If is then QT can't be distributed under the terms
  of sections 1 and 2. If QT isn't part of the Program then it can and must
  (if you believe QT is as part of the complete source) be distributed
  under the terms of Sections 1 and 2.

 Erm, what? ``If Qt isn't part of the Program then it can and must be
 distributed under the terms of Sections 1 and 2'' ?

Yes, because Qt is part of the complete source code, section 3 requires the 
complete source code to be distributed under the terms of Sections 1 and 2 
(of the GPL).

 Are you trying to say that since Qt doesn't have `GPLed' labelled on it
 somewhere, then it's not the Program and since terms 1 and 2 only apply
 to the Program, they don't apply to Qt, even when term 3 says it does
 apply?

You're almost there. distributing the complete source code under Sections 1 
and 2 of the GPL does not 

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-13 Thread Raul Miller
On Mon, Feb 14, 2000 at 01:20:22AM +1100, Don Sanders wrote:
  Qt *cannot* be distributed under terms 1 and 2 of the GPL: term 2 gives
  your more freedom in how you make your modifications than the QPL permits.
  Only Troll have the right to give that extra permission, no one else does.
 
 I disagree.

However, section 6 of the GPL conflicts with sections 3b [plus 4c]
of the QPL.  You can't legally distribute code which has all of these
restrictions placed on it.

Sections 0, 1, 2 and 3 of the GPL are important in understanding why
kghostview has all of these restrictions placed on it.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-13 Thread Andreas Pour
Anthony Towns wrote:

 (debian-legal brought back into the Cc list)

 On Sat, Feb 12, 2000 at 04:02:35PM -0500, Andreas Pour wrote:
  Anthony Towns wrote:
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.
   Emphasis yours.
   The intention of the authors (GNU and rms) is fairly clear, and they make
   their interpretation fairly clear in the LGPL's (written by the same 
   authors)
   preamble:
  
 When a program is linked with a library, whether statically or using
   a shared library, the combination of the two is legally speaking a
   combined work, a derivative of the original library.  The ordinary
   General Public License therefore permits such linking only if the
   entire combination fits its criteria of freedom. [...]
   As such, I'm not really sure how you can say ``But that's not what RMS
   meant, coz that's not what he wrote, see, this is what the dictionary
   says and everything!'' and expect to be taken seriously.
  First of all, what RMS thinks is not relevant [...]

 But what you think is, of course.

To the extent I try to comply with relevant legal obligations, what I think is 
most
relevant.  But anyway that's not the issue.  My interpretations are only as 
convincing as my
reasoning and my explanations.  RMS' reasoning and explanations can of course 
be convincing
as well.  The problem with your quote is, there was no reasoning or 
explanation, just a
conclusory assertion.  I would expect my conclusory assertions not to convince 
anyone either.

Basically it's a matter of epistemology.  I gain little knowledge from 
pronouncements from
the mountain top.  I learn from debate, reflection and critical analysis.

 Do you not concede that RMS is something of an expert both in relation
 to software in general, and in relation to the GPL?

The former, yes.  The latter, I am not sure.  My take on it is that he has a 
view about what
he wants/wanted it to say, that most heavily guides his interpretation of what 
in fact it
does say.  In other words, I do not believe he is objective in interpreting the 
language.

FWIW, I very much respect RMS as a programmer, and as an evangelist, but not as 
a lawyer.  In
fact I still hope that something positive can come out of this debate -- that 
the
loopholes/mistakes in the GPL can be fixed.  Why is it that you appear to be so 
against
admitting the problems with the GPL and fixing them?

 As such, do you not think he might understand some of the nuances in the
 language of the GPL better than, say, the authors of your dictionary?

Absolutely not.  When a court tries to interpret the license (since you agree 
it's a legal
document, in the end only a court's interpretation matters) the court will look 
to a
dictionary -- this is a quite common practice when courts interpret legal 
agreements.  That
will be evidence in the case.  RMS will not.  His testimony will not be 
allowed, most likely
(things being different if his code is in fact at issue).  This is for the 
exact same reason
that when the meaning of a statute is in question Congressmen are not called in 
to testify as
to its meaning.  The contract is generally interpreted objectively (and if any 
subjective
component comes in it is that of the licensor -- the code author -- rather than 
the lawyer or
organization that did the drafting).  Using a dictionary to interpret a license 
is objective
-- using RMS' opinion (or mine or anyone else's) is not.

 Does
 it not seem even with the realm of possibility that it might be the case?

Does it seem even within the realm of possibility that I know what I am talking 
about?

 Your second and third points are just restatements of this.

  Third, I challenge you to find a relevant case that says a program is the 
  same work,
  for copyright purposes, with a dynamically loaded library when it is not 
  running.

 *shrug* So show me some precedents for considering them separately. This is
 pretty much a null argument.

Are you sure?  At least I have obvious reasons for considering them separately. 
 First, they
are not in fact part of the same work.  It is no different than if you write a 
book, and then
I write a book reviewing yours.  My book depends on your book, yet it is a 
totally different
work (assuming I only make fair use of excerpts from your book).  Same holds 
true for
software.  My program (kghostview) is a totally separate work from Qt, 
*especially* in source
code form.

Second, everyday practice confirms my point.  Obviously MS prohibits people 
from distributing
Windows DLLs w/out their consent.  Yet tons of companies and individuals 
distribute libraries
linked to their DLLs w/out their consent.  Under your theory, Apache would need 
the consent
of MS to distribute Apache for NT, as would all other GPL'd 

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-13 Thread Zdzislaw A.Kaleta


Date forwarded: 13 Feb 2000 11:23:26 -
Date sent:  Sun, 13 Feb 2000 04:23:21 -0700 (MST)
From:   Richard Stallman [EMAIL PROTECTED]
To: aj@azure.humbug.org.au
Copies to:  debian-legal@lists.debian.org
Subject:Re: On interpreting licences (was: KDE not in Debian?)
Send reply to:  [EMAIL PROTECTED]
Forwarded by:   debian-legal@lists.debian.org

 Around 1989, NeXT wanted to release the Objective C front end as just
 object files, and tell the user to link them with GCC.  Since this
 would clearly be against the goal of the GPL, I asked our lawyer
 whether we had grounds to object.  He said that what NeXT proposed to
 do would be tantamount to distributing a larger program which contains GCC,
 and therefore would violate the GPL.  I conveyed this to NeXT, and they
 released the Objective C front end as free software.
[cut]

I am not an expert in comon law, I only knew something about 
continental law but the case described above look for me as difrerent 
from the one which is discussed here. In the NEXT case the proprietary 
license was linked on GPL. In Trol Tech case we are talking about 
GPL linked on non-fully-free licence. For me this is totaly diferent 
story. If I am right?

zakend
navigare necesse est even on the web


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-11 Thread Joseph Carter
On Thu, Feb 10, 2000 at 12:53:02PM -0500, Raul Miller wrote:
   Either the program uses readline or it doesn't.  If it does use readline,
   and it's distributed with readline, then, strictly-speaking, it contains
   readline.
 
  I disagree..  If it was not built using one piece of readline (ie, none of
  readline's headers) it does not contain readline until it is run.
 
 The GPL doesn't say that a program has to be built using headers.

You're right, it doesn't.  I just don't see how the GPL has the right to
affect use of the software (as opposed to development) given that use of
software is beyond the GPL's scope.

The GPL has no power to apply to non-GPL'd works which are not derivative
in source or binary form from GPL'd works.  We have already established
this as true else the GPL would have failed the DFSG.

In order for you to apply the GPL's terms to this hypothetical program you
must first establish that a derivative work is being distributed.  In the
case of a GPL'd KDE app that's easy.  In the case of an app linked against
GPL'd headers, that's easy again.  An app which is not GPL'd and does not
fall into either of the above categories is a bit more difficult---I don't
see the derivision.


 Your claim would mean that if, for example, I use a hex editor on a program to
 alter the libraries it uses, that I would be able to build programs that
 are built on GPLed code but which aren't bound by the GPL.

I may not fully grasp the connection here, so let me extend this example
to be sure I do actually understand your point:

Instead of very late binding as mentioned previously, you would use late
binding (ie, dynamic linking) by #include'ing say myreadline/readline.h
or whatever files and have -lmyreadline in the makefile's LDFLAGS...

This would produce a program linked against libmyreadline.so which happens
to share GNU readline's ABI.  Then to make it instead use GNU readline you
would modify it such that ld.so would load the equivalent libreadline.so,
much as I modified the pre-source release glquake binary to use libGL.so.1
in place of libMesaGL.so.2.6..

You are saying that this would not sit well with the GPL on GNU readline
and be considered infringement.  You might be right---I could not even
begin to guess at how this would be handled.  It's IMO right on the
borderline and without a legal decision (it wouldn't have to be case law
necessarily as this discussion is academic more than it is legal being
that we're not lawyers) I'd say it's too close to call.  If you've got a
reference to a decision I'd love to read it though.


In the case of very late binding, it seems to be a little bit past that
line IMO..  I think it would have to be decided by a judge on a case by
case basis until there was some case law which firmly considered very late
binding to be the same as dynamic binding (which clearly is the same as
static binding because of the GPL'd API and the ABI symbols read from the
shared object library..



I am curious how you think the BSDish readline would stack up in these
examples.  The BSDish readline replacement uses the name libreadline.  It
also places its headers in where GNU readline would.  Essentially, they
are two different libraries which do share a common interface in terms of
API, ABI, and soname.  I believe it can even be built as a wrapper for the
BSD equivalent of readline to provide almost full feature compatibility.

This is a case where there are two alternatives for a library.  One is
GPL'd and is usually found on Linux systems, the other is not and _can_ be
found on Linux systems but probably wouldn't be.  It may or may not be
found on other systems.


  The GPL can't control usage, only distribution.
 
 True.  Which is why I pointed out that it matters how the program is
 being distributed.

Agreed.


  I am of the opinion that static vs dynamic linking is irrelivant
  because in Qt's case the inclusion of Qt happens before linking.
 
 I'm of the opinion that it doesn't matter because working copies of
 the program are being distributed, and those working copies contain
 both QPL and GPL licensed code.

Even in a late binding situation the ABI symbols and headers are linked
in.  If you replace the headers you still have the symbols.  If you
replace the shared lib, well you have a more complex situation.  libGL for
example, if the API and ABI are the same for all Linux GL implementations,
the fact that some of them may be under the GPL or other licenses cannot
force binaries built against the generic API/ABI to be GPL'd.  That'd just
be seriously overreaching.


 The GPL doesn't care how the program is built -- that's not something
 that matters to the GPL.

Agreed.  However the GPL has no say (whether it would care or not) if
there is no derived work being distributed.  It seems that very late
binding would screw that up because there is never a derivision, not even
headers or symbols.

-- 
Joseph Carter [EMAIL PROTECTED] Debian Linux developer

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-11 Thread Raul Miller
 On Thu, Feb 10, 2000 at 12:53:02PM -0500, Raul Miller wrote:
Either the program uses readline or it doesn't.  If it does use 
readline,
and it's distributed with readline, then, strictly-speaking, it contains
readline.
  
   I disagree..  If it was not built using one piece of readline (ie, none of
   readline's headers) it does not contain readline until it is run.
  
  The GPL doesn't say that a program has to be built using headers.

On Thu, Feb 10, 2000 at 06:41:11PM -0800, Joseph Carter wrote:
 You're right, it doesn't.  I just don't see how the GPL has the right to
 affect use of the software (as opposed to development) given that use of
 software is beyond the GPL's scope.

 The GPL has no power to apply to non-GPL'd works which are not derivative
 in source or binary form from GPL'd works.  We have already established
 this as true else the GPL would have failed the DFSG.

Are you claiming that a working copy of kghostscript is an example of a 
non-GPL'd work which is not derivative in source or binary form from GPL'd
works?

If not, what relevance is the above line of thought?

 In order for you to apply the GPL's terms to this hypothetical program
 you must first establish that a derivative work is being distributed.
 In the case of a GPL'd KDE app that's easy. In the case of an app
 linked against GPL'd headers, that's easy again. An app which is not
 GPL'd and does not fall into either of the above categories is a bit
 more difficult---I don't see the derivision.

The distinction between compile time and run time is artificial -- it's
technology dependent.  Build a new language, or maybe a new environment,
and you have a new set of distinctions to work with.  There's nothing
fundamentally relevant to copyright law in this sort of distinction.

If you somehow manage to decide that you have a way of coming up with
a working copy of a program which is never distributed, you could apply
the same underlying principle to any other copyrighted work.  

If a work only exists when the program is running, but millions of copies
of that work exist in the hands of millions of users, do you really think
that a court of law would accept the sleight of hand argument that those
copies were never distributed -- that they just happened to spring into
existence, by coincidence?

  Your claim would mean that if, for example, I use a hex editor on a program 
  to
  alter the libraries it uses, that I would be able to build programs that
  are built on GPLed code but which aren't bound by the GPL.
 
 I may not fully grasp the connection here, so let me extend this example
 to be sure I do actually understand your point:
 
 Instead of very late binding as mentioned previously, you would use late
 binding (ie, dynamic linking) by #include'ing say myreadline/readline.h
 or whatever files and have -lmyreadline in the makefile's LDFLAGS...
 
 This would produce a program linked against libmyreadline.so which happens
 to share GNU readline's ABI.  Then to make it instead use GNU readline you
 would modify it such that ld.so would load the equivalent libreadline.so,
 much as I modified the pre-source release glquake binary to use libGL.so.1
 in place of libMesaGL.so.2.6..
 
 You are saying that this would not sit well with the GPL on GNU readline
 and be considered infringement.  You might be right---I could not even
 begin to guess at how this would be handled.  It's IMO right on the
 borderline and without a legal decision (it wouldn't have to be case law
 necessarily as this discussion is academic more than it is legal being
 that we're not lawyers) I'd say it's too close to call.  If you've got a
 reference to a decision I'd love to read it though.

Making the modification is fine as long as you don't go about distributing
the result.  If you're distributing lots of these the technical
details about how you did it are irrelevant.  The point is that you're
distributing modified copies.  The details of how you accomplished the
modifications are irrelevant.

[Unless you accept the idea that you can build technology to build distribution
channels which are beyond the reach of copyright law.]

 In the case of very late binding, it seems to be a little bit past
 that line IMO.. I think it would have to be decided by a judge on
 a case by case basis until there was some case law which firmly
 considered very late binding to be the same as dynamic binding (which
 clearly is the same as static binding because of the GPL'd API and the
 ABI symbols read from the shared object library..

If a document only exists when it's being displayed, but millions of users
get a copy of that document, would copyright law apply to it?

 I am curious how you think the BSDish readline would stack up in these
 examples. The BSDish readline replacement uses the name libreadline.
 It also places its headers in where GNU readline would. Essentially,
 they are two different libraries which do share a common interface
 in terms of 

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-11 Thread Marc van Leeuwen
I'll give it just one more shot...
Raul Miller [EMAIL PROTECTED] spake:
 On Thu, Feb 10, 2000 at 06:41:11PM -0800, Joseph Carter wrote:
  The GPL has no power to apply to non-GPL'd works which are not derivative
  in source or binary form from GPL'd works.  We have already established
  this as true else the GPL would have failed the DFSG.
 
 Are you claiming that a working copy of kghostscript is an example of a 
 non-GPL'd work which is not derivative in source or binary form from GPL'd
 works?

Of course not, he was discussing an example of the dual situation, a non-GPL
program linking to a GPL-ed library (readline); this point was brought up for
comparison in Anthony Towns' excellent post of 9 Feb. It is that case in which
the question is relevant whether or not copyright law requires GPL's
conditions to be respected (i.e., whether or not there is a GPL-derived work).

 The distinction between compile time and run time is artificial -- it's
 technology dependent.  Build a new language, or maybe a new environment,
 and you have a new set of distinctions to work with.  There's nothing
 fundamentally relevant to copyright law in this sort of distinction.
 
 If you somehow manage to decide that you have a way of coming up with
 a working copy of a program which is never distributed, you could apply
 the same underlying principle to any other copyrighted work.  
 
 If a work only exists when the program is running, but millions of copies
 of that work exist in the hands of millions of users, do you really think
 that a court of law would accept the sleight of hand argument that those
 copies were never distributed -- that they just happened to spring into
 existence, by coincidence?

Yes, a court of law would accept that those copies were never distributed,
even thought they did not just happen to spring into existence either. In
particular, in the case where Galoob sold patches (Galoob's Game Genie) to
Nintendo cartidges, lots (maybe millions) of users were running patched copies
of the Nintendo software, that were as such never distributed: the court ruled
that Galoob did not infringe Nintendo's copyrights. In this case Galoob must
obviously have been using the original Nintendo software in order to create
the patches, yet I suppose the patches themselves were free of any Nintendo
code. No subtleties about licences here, a simple no copying policy. Nor any
question that using the Galoob's Game Genie required purchase of a Nintendo
cartidge. ``Having paid Nintendo a fair return, the consumer may experiment
with the product and create new variations of play, for personal enjoyment,
without creating a derivative work.'' (http://cr.yp.to/softwarelaw.html)

On the other hand, if all parts of the final program are being distributed by
the same distributor, as would be the case for a QPL library and a GPL
application, there is no question of evading copyright issues for part or all
of that program: permission for distribution of all copyright owners must be
obtained. By setting your subject to New ways to evade copyright law in some
other branch, you suggested that I was doing just that; while this has already
been refuted by me and others, I'll do so again here. Nobody in this
discussion is claiming (as far as I can see) that by some subtle shuffling
of pieces you can get a (composite) program from A to B without requiring
permissions from all copyright owners. The point is that the complex
conditions in the licences, in partcular GPL, may lead to a situation where
such permission may be obtained for some particular method of distribution,
but not for some other method. For instance, you may distribute in source form
(and under GPL) a GPL-ed an application that links to Qt (because then there
is no requirement to distribute complete sources), while also distributing
Qt (in source and binary) under QPL; the recipient could compile and link an
executable program which does not happen to spring into existence, and which
was the goal of distributing the GPL sources, yet which could not have been
legally distributed directly. I think you put forward yourself another example
(a Solaris-linked GPL binary and Solaris itself), where the components might
be legally distributed separately (assuming permission from Sun) but not
together. So please don't suggest any more that people are trying to evade
copyright law when in fact they are trying (maybe by jumping through hoops) to
abide by the conditions put forth in the licence(s).

Marc van Leeuwen
Universite de Poitiers
http://wwwmathlabo.univ-poitiers.fr/~maavl/


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-11 Thread Raul Miller
On Fri, Feb 11, 2000 at 05:26:47PM +0100, Marc van Leeuwen wrote:
 Nobody in this discussion is claiming (as far as I can see) that
 by some subtle shuffling of pieces you can get a (composite) program
 from A to B without requiring permissions from all copyright owners.

It seems to me that that's exactly what people are saying when they
claim that it's legal to distribute kghostscript.

 The point is that the complex conditions in the licences, in partcular
 GPL, may lead to a situation where such permission may be obtained for
 some particular method of distribution, but not for some other method.
 For instance, you may distribute in source form (and under GPL) a
 GPL-ed an application that links to Qt (because then there is no
 requirement to distribute complete sources), while also distributing
 Qt (in source and binary) under QPL; the recipient could compile and
 link an executable program which does not happen to spring into
 existence, and which was the goal of distributing the GPL sources,
 yet which could not have been legally distributed directly.

Certainly: it's only if you distribute executables or object code that
there's any requirement to distribute the complete source for the program.

 I think you put forward yourself another example (a Solaris-linked
 GPL binary and Solaris itself), where the components might be legally
 distributed separately (assuming permission from Sun) but not
 together.

Right: that was an example of a situation which takes advantage of the
special exception in section 3 of the GPL.

 So please don't suggest any more that people are trying to evade
 copyright law when in fact they are trying (maybe by jumping through
 hoops) to abide by the conditions put forth in the licence(s).

Are you now claiming that it's legal to distribute kghostscript?

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-10 Thread Chris Lawrence
On Feb 08, Andreas Pour wrote:
 Now, please explain how the executable work which I am
 distributing (kghostview which is dynamically linked to Qt) has in
 it, holds, encloses or includes, has the capacity for
 holding, or is equal or equivalent to, the Qt library.  Sure, the
 Qt library can later be added to it -- like sugar to the gallon of
 water -- but is not contained in it.

A dynamically-linked kghostview is completely non-functional without
the Qt library.  Qt is irrevocably bound up in that executable,
whether or not any of Qt's code is actually contained in kghostview.
(Besides which, some of Qt's code will be contained in the executable,
due to Qt's slot concept which [IIRC] requires preprocessing of the
source.)

Hypothetical: I build something under a proprietary license, and then
use the dl*() calls to access a GPLed library (let's use Readline for
example).  Even though my software doesn't strictly-speaking contain
Readline, it doesn't function without it being present.  I'm clearly
going beyond mere aggregation or using a fork-exec.

 That's why when you distribute a dynamically-linked kghostview you
 don't have to distribute Qt source code.  Now of course this
 executable work no more contains Qt if it is distributed on the same
 CD.  (However, in case it is on the same CD, the special exception
 would not apply.)

Qt is normally distributed in the same kit as KDE in a Linux
distribution; whether or not it physically resides on the same disk is
irrelevant.  You're distributing the one with the other.

The only way around this is to require people to pick up Qt from
someone else and/or at a different time.

 If you don't like that result, I suggest you talk to FSF about changing the
 language of the GPL.

The result doesn't follow logically from your premises.

 Two flaws in this analysis.  First, you don't have to distribute a
 working copy of kghostscript; in fact it would defeat the idea of
 dynamic linking to do so.  Kghostscript will not work w/out libc,
 libstdc++, libX and a bunch of other libs which generally are
 distributed separately, unless of course you are the OS vendor.  In
 case you are the OS vendor, of course, you are subject to the
 exception.

Any Linux distributor is, by definition, the OS vendor; this means you
can't distribute the infringing component and the GPLed software
together.

 Second, insofar as you do not distribute a working copy, you don't
 have to distribute the source code to the working copy.  The source
 code, as I quoted above, is only to the executable work you are
 distributing.  That's why if you distribute just, say, The Gimp, you
 are under no obligation to make the X and libc source code available
 (in case you want to argue that you are, then I will point out then
 that virtually *everybody* violates the GPL, w/out protest from the
 FSF, and that's been going on since the GPL was first released, so
 its a pretty untenable argument).

If you distribute the Gimp in binary form, you are obligated (by the
GPL) to provide the source for the Gimp if anyone asks for it.  Since
X and libc6 are covered by the XFree86 license and LGPL respectively,
they do not contaminate the Gimp binary in any meaningful way.

However, if someone specifically asks for the source to GNU libc, you
have to give it to them (since it's LGPLed).  You are under no such
obligation with XFree86, though it's probably on the same source CD
you're using to fulfill the GPL and LGPL requirement anyway.

Now, if you linked the Gimp against Readline (a GPLed library), and
distributed that modified Gimp, you would have to provide the source
for both the Gimp and Readline.

 Actually, all it says is that you don't have to distribute the
 source code.  It doesn't say anything about not having to be
 licensed under the GPL.  If in fact Section 2(b) requires you to
 license the full source code under the GPL, this would apply to the
 component as well -- the special exception only relieves you of
 the obligation to distribute the source code, not of any other
 obligation the GPL has with respect to that component.

Section 2(b) requires the combined work to be usable under the terms
of the GPL.  It does not require the individual components to be
licensed under the GPL, but it does require that the aggregation (end
product) be subject to the terms of the GPL (and no terms that
contradict the GPL).  By aggregation, I refer to the common sense
definition of aggregation (sticking things together to create a bigger
thing; linking, if you will), not the GPL's mere aggregation (which
is being distributed on the same media).

For example, I have written some software that is licensed under an
extremely liberal license (the Python license).  I have created a
front-end to it that uses Readline (GPLed).  Since I have permitted
people to modify and/or use the software for any purpose, with or
without modification, the front end satisfies the requirements of
2(b), even though the front end ITSELF is 

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-10 Thread Joseph Carter
On Wed, Feb 09, 2000 at 08:51:03PM -0600, Chris Lawrence wrote:
 A dynamically-linked kghostview is completely non-functional without
 the Qt library.  Qt is irrevocably bound up in that executable,
 whether or not any of Qt's code is actually contained in kghostview.
 (Besides which, some of Qt's code will be contained in the executable,
 due to Qt's slot concept which [IIRC] requires preprocessing of the
 source.)

I'll agree with you here.


 Hypothetical: I build something under a proprietary license, and then
 use the dl*() calls to access a GPLed library (let's use Readline for
 example).  Even though my software doesn't strictly-speaking contain
 Readline, it doesn't function without it being present.  I'm clearly
 going beyond mere aggregation or using a fork-exec.

I don't agree with you here.  The GPL doesn't say that.  This is one of
those cases where you're deliberately trying to work around the GPL and in
this case it is my (non-professional layman's) opinion that you would have
succeeded.  Of course you do that and we'll have to lynch you or
something because we're at times a militant lot and you'd be doing
something the GPL's spirit condemns, even if its letter permits..

There is a BSDish readline clode whose interface matches readline's..  If
you wrote your dl*() access of libreadline using that non-GPL'd interface
definition, you would have succeeded in circumventing the GPL.

Now if you pulled something like that with a M$ EULA (much harder to do,
they cover all bases better) you'd get sued anyway because M$ would know
that you would run out of money first.  And even if you didn't, they could
argue that you were essentially doing what you were---trying to find a
loophole to allow you to do something you are not permitted to do.  They
would argue your intent makes you guilty of violating the EULA whether you
violated its letter or not.  They'd have a chance at winning it too, even
thouch contract law pretty much says quite the opposite (ie, that if their
contract DOESN'T provide for such a case, it's their own fault, etc)

The law is not applied universally in this case.  A lot of lattitude is
granted to computer industry companies to protect their software that
doesn't apply to Copyrights on books or anything else for that matter.
You or I could not sue someone for violating the spirit of a license and
win, but someone like M$ could.  (I pick on them because they're an easy
target...)


It doesn't have to make sense..  I am talking about US law related to
computers and technology.  The people making the laws are clueless.  The
people upholding the laws equally so.  It is almost always a case of best
lawyer wins, regardless of the laws on the books.  A sorry state of
affairs.


I could delve further into your message, but the primary point I need to
address is that there are no points for violating the spirit of the GPL
here.  We're not big software companies so we're not going to have much
leeway to claim a violation of the spirit means anything except that the
GPL doesn't cover the case in question properly.

-- 
Joseph Carter [EMAIL PROTECTED] Debian Linux developer
http://tank.debian.net   GnuPG key  pub 1024D/DCF9DAB3  sub 2048g/3F9C2A43
http://www.debian.org20F6 2261 F185 7A3E 79FC 44F9 8FF7 D7A3 DCF9 DAB3

I am ecstatic that some moron re-invented a 1995 windows fuckup. 
-- Alan Cox



pgpqCnjhKUeKS.pgp
Description: PGP signature


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-10 Thread Raul Miller
On Wed, Feb 09, 2000 at 08:51:03PM -0600, Chris Lawrence wrote:
  Hypothetical: I build something under a proprietary license, and then
  use the dl*() calls to access a GPLed library (let's use Readline for
  example).  Even though my software doesn't strictly-speaking contain
  Readline, it doesn't function without it being present.  I'm clearly
  going beyond mere aggregation or using a fork-exec.

Either the program uses readline or it doesn't.  If it does use readline,
and it's distributed with readline, then, strictly-speaking, it contains
readline.

On Wed, Feb 09, 2000 at 09:28:29PM -0800, Joseph Carter wrote:
 I don't agree with you here.  The GPL doesn't say that.  This is one of
 those cases where you're deliberately trying to work around the GPL and in
 this case it is my (non-professional layman's) opinion that you would have
 succeeded.  Of course you do that and we'll have to lynch you or
 something because we're at times a militant lot and you'd be doing
 something the GPL's spirit condemns, even if its letter permits..

 There is a BSDish readline clode whose interface matches readline's..  If
 you wrote your dl*() access of libreadline using that non-GPL'd interface
 definition, you would have succeeded in circumventing the GPL.

Here, the biggest issue is: what's being distributed?

If the program is being distributed with the BSDish readline, and not the
GPLed readline, then there's no issue.  But if the program is distributed
with the GPLed readline, and not the BSDish readline, then it's pretty
obvious that there's an issue.  If the program is being distributed with
both, then it comes down to which the program is configured to use.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-10 Thread Joseph Carter
On Thu, Feb 10, 2000 at 12:22:47PM -0500, Raul Miller wrote:
   Hypothetical: I build something under a proprietary license, and then
   use the dl*() calls to access a GPLed library (let's use Readline for
   example).  Even though my software doesn't strictly-speaking contain
   Readline, it doesn't function without it being present.  I'm clearly
   going beyond mere aggregation or using a fork-exec.
 
 Either the program uses readline or it doesn't.  If it does use readline,
 and it's distributed with readline, then, strictly-speaking, it contains
 readline.

I disagree..  If it was not built using one piece of readline (ie, none of
readline's headers) it does not contain readline until it is run.  The GPL
can't control usage, only distribution.  This is different than the KDE
and Qt situation in which Qt's headers are included and compiled in the
traditional manner.  I am of the opinion that static vs dynamic linking is
irrelivant because in Qt's case the inclusion of Qt happens before
linking.


  There is a BSDish readline clode whose interface matches readline's..  If
  you wrote your dl*() access of libreadline using that non-GPL'd interface
  definition, you would have succeeded in circumventing the GPL.
 
 Here, the biggest issue is: what's being distributed?
 
 If the program is being distributed with the BSDish readline, and not the
 GPLed readline, then there's no issue.  But if the program is distributed
 with the GPLed readline, and not the BSDish readline, then it's pretty
 obvious that there's an issue.  If the program is being distributed with
 both, then it comes down to which the program is configured to use.

The hypothetical program above is one which was built using unformation
from (but not source code for) a BSDish readline replacement, but would at
run time (not link time) find GNU readline and bind do it using the dl*
functions.  The GPL doesn't even consider such a thing possible.  There is
almost no difference in what is done here between dlopen() of GNU readline
and Corel's package front in forking a dpkg binary controlled through its
command line interface---something we have agreed (I hope) is beyond the
GPL's scope.

The fact that this can be used as a convoluted way to circumvent the GPL's
control over readline's linking does not automatically mean that a judge
would find this a GPL violation.  In fact, I think a judge would determine
this to be outside the scope of the GPL since there is no logical way in
this example for one to conclude that the program was derived from
readline before the user ran it and the program took steps at runtime to
bind readline's functions.


This is part of the reason it is possible to create a GPL'd netscape
plugin, for example.  If you do this, netscape does not suddenly become a
derived work of that plugin which AOL must suddenly release full GPL'd
source code for.  The fact that in this example's program the author would
have specifically intended for their program to use GNU readline is almost
irrelivant because the license just doesn't say anything about it.  I
could be wrong, but I don't think a Copyright license could---you'd have
to go to a shrinkwrap style license.  I consider those immoral and
possibly illegal if you ever got a judge with a fraction of a clue...

-- 
Joseph Carter [EMAIL PROTECTED] Debian Linux developer
http://tank.debian.net   GnuPG key  pub 1024D/DCF9DAB3  sub 2048g/3F9C2A43
http://www.debian.org20F6 2261 F185 7A3E 79FC 44F9 8FF7 D7A3 DCF9 DAB3

2.3.1 has been released. Folks new to this game should remember that
2.3.* releases are development kernels, with no guarantees that they
will not cause your system to do horrible things like corrupt its
disks, catch fire, or start running Mindcraft benchmarks.
-- Slashdot



pgpb3nT6UrD9P.pgp
Description: PGP signature


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-10 Thread Raul Miller
 On Thu, Feb 10, 2000 at 12:22:47PM -0500, Raul Miller wrote:
Hypothetical: I build something under a proprietary license, and then
use the dl*() calls to access a GPLed library (let's use Readline for
example).  Even though my software doesn't strictly-speaking contain
Readline, it doesn't function without it being present.  I'm clearly
going beyond mere aggregation or using a fork-exec.
  
  Either the program uses readline or it doesn't.  If it does use readline,
  and it's distributed with readline, then, strictly-speaking, it contains
  readline.

On Thu, Feb 10, 2000 at 09:47:44AM -0800, Joseph Carter wrote:
 I disagree..  If it was not built using one piece of readline (ie, none of
 readline's headers) it does not contain readline until it is run.

The GPL doesn't say that a program has to be built using headers.

Your claim would mean that if, for example, I use a hex editor on a program to
alter the libraries it uses, that I would be able to build programs that
are built on GPLed code but which aren't bound by the GPL.

 The GPL can't control usage, only distribution.

True.  Which is why I pointed out that it matters how the program is
being distributed.

 This is different than the KDE and Qt situation in which Qt's headers
 are included and compiled in the traditional manner.

It's not that headers are a non-issue, but they're not the only issue.

 I am of the opinion that static vs dynamic linking is irrelivant
 because in Qt's case the inclusion of Qt happens before linking.

I'm of the opinion that it doesn't matter because working copies of
the program are being distributed, and those working copies contain
both QPL and GPL licensed code.

The GPL doesn't care how the program is built -- that's not something
that matters to the GPL.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-10 Thread Antti-Juhani Kaijanaho
On Thu, Feb 10, 2000 at 12:22:47PM -0500, Raul Miller wrote:
 If the program is being distributed with the BSDish readline, and not the
 GPLed readline, then there's no issue.  But if the program is distributed
 with the GPLed readline, and not the BSDish readline, then it's pretty
 obvious that there's an issue.  If the program is being distributed with
 both, then it comes down to which the program is configured to use.

What if it's distributed with neither of them, and it just build-depends
on the readline API?

-- 
%%% Antti-Juhani Kaijanaho % [EMAIL PROTECTED] % http://www.iki.fi/gaia/ %%%

  
 (John Cage)


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-10 Thread Raul Miller
On Thu, Feb 10, 2000 at 12:22:47PM -0500, Raul Miller wrote:
  If the program is being distributed with the BSDish readline, and
  not the GPLed readline, then there's no issue. But if the program is
  distributed with the GPLed readline, and not the BSDish readline,
  then it's pretty obvious that there's an issue. If the program is
  being distributed with both, then it comes down to which the program
  is configured to use.

On Thu, Feb 10, 2000 at 08:09:41PM +0200, Antti-Juhani Kaijanaho wrote:
 What if it's distributed with neither of them, and it just
 build-depends on the readline API?

That sounds like an artificial situation.  Who is going to distribute
non-working executables?  Why?

Most likely, this would really represent working copies -- take a look
at the working copies to see what's really happening.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-10 Thread Antti-Juhani Kaijanaho
On Thu, Feb 10, 2000 at 03:13:22PM -0500, Raul Miller wrote:
 On Thu, Feb 10, 2000 at 08:09:41PM +0200, Antti-Juhani Kaijanaho wrote:
  What if it's distributed with neither of them, and it just
  build-depends on the readline API?
 
 That sounds like an artificial situation.  Who is going to distribute
 non-working executables?  Why?

Ah, you were talking about executables, not source.  Sorry about that.

-- 
%%% Antti-Juhani Kaijanaho % [EMAIL PROTECTED] % http://www.iki.fi/gaia/ %%%

  
 (John Cage)


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-10 Thread Raul Miller
On Thu, Feb 10, 2000 at 10:34:52PM +0200, Antti-Juhani Kaijanaho wrote:
 Ah, you were talking about executables, not source.  Sorry about that.

Of course.

There's no requirement that you consider the program as a whole if you're
not dealing with executables/object code.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-09 Thread Raul Miller
This is an expanded version of my original response to this 
message.  Andreas indicated that he didn't understand why
what I was saying was significant.

On Mon, Feb 07, 2000 at 07:10:32PM -0500, Andreas Pour wrote:
  What does it mean for a program to accompany itself?  Why do you raise
  this point?
 
 It's not that the program accompanies itself. The paragraph of
 Section 3 in question deals in terms of components and modules,
 not entire executables.

The GPL uses the term module exactly once, and component and
components once each.  Here's the paragraph where this happens:

  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.  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 this paragraph follows a couple clauses which require the
complete corresponding source code for an executable before you
can distribute the executable:

  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) Accompany it with a written offer, valid for at least three
  years, to give any third party, for a charge no more than your
  cost of physically performing source distribution, a complete
  machine-readable copy of the corresponding source code, to be
  distributed under the terms of Sections 1 and 2 above on a medium
  customarily used for software interchange; or,
...


If you bother to read that, you'll see that

(*) The source code must be complete.
(*) The source code must correspond to the machine code.
(*) Source code must be provided for every piece of the
program.

(*) There's a special exception for a proprietary libc if that libc
accompanies a major component of the operating system which is not
distributed with the GPLed program.

The requirement that the source code must be complete conflicts with the
idea that you can distribute a working copy of kghostscript yet fail to
distribute all the source code for a working copy of kghostscript.

I suppose that Andreas imagines that kghostscript being split up
into multiple files somehow makes a difference.

So, when Andreas says:

 So in the hypothetical case we discuss, libc is a component
 (although statically linked, the library is a separate binary inside
 the executable, if I understand the linking process correctly) which
 accompanies the GPL'd component inside the executable.

I must assume that he's misread the GPL, because libc is not a component
in the sense that the GPL uses the term.

And (looking at the phrase GPL'd component) the way the GPL uses the
term, a component wouldn't be licensed under the GPL.

In the terms of the GPL, a proprietary libc would be an anything that
is normally distributed with a major component of the operating system.

There's really no point discussing the logic of this sentence that
Andreas wrote -- it just plain doesn't relate to the GPL in any
meaningful fashion.  If I rewrote it so that we called libc a module
which accompanies the GPLed module inside the executable, then the
sentence would make sense.  But in that case it doesn't make any
interesting points...

Andreas goes on to say:

 In any event, as I look up the definition of accompany in Webster's
 New Universal Unabridged Dictionary (2d ed. 1983), I get:
 
 (1) to go with or attend as a companion or associate on a journey, a walk,
 etc.; as, a man *accompanies* his friend to church, or on a tour.
 (2) to be with, as connected; to attend; as, pain *accompanies* disease.
 Syn: attend

I have no disagreements with this, and am only quoting it so that
Andreas can't claim that I've ignored it.

 And attend means (taking the only relevant definition):
 
 (3) to accompany as a circumstance or result; to be consequent to, from
 connection of cause, as fever *attends* a cold; a measure *attended* with ill
 effects.

Likewise I have no problem with this as a definition.

 Looking to the first definition of accompany, I think it fair to
 say that the libc goes with or attends as a companion the GPL
 executable as it is distributed.

No problem there.  But why would this be relevant, and to what?

The answer to that question seems to reside in Andreas's confusion
about what a major component of the OS is that the GPLed program
must 

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-09 Thread Andreas Pour
Raul Miller wrote:

[ ... ]

 On Mon, Feb 07, 2000 at 07:10:32PM -0500, Andreas Pour wrote:
   What does it mean for a program to accompany itself?  Why do you raise
   this point?
 
  It's not that the program accompanies itself. The paragraph of
  Section 3 in question deals in terms of components and modules,
  not entire executables.

 The GPL uses the term module exactly once, and component and
 components once each.  Here's the paragraph where this happens:

   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.  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 this paragraph follows a couple clauses which require the
 complete corresponding source code for an executable before you
 can distribute the executable:

   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) Accompany it with a written offer, valid for at least three
   years, to give any third party, for a charge no more than your
   cost of physically performing source distribution, a complete
   machine-readable copy of the corresponding source code, to be
   distributed under the terms of Sections 1 and 2 above on a medium
   customarily used for software interchange; or,
 ...

 If you bother to read that, you'll see that

 (*) The source code must be complete.

Right, but for the analysis to be complete you must include the definition of 
what
the complete source code is.  This is provided in the second sentence of the
ultimate para. in Section 3, which provides

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.

The key part being the reference to all modules it *contains*, rather than all
modules which may at run-time be linked to it.  To substantiate the point, I 
again
refer to my Webster's New Universal Unabridged Dictionary (2d ed. 1983) and 
look-up
contain, quoting the relevant definitions:

(1) to have in it; hold; enclose or include.
(2) to have the capacity for holding.
(3) to be equal or equivalent to; as, a gallon *contains* four quarts;

Now, please explain how the executable work which I am distributing 
(kghostview
which is dynamically linked to Qt) has in it, holds, encloses or includes,
has the capacity for holding, or is equal or equivalent to, the Qt library.
Sure, the Qt library can later be added to it -- like sugar to the gallon of 
water
-- but is not contained in it.  That's why when you distribute a 
dynamically-linked
kghostview you don't have to distribute Qt source code.  Now of course this
executable work no more contains Qt if it is distributed on the same CD.  
(However,
in case it is on the same CD, the special exception would not apply.)

If you don't like that result, I suggest you talk to FSF about changing the
language of the GPL.

 (*) The source code must correspond to the machine code.
 (*) Source code must be provided for every piece of the
 program.

Of course this depends on how you define program.  As Section 3 defines it,
Program is the GPL'ed work, and work based on the Program would be 
kghostview
(but not Qt, since that is not a work based on ghostview).  If this is 
confusing,
bear in mind that the Program refers only to source code -- the ghostview 
code in
the example is source code, and it has been modified by adding some more code, 
but
Qt has not been added to it.  For copyright purposes, kghostview source code is 
not
a derived work of Qt, any more than the Yahoo directory is a derived work of 
the
Internet.

 (*) There's a special exception for a proprietary libc if that libc
 accompanies a major component of the operating system which is not
 distributed with the GPLed program.

Lbc *is* a major component of the OS.

 The requirement that the source code must be complete conflicts with the
 idea that you can distribute a working copy of kghostscript yet fail to
 distribute all the source code for a working copy of kghostscript.

Two flaws in this analysis.  First, you don't have to distribute a working copy 
of
kghostscript; in fact 

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-09 Thread Joseph Carter
On Tue, Feb 08, 2000 at 09:14:55PM -0500, Andreas Pour wrote:
 Right, but for the analysis to be complete you must include the
 definition of what the complete source code is.  This is provided in the
 second sentence of the ultimate para. in Section 3, which provides
 
 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.
 
 The key part being the reference to all modules it *contains*, rather
 than all modules which may at run-time be linked to it.  To substantiate
 the point, I again refer to my Webster's New Universal Unabridged
 Dictionary (2d ed. 1983) and look-up contain, quoting the relevant
 definitions:

If I may pick a nit:

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.


So a dummy library would indeed fill this requirement.  However such a
dummy library would be an open admission there's a problem.  As such, I
suspect we'll never see one.


This overglorified legal language pissing contest has gone on long enough.
Everybody arguing at this point is pretty much repeating themselves.
Right or wrong, the others arguing back are no longer listening if ever
they were.  And at any rate, it seems this list's audience is much smaller
than it was.  Due to misconfiguration or whatever else I cannot say--I've
had people tell me they're on this list (kde-licensing) and have still not
seen this thread appear there.

Specifically representatives from Troll Tech are not present to my
knowledge.  In other words, you're all arguing syntactics and semantics
for your own benefits, rather than the benefit of KDE, Debian, Troll Tech,
or the Free Software community.


Give it a rest people.  This issue is not going to be resolved here in
this forum.  You're all wasting your breath on all sides and only adding
fuel to the fires.  Keep it up and someone is going to burn down the
forest.

-- 
Joseph Carter [EMAIL PROTECTED] Debian Linux developer
http://tank.debian.net   GnuPG key  pub 1024D/DCF9DAB3  sub 2048g/3F9C2A43
http://www.debian.org20F6 2261 F185 7A3E 79FC 44F9 8FF7 D7A3 DCF9 DAB3

* Knghtbrd crosses his toes
Knghtbrd (if I crossed my fingers it would be hard to type)



pgp7jvacOB35k.pgp
Description: PGP signature


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-09 Thread Don Sanders
I share similar views to Mr. Hutton. Allegations have been made that KDE is
responsible of GPL abuse and copyright violation. The fact that the GPL is
generally misunderstood has served to amplify these allegations. It took me
a considerable amount of time to find Andreas Pour's arguments in the sea of
confusion that surrounds this issue. Now having found them and being
convinced by them that no GPL abuse or copyright violation exists I feel that
instead of being silenced he very much deserves to be heard.

BFN,
Don.

On Wed, 09 Feb 2000, Steve Hutton wrote:
 On Tue, 08 Feb 2000, Joseph Carter wrote:
 
  This overglorified legal language pissing contest has gone on long enough.
  Everybody arguing at this point is pretty much repeating themselves.
  Right or wrong, the others arguing back are no longer listening if ever
  they were.  And at any rate, it seems this list's audience is much smaller
  than it was.  Due to misconfiguration or whatever else I cannot say--I've
  had people tell me they're on this list (kde-licensing) and have still not
  seen this thread appear there.
 
 Nobody else is listening, therefore the posters should quit arguing with
 each other?  Interesting hypothesis and conclusion :-)
 
 I for one have rather enjoyed Mr. Pour's eloquent and reasoned
 analysis.  The GPL is one of the most vague pieces of text of
 I've ever read, and the fact that these arguments about what it
 means go on for so long just underscore the point.
 
 I find it particularly amusing when people continually declare the
 GPL says this or that, and Mr. Pour points out that the license
 in fact contains no such language.  More humorous are the frequent
 implications that the GPL is some kind of mutable license, subject to
 grow and change depending upon what its author says he meant
 when he wrote it.  I take that back.  It's more sad than funny.
 
 Steve


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-09 Thread Anthony Towns
On Tue, Feb 08, 2000 at 09:14:55PM -0500, Andreas Pour wrote:
 Right, but for the analysis to be complete you must include the definition of 
 what
 the complete source code is.  This is provided in the second sentence of the
 ultimate para. in Section 3, which provides

Could you please limit your line lengths to around 75 characters? Anything
else makes it painful to read and awkward to quote.

 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.

Emphasis yours.

 
 The key part being the reference to all modules it *contains*, rather than 
 all
 modules which may at run-time be linked to it.  To substantiate the point, I 
 again
 refer to my Webster's New Universal Unabridged Dictionary (2d ed. 1983) and 
 look-up
 contain, quoting the relevant definitions:
 
 (1) to have in it; hold; enclose or include.
 (2) to have the capacity for holding.

What does (2) mean?

``This bucket contains four gallons of water. No, it doesn't have any
  water in it, but it has the capacity for holding four gallons, so
  therefore it contains four gallons.''

That doesn't make sense at all in this context as far as I can see.

Leaving that aside, though...

The intention of the authors (GNU and rms) is fairly clear, and they make
their interpretation fairly clear in the LGPL's (written by the same authors)
preamble:

  When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library.  The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. [...]

As such, I'm not really sure how you can say ``But that's not what RMS
meant, coz that's not what he wrote, see, this is what the dictionary
says and everything!'' and expect to be taken seriously.

Hmmm.

Actually, that's not entirely the whole story.

The LGPL (Library GPL) version 2, dated June 1991 (which is the same as
the GPL), had the following text in the preamble:

  The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it.  Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program.  However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.

That is, it didn't differentiate between statically linked executables
(which clearly makes a combined work under copyright law), and dynamically
linked binaries (which is less clear).

Now with dynamically liked GPL software we have three cases:

(a) A GPLed binary linked against a GPLed library
(b) A GPL-incompatible binary linked against a GPLed library.
(c) A GPLed binary linked against a GPL-incompatible library

(dynamic linking in all cases)

We'll note that in no case is the library a derived work (in any sense)
based on the binary (it doesn't include any code from the binary, it's
perfectly usable without the binary having ever been written, and so on).

It's probably arguable whether the binary is a derived work based on the
library or not. At best, it may contain portions of the library's interface
definitions (header files and what-not), however these are probably not
copyrightable [0].

Now, for (a) presumably we don't have any issues at all, and everyone's
happy. Of course, it would only apply to KDE if there was a (L)GPLed Qt
clone about.

Now (b) is clearly not the case for KDE. However it's probably the most
questionable one. Clearly, there aren't any issues with distributing
the library on its own. As far as distributing the binary is concerned,
it seems to me that you'd have to make one of the following arguments
to get the GPL to apply:

(1) the dynamically linked binary is a derived work (under
copyright law) of the library, as well as the binary's source
code, because it includes portions of the headers in the
resultant binary. (section 0 of the GPL)

(2) the dynamically linked binary is a derived work (under
copyright law) of the library, because it doesn't work without
the library.

(3) static linking is obviously bad, and since dynamic linking
is just the same as static linking except for a command line
option, and some random techincal things, both must be bad.

(4) while it's okay to distribute the binary and the library,
once you've got them you're not allowed to 

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-09 Thread Marcus Brinkmann
On Tue, Feb 08, 2000 at 09:14:55PM -0500, Andreas Pour wrote:
 
  (*) The source code must be complete.
 
 Right, but for the analysis to be complete you must include the definition of 
 what
 the complete source code is.  This is provided in the second sentence of the
 ultimate para. in Section 3, which provides
 
 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.
 
 The key part being the reference to all modules it *contains*, rather than 
 all
 modules which may at run-time be linked to it.  To substantiate the point, I 
 again
 refer to my Webster's New Universal Unabridged Dictionary (2d ed. 1983) and 
 look-up
 contain, quoting the relevant definitions:
 
 (1) to have in it; hold; enclose or include.
  ^^^

What about the Qt header files, which are included at compile time?

 (2) to have the capacity for holding.

(I am not sure if I get all details of the english language correct,
but the kde exectuable has the capacity to hold the qt libs).

Marcus


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-09 Thread Andreas Pour
Marcus Brinkmann wrote:

 On Tue, Feb 08, 2000 at 09:14:55PM -0500, Andreas Pour wrote:
  
   (*) The source code must be complete.
 
  Right, but for the analysis to be complete you must include the definition 
  of what
  the complete source code is.  This is provided in the second sentence of the
  ultimate para. in Section 3, which provides
 
  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.
 
  The key part being the reference to all modules it *contains*, rather 
  than all
  modules which may at run-time be linked to it.  To substantiate the point, 
  I again
  refer to my Webster's New Universal Unabridged Dictionary (2d ed. 1983) and 
  look-up
  contain, quoting the relevant definitions:
 
  (1) to have in it; hold; enclose or include.
   ^^^

 What about the Qt header files, which are included at compile time?

Right.  And those are distributed in source form.

I think you are taking this debate a bit out of context.  Raul is trying to 
convince me
why a statically linked kghostview is not OK but a statically linked ghostview 
on
Solaris is.  What you seem to be addressing here is the question of whether a 
KDE/Qt
binary can satisfy the GPL at all, which was a whole other debate.

To bring the point home, it is also true that proprietary libc header files are
enclosed in a Solaris ghostview (or pick another GPL'd/proprietary libc 
program).

  (2) to have the capacity for holding.

 (I am not sure if I get all details of the english language correct,
 but the kde exectuable has the capacity to hold the qt libs).

I don't think you got this right -- this doesn't mean the theoretical capacity 
but the
actual.  Otherwise you could say the sun contains Andreas since theoretically 
it can,
but that would not generally be considered a correct statement.

Ciao,

Andreas


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-09 Thread Raul Miller

Marcus Brinkmann wrote:
  What about the Qt header files, which are included at compile time?

On Wed, Feb 09, 2000 at 09:08:16AM -0500, Andreas Pour wrote:
 Right.  And those are distributed in source form.

Not under terms which satisfy the GPL.

The GPL requires that there be no proprietary restrictions on
the modification and redistribution of the source for any 
part of the program.

The QPL requires that Troll can put whatever proprietary restrictions
they like on the distribution of future modified versions of the
program.

 I think you are taking this debate a bit out of context.

Then again, the above issue has been pointed out to you many times,
yet you choose to ignore that particular issue whenever you feel like it.

 Raul is trying to convince me why a statically linked kghostview is
 not OK but a statically linked ghostview on Solaris is.

Well, yes, that's one point I'm currently trying to make.  But, I'm
begining to think that I couldn't convince you that paper can burn,
even if I had unlimited time, unlimited dry paper, unlimited dry air
and unlimited dry matches.

 What you seem to be addressing here is the question of whether a
 KDE/Qt binary can satisfy the GPL at all, which was a whole other
 debate.

And if you light a match and hold it up to a piece of paper, which
is sufficiently dry, and hold it there long enough for the paper
to catch -- which isn't usually more than a few seconds, though I'm
sure you could come up with some papers that wouldn't burn -- it's
possible for the paper to catch on fire.

 To bring the point home, it is also true that proprietary libc
 header files are enclosed in a Solaris ghostview (or pick another
 GPL'd/proprietary libc program).

   (2) to have the capacity for holding.
 
  (I am not sure if I get all details of the english language correct,
  but the kde exectuable has the capacity to hold the qt libs).

 I don't think you got this right -- this doesn't mean the theoretical
 capacity but the actual. Otherwise you could say the sun contains
 Andreas since theoretically it can, but that would not generally be
 considered a correct statement.

See program.  See program run.  Run program, run.

I think that if you examine an operating program -- not any specially
modified program, but the sort of program which any random user of
kghostscript might have -- and you took a look at what copyrightable
works comprised that program -- you'd have a pretty good idea of what
went into that program.

Of course, some people have raised the objection that the GPL doesn't
care how you use the program.  Which means that it would be legal to run
the program if it was being distributed legally.  But the only way to
believe that the program was distributed legally is by pretending that
a working copy of kghostscript is just some coincidence -- not something
that's being distributed.

Of course, once you've made that leap of fantasy (that working copies
of kghostscript are not being distributed), I suppose that it's pretty
easy to deny the meaning of any contradictory legal language.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-09 Thread Raul Miller
On Tue, Feb 08, 2000 at 09:14:55PM -0500, Andreas Pour wrote:
 Right, but for the analysis to be complete you must include the
 definition of what the complete source code is. This is provided in
 the second sentence of the ultimate para. in Section 3, which provides

 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.

That's part of the definition -- it's not reasonable to claim that this
somehow excludes any other definitional material from the GPL (or, for
that matter, any other definitional material from common english usage).

 The key part being the reference to all modules it *contains*,
 rather than all modules which may at run-time be linked to it.

This is a distinction you've introduced, not something that's ever
stated in the GPL.

 To substantiate the point, I again refer to my Webster's New Universal
 Unabridged Dictionary (2d ed. 1983) and look-up contain, quoting the
 relevant definitions:

 (1) to have in it; hold; enclose or include. 2) to have the
 (capacity for holding. 3) to be equal or equivalent to; as, a
 (gallon *contains* four quarts;

 Now, please explain how the executable work which I am distributing
 (kghostview which is dynamically linked to Qt) has in it, holds,
 encloses or includes, has the capacity for holding, or is equal
 or equivalent to, the Qt library.

I don't know which copy of kghostscript you're distributing, but let
me ask you this:  do you expect that copy to work?

 Sure, the Qt library can later be added to it -- like sugar to the
 gallon of water -- but is not contained in it.

We're not dealing with laws about the distribution of sugar water. We're
dealing with copyright laws in the context of a work which was designed
to include material licensed under the GPL as well as under the QPL.

And yet you continue to hold that it's just a coincidence that a running
copy of kghostscript is going to just happen to include the QPL licensed
material.

 That's why when you distribute a dynamically-linked kghostview
 you don't have to distribute Qt source code. Now of course this
 executable work no more contains Qt if it is distributed on the same
 CD. (However, in case it is on the same CD, the special exception
 would not apply.)

I presume that by contain you're not refering to any sort of physical
topology.  After all, it's just bits represented on a piece of plastic.
There's no inside or outside in the physical sense.  You've got a
few bits over here which happen to represent (to an informed person)
this concept of a filename.  Near those bits are a few more bits that
happen to indicate some other region of bits which happen to represent
the contents of a file.  And, on that CD, there are literally thousands
of these collections of bits which we think of as files.

But, the GPL doesn't make any sort of claim that only a single file is
considered to be the program.  Whenever it refers to files, it's very
clearly refering to multiple files.

But somehow you've gotten this idea in your head that the program
kghostscript is exactly the same thing as the file which happens to
have the name kghostscript.  But you've never offered any evidence for
that belief.

Please present some evidence that that one file represents the whole
program.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-09 Thread Andreas Pour
Raul Miller wrote:

 Marcus Brinkmann wrote:
   What about the Qt header files, which are included at compile time?

 On Wed, Feb 09, 2000 at 09:08:16AM -0500, Andreas Pour wrote:
  Right.  And those are distributed in source form.

 Not under terms which satisfy the GPL.

Says you :-).

 The GPL requires that there be no proprietary restrictions on
 the modification and redistribution of the source for any
 part of the program.

 The QPL requires that Troll can put whatever proprietary restrictions
 they like on the distribution of future modified versions of the
 program.

  I think you are taking this debate a bit out of context.

 Then again, the above issue has been pointed out to you many times,
 yet you choose to ignore that particular issue whenever you feel like it.

I don't ignore it, I disagree with it.  I have spent lots of e-mails
explaining why.

  Raul is trying to convince me why a statically linked kghostview is
  not OK but a statically linked ghostview on Solaris is.

 Well, yes, that's one point I'm currently trying to make.  But, I'm
 begining to think that I couldn't convince you that paper can burn,
 even if I had unlimited time, unlimited dry paper, unlimited dry air
 and unlimited dry matches.

The feeling is mutual.  So let's agree to disagree, OK?  And I won't respond
to what you wrote below -- you get the last word :-).

Ciao,

Andreas


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-09 Thread Raul Miller
On Wed, Feb 09, 2000 at 04:02:29PM -0500, Andreas Pour wrote:
  Then again, the above issue has been pointed out to you many times,
  yet you choose to ignore that particular issue whenever you feel like it.
 
 I don't ignore it, I disagree with it.  I have spent lots of e-mails
 explaining why.

Yet every one of these emails has contained significant errors.

You've claimed that these errors are inconsequential, but I've
yet to see you post an explanation that didn't contain errors
of fact.

What I want to know is: if all those errors are so inconsequential,
why did you bother writing them in the first place?

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-08 Thread Andreas Pour
Raul Miller wrote:

 On Mon, Feb 07, 2000 at 06:14:15PM -0500, Andreas Pour wrote:
  Where does it say that (in the GPL, that is).  It only says you have to make
  available the complete source code to what you are in fact distributing.

 I don't think we're disagreeing on this point.

 However, I think that you are imagining that people are distributing
 kghostscript executables and not distributing Qt.

 That's certainly not what Debian would do, if Debian included kghostscript
 in main.

So don't put the binary in main :-); it's not so hard to have users compile 
the
2-3 apps that fall within the KDE developers borrowed GPL code from another
project category.

  The next sentence reads:
 
  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.

 Ok, so you are aware of the part of the GPL which lets the proprietary
 libc be used.

  This sentence can easily be read to support the dynamic/static
 distinction.

 Eh? You can link the proprietary libc statically and this special
 exception would still be just as applicable.
   
No, it would not, b/c then you would actually be distributing the
executable proprietary libc, and the next clause kicks in (the
exception (unless . . .) to the special exception) to require the
source code to be distributed for the libc part as well.
  
   Yes, you would be distributing the proprietary libc.  But that's legal
   if (1) the libc would also be distributed with a major component of the
   operating system, and (2) that major component of the operating system
   would not accompany the GPLed executable.
 
  Right, but if it's statically linked by definition it does accompany the
  executable.

 it meaning the GPLed program?

Right.

 If so, why do you use the phrase accompany the executable?  Aren't you
 talking about the executable of the GPLed program?

Right.

 What does it mean for a program to accompany itself?  Why do you raise
 this point?

It's not that the program accompanies itself.  The paragraph of Section 3 in
question deals in terms of components and modules, not entire executables.  
So
in the hypothetical case we discuss, libc is a component (although statically
linked, the library is a separate binary inside the executable, if I 
understand
the linking process correctly) which accompanies the GPL'd component inside the
executable.

In any event, as I look up the definition of accompany in Webster's New 
Universal
Unabridged Dictionary (2d ed. 1983), I get:

(1) to go with or attend as a companion or associate on a journey, a walk,
etc.; as, a man *accompanies* his friend to church, or on a tour.
(2) to be with, as connected; to attend; as, pain *accompanies* disease.
Syn: attend

And attend means (taking the only relevant definition):

(3) to accompany as a circumstance or result; to be consequent to, from
connection of cause, as fever *attends* a cold; a measure *attended* with ill
effects.

Looking to the first definition of accompany, I think it fair to say that the
libc goes with or attends as a companion the GPL executable as it is
distributed.

If you look at Section 3, it refers to For an executable work, complete source
code means all the source code for all *modules* it contains, with an exception
for anything that is normally distributed . . . with the major *components* . 
. .
of the operating system . . . , unless that *component* itself accompanies the
executable.  OK, so you need all source code to all modules except for modules
normally distributed with the major components of the OS, unless that component
accompanies-- goes with -- the executable.  In our hypothetical, the module 
is
libc.  Hence, you need the source code to libc, except if libc is normally
distributed with the OS and it does not accompany -- go with -- the 
executable.

The problem with your reading of accompany is that a lesser cannot accompany a
greater.  However, this is not the case:  I can accompany my family, 
although I
am part of my family, a component of my family.  Similarly, when you have a 
set
of components/modules, any one can accompany the others, even if they are all
linked together.  This is even more the case with GPL, since it is in copyright
universe, and certainly if you have a book composed of essays you can say each
essay accompanies the book, although each essay forms part of the book it is
accompanying.

Under your reading, even the OS vendor could get away distributing GPL'd code 
with
a static proprietary libc or other system library, so long as there is no 
dynamic
libc (and perhaps, depending on your reading, no program which is non-GPL'd 
using

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-08 Thread Raul Miller
On Mon, Feb 07, 2000 at 07:10:32PM -0500, Andreas Pour wrote:
 So don't put the binary in main :-); it's not so hard to have users
 compile the 2-3 apps that fall within the KDE developers borrowed GPL
 code from another project category.

We're not putting it in main.

  What does it mean for a program to accompany itself?  Why do you raise
  this point?
 
 It's not that the program accompanies itself.  The paragraph of Section 3 in
 question deals in terms of components and modules, not entire 
 executables.  So
 in the hypothetical case we discuss, libc is a component (although 
 statically
 linked, the library is a separate binary inside the executable, if I 
 understand
 the linking process correctly) which accompanies the GPL'd component inside 
 the
 executable.

Component, in the GPL, refers to major component of the operating
system.  The word is only used twice, and both occurrences are in the
same sentence (this sentence is part of the special exception which
lets GPLed code be used on proprietary operating systems).  And, the
GPL explicitly gives the kernel and the compiler as explicit examples
of what it means in that context.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-08 Thread Andreas Pour
Raul Miller wrote:

It's not that the program accompanies itself. The paragraph
of Section 3 in question deals in terms of components and
modules, not entire executables. So in the hypothetical case
we discuss, libc is a component (although statically linked,
the library is a separate binary inside the executable, if I
understand the linking process correctly) which accompanies the
GPL'd component inside the executable.
  
   Component, in the GPL, refers to major component of the operating
   system. The word is only used twice, and both occurrences are in
   the same sentence (this sentence is part of the special exception
   which lets GPLed code be used on proprietary operating systems).
   And, the GPL explicitly gives the kernel and the compiler as
   explicit examples of what it means in that context.

 On Tue, Feb 08, 2000 at 04:26:32PM -0500, Andreas Pour wrote:
  Does non-sequitor mean anything to you?

 Weren't you the one that said, 'libc is a component'?

 Or are you trying to suggest that this wasn't in the context of the GPL?

Your curt replies to detailed, reasoned arguments just leave me guessing as
to what you mean, which is why I will stop wasting my time and this thread.

Ciao,

Andreas


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-07 Thread Raul Miller
On Sat, Feb 05, 2000 at 12:04:52AM +0100, Marc van Leeuwen wrote:
 If you insist... I hope I get the details right though.
 
 So the scenario is: kghoststript is being distributed as executable of a
 GPL-ed source dynamically linked against the Qt object library; the
 distributors read all the source code for all modules it contains to mean
 all the source code for kghostscript proper (not the library), and they
 dutifully accompany the executable by this source, both with the GPL licence;
 they also distribute Qt as usual in source and object format, both with QPL
 licence. The sources for kghostscript are the exact ones used to build the
 executable, so CFLAGS does not contain -static.

Except that by your logic, the kghostscript executable won't execute.
Who do you think you're fooling?

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-07 Thread Raul Miller
On Sun, Feb 06, 2000 at 12:39:51AM -0500, Andreas Pour wrote:
 Making that change under the scenario described by Marc would violate
 the GPL, but so would lots of other things, such as linking a GPL
 program with a proprietary libc.

Nope, because there's a special exception in the GPL that allows people
to use a proprietary libc.  This exception is limited (you couldn't 
by the proprietary libc in conjunction with the GPLed program, nor could
they ship together), but it does exist.  Just search for special exception
in the text of the GPL.

 I note in this regard that Section 3 of the GPL defines complete source 
 code as:
 
 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.
 
 Notice that it lists only modules it *contains*, not all modules it 
 contains or
 links to or all modules it contains during execution (the latter being 
 relevant
 b/c executable work as written in the quoted sentence above refers to the
 executable work as it is being distributed, not as it exists at run-time).

You're claiming here that even though Qt must be linked with kghostscript
that the executing program doesn't contain Qt?

 The next sentence reads:

 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.

Ok, so you are aware of the part of the GPL which lets the proprietary
libc be used.

 This sentence can easily be read to support the dynamic/static
distinction.

Eh? You can link the proprietary libc statically and this special
exception would still be just as applicable.

 Normally you would distribute the major component w/ the executable
 only if it is statically linked, in which case you are required to
 include the source of that component; but if dynamically linked, you
 are not required to distribute the source.

Even if it's statically linked you're not required to distribute the
source for a proprietary libc. As long as libc is distributed with the
kernel or the compiler for the operating system, and as long as the
kernel or the compiler is *not* distributed with kghostscript, there's
no problem with also distributing some of that proprietary libc with
kghostscript.

 I.e., the GPL does distinguish b/w dynamic and static linking.

It doesn't even use the term linking in the terms of the license.

 As to your -static flag, I think you agree, from your past postings,
 that someone can distribute a GPL'd program dynamically linked against
 a proprietary Solaris libc, but that this person could not compile
 it statically by adding the '-static' flag and then distribute the
 program. So really I don't see how your kghostview example is any
 different from what is already allowed and done.

I did not agree to any such thing.  It's perfectly legal to distribute
a GPLed program which is statically linked against a Solaris libc.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-07 Thread William T Wilson
On Mon, 7 Feb 2000, Raul Miller wrote:

  b/c executable work as written in the quoted sentence above refers to the
  executable work as it is being distributed, not as it exists at run-time).
 
 You're claiming here that even though Qt must be linked with kghostscript
 that the executing program doesn't contain Qt?

The executing program isn't relevant because the GPL doesn't specify the
conditions the program can be run under.  It only specifies the conditions
the program can be distributed under.

  I.e., the GPL does distinguish b/w dynamic and static linking.
 
 It doesn't even use the term linking in the terms of the license.

I think it does, by implication if not directly.  If you link statically
with a proprietary library which is not part of the operating system then
you cannot distribute under the GPL.  But you can if you link dynamically,
because you aren't distributing any proprietary code at all.  You're just
assuming that the required proprietary code will already be on the target
system.



Re: On interpreting licences (was: KDE not in Debian?)

2000-02-07 Thread Raul Miller
 On Mon, 7 Feb 2000, Raul Miller wrote:
 
   b/c executable work as written in the quoted sentence above refers to 
   the
   executable work as it is being distributed, not as it exists at run-time).
  
  You're claiming here that even though Qt must be linked with kghostscript
  that the executing program doesn't contain Qt?

On Mon, Feb 07, 2000 at 12:53:51PM -0500, William T Wilson wrote:
 The executing program isn't relevant because the GPL doesn't specify
 the conditions the program can be run under. It only specifies the
 conditions the program can be distributed under.

The GPL is what gives permission to distribute that program.

The GPL only gives permssion to distribute the program if you also make
available the complete source code for that program (where that source
has to be available under terms and conditions that satisfy the GPL).

You're claiming that the complete source code doesn't contain a part
of the program which is necessary for it to run?

   I.e., the GPL does distinguish b/w dynamic and static linking.
  
  It doesn't even use the term linking in the terms of the license.
 
 I think it does, by implication if not directly. If you link
 statically with a proprietary library which is not part of the
 operating system then you cannot distribute under the GPL. But you
 can if you link dynamically, because you aren't distributing any
 proprietary code at all. You're just assuming that the required
 proprietary code will already be on the target system.

Ok, so your assertion is that code which is necessary for the program
to run -- which is included in the executing program -- is not a part
of the program?

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-07 Thread Raul Miller
   b/c executable work as written in the quoted sentence above refers to 
   the
   executable work as it is being distributed, not as it exists at run-time).

On Mon, 7 Feb 2000, Raul Miller wrote:
  You're claiming here that even though Qt must be linked with kghostscript
  that the executing program doesn't contain Qt?

On Mon, Feb 07, 2000 at 12:53:51PM -0500, William T Wilson wrote:
 The executing program isn't relevant because the GPL doesn't specify
 the conditions the program can be run under. It only specifies the
 conditions the program can be distributed under.

That's fine: as long as you give the complete source code for the
executable program you can execute it under whatever conditions you
please.

But linking with Qt isn't some random example of some unusual
circumstances for running the program.  Linking with Qt is the only way
you can have a complete copy of the program.

And you have to distribute the complete source for the program even if
you're not distributing all of the object code.  And, of course, that
source has to be distributed in a way that meets the terms of the GPL.

   I.e., the GPL does distinguish b/w dynamic and static linking.
  
  It doesn't even use the term linking in the terms of the license.
 
 I think it does, by implication if not directly.  If you link statically
 with a proprietary library which is not part of the operating system then
 you cannot distribute under the GPL.

Linking statically with a proprietary library is perfectly legal if
(1) the library is distributed with the OS, and (2) the GPLed program
is not.

Linking dynamically doesn't give any additional permissions.

 But you can if you link dynamically, because you aren't distributing
 any proprietary code at all. You're just assuming that the required
 proprietary code will already be on the target system.

Distribute with/without code only matters for that special exception
that lets people link (statically or dynamically) with a proprietary libc.
And even there you've not understood the requirement.

Except for that special exception, you have to distribute the complete
source for the program under the GPL even if you're only distributing
part of the object code yourself.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-07 Thread Jeff Teunissen
William T Wilson wrote:
 
 On Mon, 7 Feb 2000, Raul Miller wrote:
 
   b/c executable work as written in the quoted sentence above refers
   to the executable work as it is being distributed, not as it exists
   at run-time).
 
  You're claiming here that even though Qt must be linked with
  kghostscript that the executing program doesn't contain Qt?
 
 The executing program isn't relevant because the GPL doesn't specify the
 conditions the program can be run under.  It only specifies the
 conditions the program can be distributed under.

The program as _distributed_ contains portions of Qt, even if dynamically
linked.

Macros. Data structures. Method definitions. All are parts of Qt
necessary for compilation, and which are included in the final
executable.

   I.e., the GPL does distinguish b/w dynamic and static linking.
 
  It doesn't even use the term linking in the terms of the license.
 
 I think it does, by implication if not directly.  If you link statically
 with a proprietary library which is not part of the operating system
 then you cannot distribute under the GPL.  But you can if you link
 dynamically, because you aren't distributing any proprietary code at
 all.  You're just assuming that the required proprietary code will
 already be on the target system.

Dynamic linking has been the exception rather than the rule for most of
the history of computing. Most libc's, even proprietary, allow
distribution of static binaries.

-- 
| Jeff Teunissen -=- Pres., Dusk To Dawn Computing -- d2deek at pmail.net
| Disclaimer: I am my employer, so anything I say goes for me too. :)
| dusknet.dhis.net is a black hole for email.Use my Reply-To address.
| Specializing in Debian GNU/Linux http://dusknet.dhis.net/~deek/


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-07 Thread Raul Miller
  You're claiming here that even though Qt must be linked with
  kghostscript that the executing program doesn't contain Qt?

On Mon, Feb 07, 2000 at 05:17:56PM -0500, Andreas Pour wrote:
 Well, this is funny indeed. When it suits your desired interpretation,
 you can change words rather freely; yet at other times you insist on
 strict reading of the words. Although it is obvious, I will repeat
 myself: I said executable work, as used in the GPL, not executing
 program. The reference to executable work in Section 3, which I
 quoted above, must be the Program . . . in . . . executable form
 mentioned in the beginning of Section 3 (why? b/c the quoted sentence
 is defining the term). In short, the term refers only to what is
 being copied and distributed, rather than what the user ends up
 executing. If you read Section 3 with a fair eye I think you will
 see what I mean.

It's true that you do not have to distribute in object form everything
that's going to go into the complete program.

However, it's also true that you must distribute the source for the
complete program.

I'm asserting that kghostscript without Qt is not the complete program.

You do not appear to be disagreeing with me on that point.  Instead,
you appear to be quibbling that the GPL doesn't require that the entire
executable be distributed.

   The next sentence reads:
  
   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.
 
  Ok, so you are aware of the part of the GPL which lets the proprietary
  libc be used.
 
   This sentence can easily be read to support the dynamic/static
  distinction.
 
  Eh? You can link the proprietary libc statically and this special
  exception would still be just as applicable.
 
 No, it would not, b/c then you would actually be distributing the
 executable proprietary libc, and the next clause kicks in (the
 exception (unless . . .) to the special exception) to require the
 source code to be distributed for the libc part as well.

Yes, you would be distributing the proprietary libc.  But that's legal
if (1) the libc would also be distributed with a major component of the
operating system, and (2) that major component of the operating system
would not accompany the GPLed executable.

There's nothing in that exception which says that libc can't accompany
the GPLed executable.  The requirement is that the GPLed executable
can't be accompanied by the major component of the operating system
which includes the cannonical copy of libc.

Stated even more informally, that exception says: you can use a
proprietary libc if everyone already has it, but then the the OS vendor
(who stuck everyone with this proprietary libc) can't distribute the
GPLed program.

The underlying idea is that the OS vendor ought to have the capability
to fix the license on the proprietary libc, but users of that OS wouldn't
be able to fix the license.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-07 Thread Andreas Pour
Raul Miller wrote:

   You're claiming here that even though Qt must be linked with
   kghostscript that the executing program doesn't contain Qt?

 On Mon, Feb 07, 2000 at 05:17:56PM -0500, Andreas Pour wrote:
  Well, this is funny indeed. When it suits your desired interpretation,
  you can change words rather freely; yet at other times you insist on
  strict reading of the words. Although it is obvious, I will repeat
  myself: I said executable work, as used in the GPL, not executing
  program. The reference to executable work in Section 3, which I
  quoted above, must be the Program . . . in . . . executable form
  mentioned in the beginning of Section 3 (why? b/c the quoted sentence
  is defining the term). In short, the term refers only to what is
  being copied and distributed, rather than what the user ends up
  executing. If you read Section 3 with a fair eye I think you will
  see what I mean.

 It's true that you do not have to distribute in object form everything
 that's going to go into the complete program.

 However, it's also true that you must distribute the source for the
 complete program.

Where does it say that (in the GPL, that is).  It only says you have to make
available the complete source code to what you are in fact distributing.

 I'm asserting that kghostscript without Qt is not the complete program.

 You do not appear to be disagreeing with me on that point.  Instead,
 you appear to be quibbling that the GPL doesn't require that the entire
 executable be distributed.

That for sure it does not -- the only complete requirement pertains to source
code.

The next sentence reads:
   
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.
  
   Ok, so you are aware of the part of the GPL which lets the proprietary
   libc be used.
  
This sentence can easily be read to support the dynamic/static
   distinction.
  
   Eh? You can link the proprietary libc statically and this special
   exception would still be just as applicable.
 
  No, it would not, b/c then you would actually be distributing the
  executable proprietary libc, and the next clause kicks in (the
  exception (unless . . .) to the special exception) to require the
  source code to be distributed for the libc part as well.

 Yes, you would be distributing the proprietary libc.  But that's legal
 if (1) the libc would also be distributed with a major component of the
 operating system, and (2) that major component of the operating system
 would not accompany the GPLed executable.

Right, but if it's statically linked by definition it does accompany the
executable.

 There's nothing in that exception which says that libc can't accompany
 the GPLed executable.

Of course it can, but then you have to include the source code.

 The requirement is that the GPLed executable
 can't be accompanied by the major component of the operating system
 which includes the cannonical copy of libc.

 Stated even more informally, that exception says: you can use a
 proprietary libc if everyone already has it, but then the the OS vendor
 (who stuck everyone with this proprietary libc) can't distribute the
 GPLed program.

I don't see any reference to OS vendor, whether explicit or implicit, in the
language of Section 3 of the GPL.  The only distinction on the system component
exception is whether the system component accompanies the executable or not:
if not, you are excused from including the source code for that component, if
it does, you are not excused

 The underlying idea is that the OS vendor ought to have the capability
 to fix the license on the proprietary libc, but users of that OS wouldn't
 be able to fix the license.

While I may agree that this is a nice theory, it is not reflected in the
language of the GPL.  This only goes to prove how poorly the GPL is drafted, as
we can disagree even on this relatively elementary point.

Ciao,

Andreas


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-07 Thread Raul Miller
On Mon, Feb 07, 2000 at 06:14:15PM -0500, Andreas Pour wrote:
 Where does it say that (in the GPL, that is).  It only says you have to make
 available the complete source code to what you are in fact distributing.

I don't think we're disagreeing on this point.

However, I think that you are imagining that people are distributing
kghostscript executables and not distributing Qt.

That's certainly not what Debian would do, if Debian included kghostscript
in main.

 The next sentence reads:

 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.
   
Ok, so you are aware of the part of the GPL which lets the proprietary
libc be used.
   
 This sentence can easily be read to support the dynamic/static
distinction.
   
Eh? You can link the proprietary libc statically and this special
exception would still be just as applicable.
  
   No, it would not, b/c then you would actually be distributing the
   executable proprietary libc, and the next clause kicks in (the
   exception (unless . . .) to the special exception) to require the
   source code to be distributed for the libc part as well.
 
  Yes, you would be distributing the proprietary libc.  But that's legal
  if (1) the libc would also be distributed with a major component of the
  operating system, and (2) that major component of the operating system
  would not accompany the GPLed executable.
 
 Right, but if it's statically linked by definition it does accompany the
 executable.

it meaning the GPLed program?

If so, why do you use the phrase accompany the executable?  Aren't you
talking about the executable of the GPLed program?

What does it mean for a program to accompany itself?  Why do you raise
this point?

If it doesn't mean the GPLed program, what is it that you say would
be statically linked?

  There's nothing in that exception which says that libc can't accompany
  the GPLed executable.
 
 Of course it can, but then you have to include the source code.

Sure -- you not only have to include the source code, but you have to
make sure it's distributed under GPL terms... but then we wouldn't be
talking about that proprietary libc.

  The requirement is that the GPLed executable
  can't be accompanied by the major component of the operating system
  which includes the cannonical copy of libc.
 
  Stated even more informally, that exception says: you can use a
  proprietary libc if everyone already has it, but then the the OS vendor
  (who stuck everyone with this proprietary libc) can't distribute the
  GPLed program.
 
 I don't see any reference to OS vendor, whether explicit or implicit,
 in the language of Section 3 of the GPL. The only distinction on the
 system component exception is whether the system component accompanies
 the executable or not: if not, you are excused from including the
 source code for that component, if it does, you are not excused

It seems to me that you'd call someone distributing major components of
a proprietary OS an OS vendor.  I'm sure you could construct examples
which are exceptions to that rule.  But I made it very clear that I was
talking informally -- I was talking about the usual case, not trying to
be so general that I was covering all potential issues.

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-06 Thread Andreas Pour
Raul Miller wrote:

 On Fri, Feb 04, 2000 at 11:31:48AM +0100, Marc van Leeuwen wrote:
  That point is: why does GPL section 3 not say something like the
  following?
 
For object code or other kinds of executable work, complete source code
means the full source text for all executable code that will be executed 
  as
a direct consequence of executing the work, and whose presence on the same
computer as the work is a prerequisite for proper execution of the work; 
  in
addition it includes any associated interface definition files, plus the
scripts used to control compilation and installation of the executable.

 That wouldn't work -- you've just defined the executable code as the
 source code.

 Meanwhile, I've not gotten any real feedback on whether adding -static
 to CFLAGS is legal, let alone any of the more complicated changes
 I proposed...

Making that change under the scenario described by Marc would violate the GPL, 
but
so would lots of other things, such as linking a GPL program with a proprietary
libc.  In the latter case, it does not even require chaning any Makefile, simply
the fact of having a different libc on the compiling system will result in the
violation (of course only to the extent a static binary is distributed).

I note in this regard that Section 3 of the GPL defines complete source code 
as:

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.

Notice that it lists only modules it *contains*, not all modules it contains 
or
links to or all modules it contains during execution (the latter being 
relevant
b/c executable work as written in the quoted sentence above refers to the
executable work as it is being distributed, not as it exists at run-time).  The
next sentence reads:

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.

This sentence can easily be read to support the dynamic/static distinction.
Normally you would distribute the major component w/ the executable only if it
is statically linked, in which case you are required to include the source of 
that
component; but if dynamically linked, you are not required to distribute the
source.  I.e., the GPL does distinguish b/w dynamic and static linking.

As to your -static flag, I think you agree, from your past postings, that 
someone
can distribute a GPL'd program dynamically linked against a proprietary Solaris
libc, but that this person could not compile it statically by adding the 
'-static'
flag and then distribute the program.  So really I don't see how your kghostview
example is any different from what is already allowed and done.

Ciao,

Andreas


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-05 Thread Marc van Leeuwen
Raul Miller wrote:
 Meanwhile, I've not gotten any real feedback on whether adding -static
 to CFLAGS is legal, let alone any of the more complicated changes
 I proposed...

If you insist... I hope I get the details right though.

So the scenario is: kghoststript is being distributed as executable of a
GPL-ed source dynamically linked against the Qt object library; the
distributors read all the source code for all modules it contains to mean
all the source code for kghostscript proper (not the library), and they
dutifully accompany the executable by this source, both with the GPL licence;
they also distribute Qt as usual in source and object format, both with QPL
licence. The sources for kghostscript are the exact ones used to build the
executable, so CFLAGS does not contain -static.

Now somebody receives this distribution and for some reason adds -static to
the CFLAGS, as properly is his right, and rebuilds. He finds himself with a
substantially bigger object file than in the distribution, but otherwise no
dramatic changes occur. The change is highly unlikely to flow back to the
first distributor, but even if by some accident their source distribution
would have its CFLAGS altered, it would just mean that these sources no longer
correspond exactly to the distributed binaries. No illegality yet.

Now the recipient makes a more substantial improvement to the kghostscript
sources and decides to share it with the world; he puts his modified sources
on his ftp server (GPL-ed, as always). Now anybody downloading these improved
sources will have their executables built too large by default, if they don't
find out and remove the -static; that's a pity but no disaster. Next thing,
our hacker becomes so popular that demand arises for distribution of binaries.

At this point he may have forgotten that his binaries, unlike the
original ones, contain parts of the Qt library and simply put them up for
distribution, with the GPL licence, just like his sources. This is illegal,
and he could be sued. Whether he can be sued by Troll is not entirely clear to
me: while the binary is certainly derived work from Qt in the copyright sense,
it does not seem to classify as modified version of Qt in the sense of QPL
(which systematically distinguishes modified versions and third-party
application programs based on Qt) so QPL4a (requiring a QPL notice) and QPL4c
(requiring modifications (all of kghostscript?) to enjoy the permissions of
QPL) probably do not apply; in any case QPL6 is not violated because it merely
requires sufficiently free sources, not the precise permissions of QPL. But
our forgetful hacker can certainly be sued by the author of kghostscript,
since he cannot guarantee the GPL permissions with respect to the Qt sources
(which he does not distribute, but which are definitely nowhere distributed
other than with QPL); in particular recipients of his binaries have no right
to modify and redistribute the Qt sources (QPL3, like QPL5, is giving no
permissions for things that require permission). It is not quite clear what
suing would achieve though (certainly not release of Qt under GPL); more
likely the kghostscript author, if at all bothered about the situation, would
urge for reversion to distribution of dynamically linked executables.

On the other hand our hacker may think wait, I'm becoming a serious
distributor, let's check the licences. He reads GPL carefully, understands
that he must release all sources under the terms of the GPL, checks that his
binaries include the Qt library, fetches its sources, reads the QPL and
understands by QPL2 that he must leave the QPL notice in. If he understands
the situation well he may give up here and decide that he cannot satisfy GPL
this way, and refrain from distribution, or revert to distributing dynamic
execs. Or he may naively plant the GPL flag next to the QPL licence, and leave
it to his recipients to figure out what their rights are. This is pretty bad.

...?

I'm sorry, maybe it's because I'm not much of a story teller, but I still
can't figure out how to get to the part where the Evil Troll emerges from the
shadows, and wields the powers bestowed on it by QPL3b to mercilessly rip an
originally GPL-ed piece of kghostscript (or Gimp) out of this software for
abuse in its own proprietary software, while enjoying immunity from being sued
by the respective authors for copyright infringement. Maybe somebody else can
continue? 

Marc van Leeuwen


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-04 Thread Marc van Leeuwen
On Tue, 1 Feb 2000 I wrote:

 So in this case distribution of non-GPL-ed source code must still be subject
 to [GPL section 2], if that source is part of the complete sources of the
 binary distributed, and the exception for OS components does not apply.
 
 I suppose that a program dynamically linked against a library does not
 contain any of the code of that library, so does the source for that library
 count as part of the complete source for the dynamically linked
 executable? GPL says
 
   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.
 
 Possibly the letter allows exclusion of the sources for the library in this
 case, because the binary does not contain any modules of the library, and
 even the interface definition files for the library may be considered to not
 be associated to the modules that are included in the binary (even if they
 are used by those modules). However, such reading does seem to violate the
 spirit of the GPL, since (1) the term complete sources itself does not
 suggest this reading, (2) it rests on a somewhat technical distinction
 between dynamically linked and statically linked executables, (3) what would
 the purpose of requiring inclusion of scripts be, other than to allow using
 them to recreate a modified binary after changing the sources, requiring at
 least access to the interface definition files of the library, and (4) such
 reading makes the exception for OS components mostly unnecessary (do
 executables usually contain modules that also classify as anything that is
 normally distributed... with the major components... of the operating system
 on which the executable runs?). As for reason (2), how would the intent of
 the GPL, which is clearly to ensure that anybody using GPL-derived programs
 is able and free to improve the sources and redistribute, be served by
 allowing dynamically linked binaries where it forbids statically linked
 ones?
 
 Yet, why has nobody recently put forward this way of resolving the KDE/Qt
 issue? I've seen drastic bending of the meaning of much more unambiguous
 parts of the GPL. Maybe this was discussed and resolved long ago, or maybe
 I'm just too blind too see the obvious? Anybody please explain.

To which David Johnson replied:

 I have put this opinion forth (that Qt is distinct from the application and
 not a module) in the past, but [...] I have become gun shy and have
 refrained from stating what I see as obvious.

Then Raul Miller responded: [...]

 So copyright law grants some fairly broad protections. Without broad
 protections, you could never prove copyright violation. [Which, some people
 might argue, is a good reason for getting rid of copyright laws -- but
 that's a whole different discussion.]
 
 And, at least in the U.S., you don't actually have to make the illegal
 copies to be guilty of copyright violation: you just have to make it easy
 for the illegal copies to be made.
 
 So treating unlinked code as independent works doesn't cut it, not when
 the usual practice is to use these independent pieces together on the
 target machine.

I would like to note that the discussion has by now made a strange turn. I was
discussing the interpretation of complete sources in GPL section 3.
Everybody agrees that one has to meet the conditions of GPL in order to
distribute an executable built from GPL-ed sources; the ordinaray protections
of copyright law will guarantee that. So section 3 could require whatever it
likes, and define complete sources in any way it finds suitable. My only
observation was that the language it uses taken literally does not seem to
include sources for the library in the case of distribution of dynamically
linked executables. Now I know this is not what the FSF wants it to mean; I
already noted the interpretation seems to run contrary to the spirit of the
GPL, and on http://www.fsf.org/philosophy/license-list.html, the FSF says:

  Since the QPL is incompatible with the GNU GPL, you cannot take a
  GPL-covered program and Qt and link them together, no matter how.

That is an overstatement since the GPL itself admits: Activities other than
copying, distribution and modification are not covered by this License; they
are outside its scope. But again that is besides the current point. That
point is: why does GPL section 3 not say something like the following?

  For object code or other kinds of executable work, complete source code
  means the full source text for all executable code that will be executed as
  a direct consequence of executing the work, and whose presence on the same
  computer as the work is a prerequisite for proper execution of the work; in
  addition it includes any associated interface definition files, plus the
  scripts used to control compilation and installation of the executable.

That would 

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-04 Thread Raul Miller
On Fri, Feb 04, 2000 at 11:31:48AM +0100, Marc van Leeuwen wrote:
 That point is: why does GPL section 3 not say something like the
 following?
 
   For object code or other kinds of executable work, complete source code
   means the full source text for all executable code that will be executed as
   a direct consequence of executing the work, and whose presence on the same
   computer as the work is a prerequisite for proper execution of the work; in
   addition it includes any associated interface definition files, plus the
   scripts used to control compilation and installation of the executable.

That wouldn't work -- you've just defined the executable code as the
source code.

Meanwhile, I've not gotten any real feedback on whether adding -static
to CFLAGS is legal, let alone any of the more complicated changes
I proposed...

-- 
Raul


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-02 Thread Lynn Winebarger
On Wed, 2 Feb 2000, Marc van Leeuwen wrote:

 Scripsit Lynn Winebarger [EMAIL PROTECTED]
 
  There's a difference. You'd have to do some work to show me that in all
  cases a function call is equivalent to a footnote - footnotes you don't need
  to see to understand the text, a non-standard API I need to know at least
  the documentation for the library implementation (which probably describes,
  but not defines, the API).
 
 Uh? Where does copyright law talk about meaning and understanding? If I write
 a book about (say) The Rolling Stones or Microsoft Windows one can't really
 understand the text without accessing (or having had access to) their music
 respectively software, but that does not give them any copyrights to my book!
 
   Well, let's look at the case of fiction.  If you use a character from a
copyrighted text, your work may be derivative of that.  Why?  Because
you're relying on the work of the author of the first text to provide the
meaning/context for this character in your book.  You're not just using
the name as a reference.  The question is not whether copyright law
explicitly says such and such will constitute being derivative, the
question is what will a judge/jury decide after seeing the two texts.  
Yes, I know software isn't fiction.  But fiction does set the stage
for an argument based on meaning and context.  In nonfiction, generally a
reference is given not to provide meaning to a statement, but to provide
extra detail concerning a statement.  With software, the reference is the
statement, and is meaningless without knowing the function's code or
documentation.
And no, I don't think you need access to the Rolling Stones music or
MS Windows in order to read and understand a book about them (this may
depend on the quality of the text).

 So portable code is unaffected by any implementation's copyrights but
 non-portable code is affected? This would be quite interesting (and absurd).

Depends on what you mean by portable and non-portable.  Using
readline, for example, doesn't make your code non-portable, though it does
make it derivative of the readline library.
While it may be absurd from a technical viewpoint, I don't believe it
is so if you're looking at the code solely as a form of expression (as the
copyright has 0 to do with any functionality it may have).
There may, of course, be restrictions on how an OS vendor may apply
any copyright interest they may have in application from antitrust law.

 An example that you might be more familiar with is the WWW. Think of what it
 would mean if linking to a webpage would give the (intellectual) owner of that
 page copyrights over that page containing the link. And of course by extension
 to any page linking to that page, etc. Well I'm pretty sure it would mean I
 have copyrights over the entire WWW (and so would you). Yet it remains even
 more true than for function calls that one cannot determine the meaning of a
 weblink without following it.

Nonsense.  A link is simply a reference - there is no need to look at
it for the referring page to be completely meaningful.  

Lynn


On interpreting licences (was: KDE not in Debian?)

2000-02-01 Thread Marc van Leeuwen
This is partly in reply to messages of Andreas Pour [EMAIL PROTECTED] on
Fri, 28 Jan and of Jeff Licquia [EMAIL PROTECTED] on Sun, 30 Jan. But mainly 
it
is about interpreting licences in general and in particular the GPL. This is
not an easy matter, and if differences of opinion arise this is most likely a
consequence of that difficulty, rather than of the other partly being a moron
or simply unwilling to understand the obvious, so I will avoid to make such
implications. I would also like to note that it is not my intention to attack
or defend KDE or Debian or whoever, just to sort things out for myself. One
may note that at some points I express ideas that contradict what I have said
before; don't hold this against me, it just indicates that the enormous load
of words poured out over me this weekend wore not entirely wasted.

My concern is to try to find a way I can read licences that allows me to
answer questions about issues concerning them in a somewhat systematic way.
The first point is the status of licences. As I have said:

  A licence is just a statement from the copyright holder conditionally
  lifting the default prohibition of copying of copyrighted material.

That's simple enough. But let me make some definitions to simplify the
discussion. I'll call a copyright holder the author, the copyrighted
material his work, somebody who wishes to copy and distribute that work the
distributor, and the person who is to receive such a copy the user. I'll
assume the author wishes to allow the distributor to do so under certain
circumstances, to which end he gives a licence that gives permission to make
and distribute copies under certain conditions. Note that in principle the
user is no party in the licence. What complicates matters, at least in case of
the GPL, is that the conditions themselves mention the users, and in part are
concerned with allowing them to become distributors. This also makes terms
like restrictive ambiguous; for instance in order to guarantee certain
freedoms for users (and possibly future distributors), the GPL has to be
restrictive with respect to (current) distributors. I'll try to avoid
complications by talking only of obligations of distributors, directly
prescribed by the conditions of the licence.

For the sake of simplicity let us assume this permission is not given
exclusively to a specific distributor, but to the public in general (all
licences considered here use generic language like Redistribution and use...
are permitted... or You may copy and distribute... without mention of
specific names). One may infer that the author wishes to grant the same
permission to whoever possesses a legally obtained copy of the work: for
copyright law all different copies of the work are embodiments of just a
single item of intellectual property owned by the author, and although the
copyright pertains to the right to multiply those physical copies, it does not
really matter which instantiation serves in the duplication process. The
identity of the distributor is important only to the extent that it is the
person responsible for the conditions being met. [Consequently, I don't agree
with the idea of a licence being an attribute of some copy of the work.]

Firstly, from this it follows that _only_ the author has the right to define
the terms of the licence. Nobody can arbitrarily modify the licence by adding
or removing conditions; in this sense relicensing is not possible. Secondly
it follows that anybody having a legally obtained copy of the work receives
the same conditional permissions formulated in the licence, without the need
of an explicit act to that effect; in a sense these permissions were already
given before he received that copy. The fact that many licences state that the
licence has to be preserved when making the copy is therefore logical, in
order that the recipient know his rights, but it is not an act of _giving_
those rights to the recipient (like it is not the copyright notice itself
which makes the work copyrighted). On the other hand it does not follow that
the distributor is bound only by the conditions of the licence; there may be
other conditions, legal or otherwise, that he has to satisfy and that can
affect his possibility to distribute.

A more difficult situation arises when works with different authors are
combined into a single work. It is a situation not really treated in much
detail in copyright law (certainly not with the complications particularly
relevant for computer software in mind), but it is clear that every original
author still has some copyright in the combined work. A case explicitly
addressed by law is that of a compilation of works (not in the computer
sense), where each author contributes some clearly identifiable portion and
the editor only holds copyright on the way these are combined; in software
however things may not be as easy to separate (like when someone rewrites
pieces of existing code, or in case of an executable built from 

Re: On interpreting licences (was: KDE not in Debian?)

2000-02-01 Thread David Johnson
Marc van Leeuwen wrote:
 
 Yet, why has nobody recently put forward this way of resolving the KDE/Qt
 issue? I've seen drastic bending of the meaning of much more unambiguous parts
 of the GPL. Maybe this was discussed and resolved long ago, or maybe I'm just
 too blind too see the obvious? Anybody please explain.

I have put this opinion forth (that Qt is distinct from the application
and not a module) in the past, but each and every time I have met with
immense disagreement and vile language, so that I have become gun shy
and have refrained from stating what I see as obvious.

David Johnson


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-01 Thread David Johnson
Raul Miller wrote:
 
 On Tue, Feb 01, 2000 at 10:48:20AM -0800, David Johnson wrote:
  I have put this opinion forth (that Qt is distinct from the
  application and not a module) in the past, but each and every time
  I have met with immense disagreement and vile language, so that I
  have become gun shy and have refrained from stating what I see as
  obvious.
 
 Please don't confuse the immense disagreement with any vile language.

I haven't. I have received both.

 So treating unlinked code as independent works doesn't cut it, not
 when the usual practice is to use these independent pieces together
 on the target machine.
 
 Copyright law doesn't grant any special excemption for dynamic linking.

Oh, but it does! I'm sorry that I can't quote the relevant law to you,
not being a lawyer or anything. But there have been court cases in the
past that have determined that APIs cannot be copyrighted. A footnote
containing a chapter or page reference is the prose equivalence to an
API. For a program, a reference to call a function elsewhere is
analogous to a footnote and the #include qapplication.h statement is
analogous to any entry in a bibliography.

The GPLd portions of the KDE source code, as long as it remains source
code, contains zero elements of Qt. After it is compiled into a binary,
there is only a miniscule amount of Qt code, and what there is consists
of the translated/compiled API. Anything within KDE that belongs to Qt
is easily covered under copyright law as a reference or fair use.

Now a license may impose further restrictions to the user beyond what
copyright disallows. But I don't see the GPL doing this. It only refers
to all the source code for all modules it contains plus scripts and
makefiles and such. I don't see Qt as being contained within KDE (except
for the API) as it is external to it. Of course, RMS (politely)
disagrees with me on this, but as it is written, it is not clear at all
that Qt is a module of KDE as defined in GPL version 2.

 [Also, there's the Objective C situation
 (where gcc mods were distributed as .o files and the end user was
 given instructions on how to build the modified gcc)...

Statically linking NeXT's object files into gcc in the user's private
environment is a far cry from dynamic linkage, and has little bearing
upon KDE/Qt.

David Johnson


Re: On interpreting licences (was: KDE not in Debian?)

2000-02-01 Thread Lynn Winebarger
On Tue, 1 Feb 2000, David Johnson wrote:
 Oh, but it does! I'm sorry that I can't quote the relevant law to you,
 not being a lawyer or anything. But there have been court cases in the
 past that have determined that APIs cannot be copyrighted. A footnote
 containing a chapter or page reference is the prose equivalence to an
 API. For a program, a reference to call a function elsewhere is
 analogous to a footnote and the #include qapplication.h statement is
 analogous to any entry in a bibliography.

   If you want someone to believe you when you say an API cannot be
copyrighted, you should include a legal reference to support your claim.
   Secondly, the claim is not that the API is copyrighted, it's that the
code calling it is derivative of the implementation of the API.  There's a
difference.  You'd have to do some work to show me that in all cases a
function call is equivalent to a footnote - footnotes you don't need to
see to understand the text, a non-standard API I need to know at least the
documentation for the library implementation (which probably describes,
but not defines, the API).  In the case of a standard, the function call
gets its meaning from the standard's definition rather than that of any
particular implementation, so the calling code's meaning is independent of
that library implementation. 

Lynn