Re: Eclipse 3.0 Running ILLEGALY on Kaffe

2005-01-14 Thread Andrew Suffield
On Fri, Jan 14, 2005 at 05:57:54PM +0100, Dalibor Topic wrote:
> Now, before you go off ranting about Kaffe's native libraries, please 
> take a moment to let the fact sink in that while these native libraries 
> are the result of Kaffe developers being a somewhat clever bunch at 
> developing software and having heard about benefits of seperating one's 
> program into sepearte modules, those modules are nevertheless *a part of 
> the interpreter*, and as the copyright law law says, the GPLd 
> interpreter can't impose restrictions on its input. They even get 
> compiled in statically on Debian for debian's kaffe package.

This part is overstated. As components of the interpreter, they don't
impose restrictions on programs run by the interpreter. However, this
does not exempt those programs from any other relations to this code.

Programs which run on the interpreter may or may not be derivatives of
the native libraries (for any given library and program, they probably
aren't, but it is possible for programs to exist which are derivatives
of some given native library). If they are, then the GPL crosses that
connection independently. The fact that it's part of the interpreter
just isn't relevant.

Given that eclipse runs on other JVMs, I'm inclined to expect that it
isn't a derivative of any of them, but I really have no idea. That's
the only question here which matters though.

-- 
  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ |
 `. `'  |
   `- -><-  |


signature.asc
Description: Digital signature


Re: Illustrating JVM bindings

2005-01-14 Thread Andrew Suffield
On Fri, Jan 14, 2005 at 04:42:44PM -0500, Brian Thomas Sniffen wrote:
> > An example.  I am writing an app.  A GPL-incompatible or even
> > closed-source one.  I'd love to use this conservative garbage collector
> > library, but it's under GPL, so I cannot.  I'd also love to use
> > libreadline, but I can't - for it's GPL.
> >
> > According to what you've just said it would be enough to create own
> > intermediate langauge, and an interpreter that according to its own
> > specification should handle garbage collection and provide readline-like
> > functionality.
> >
> > I would then just take the GPLed code of this GC library, GPLed code
> > of readline, cut out the pieces I need, integrate into my interepreter
> > and call it "interepter features".  Thus, according to you, my
> > GPL-incompatible program would be able to use GPLed code thanks to
> > the simple virtue of my program being "interepted".
> 
> Yes.  Well, you have to distribute the interpreter for this new
> language of yours under the GPL.  So the GPL isn't useless.  And
> your proprietary program then must use the interpreter.
> 
> But, for example, I *have* such an interpreter -- for the language
> Python.  I have many non-GPL'd scripts for it, even though the Python
> I use incorporates GNU Readline.

Bwah, you're all *still* doing it!

Some of those python scripts may be derivatives of GNU readline. Most
are probably not. Those that are must be licensed under the GPL. The
rest do not have to be. All this interpreter crud in between is
*irrelevant*. If the same program written in C would be a derivative
then it's still a derivative even when you insert an interpreter in
the middle.

-- 
  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ |
 `. `'  |
   `- -><-  |


signature.asc
Description: Digital signature


Re: Eclipse 3.0 Running ILLEGALY on Kaffe

2005-01-13 Thread Andrew Suffield
On Thu, Jan 13, 2005 at 08:02:57PM +0100, M?ns Rullg?rd wrote:
> > Derivation is something that happens when you *write* the program. Not
> > when you build it.
> 
> How many times does it have to be stated that *using* an API does not
> form a derivative work of *any* implementation of the API?

More irrelevancy. Using an API is just a method for utilising part of
another work. It may or may not be a derivative. This is just a
variation on the 'linker' noise.

-- 
  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ |
 `. `'  |
   `- -><-  |


signature.asc
Description: Digital signature


Re: Eclipse 3.0 Running ILLEGALY on Kaffe

2005-01-13 Thread Andrew Suffield
On Thu, Jan 13, 2005 at 04:11:22PM +0100, M?ns Rullg?rd wrote:
> Brian Thomas Sniffen <[EMAIL PROTECTED]> writes:
> 
> > Combining X+Y in the way that you have described is anything but
> > mechanical: it is a task which typically takes a skilled programmer a
> > great amount of time and thought.  Different programmers might do it
> > in different ways.  I'm not referring here to the work done by ld, but
> > to the process of building a new program which has libfoo as a
> > component.
> >
> > Additionally, the program ultimately delivered to the user isn't X
> > with some minor bits of Y.  It contains big chunks of Y -- one per
> > function used, at least -- directly copied.  Just being in a different
> > memory space isn't enough to change the relationship between the
> > creative parts of the works.  The program vim encompasses a copy of
> > libc.
> 
> Wrong.  A dynamically linked program in ELF format (the most common on
> Linux systems) contains a list of undefined symbols, and a list of
> sonames to search for those symbols.  I have a hard time seeing how
> this would make a program derived from the library.  If multiple
> independent implementations of the library exist, which would the
> program be derived from?

You've got the causality backwards here. The program is linked to the
libraries because it is a derivative of the libraries. Not the other
way around.

Derivation is something that happens when you *write* the program. Not
when you build it.

-- 
  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ |
 `. `'  |
   `- -><-  |


signature.asc
Description: Digital signature


Re: Kaffe's GPL and GPL incompatible Java software [Was: Undistributable java in main]

2003-11-03 Thread Andrew Suffield
[This is no longer particularly important]

On Mon, Nov 03, 2003 at 09:37:49AM -0500, Etienne Gagnon wrote:
> Andrew Suffield wrote:
> >Kaffe is essentially a filter that takes java
> >bytecode as input and emits program code on the fly (this is
> >technically incomplete, but effectively equivalent for the sake of
> >this argument). The input to a filter cannot be a derivative work of
> >it; we don't *care* about the state of the output (which is also not a
> >derivative work in this case, but I'll skip the reasoning).
> 
> I can live with this view (even though an argument could be made about
> the fact that many VMs (I do not know specifically about Kaffe) internally
> use bytecodes from the class library to handle internal data structures
> [think of a just-in-time compiler written in Java; it would really be
> part of the VM, not merely processed input, IMHO]).

I considered this briefly, but the result of any such process is never
copied or distributed[0], so copyright isn't directly applicable at
all - we don't need to worry about it.

The GPL doesn't place any restrictions on how you use works it covers,
only on how you distribute them, so there's no possibility of trouble
from that side.

Freakish maybe-invalid licenses that try to place restrictions on use
may have trouble here, but those aren't a concern as far as GPL
compatibility is concerned; the worst case is that you have some
non-distributable data in memory, where nothing will try to distribute
it. We'll probably judge them to be non-DFSG-free in their own right,
but that's an entirely separate issue.

[0] Who wants to speculate on the legal status of core dumps?

I don't think we can really do anything useful here, since it's
all mixed up with the input fed to the process at runtime, but it
might make an interesting diversion.

-- 
  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ |
 `. `'  |
   `- -><-  |


signature.asc
Description: Digital signature


Re: Kaffe's GPL and GPL incompatible Java software [Was: Undistributable java in main]

2003-11-03 Thread Andrew Suffield
king on proprietary systems; the FSF
could justifiably shift to the GPL if they wished. As always, this
would restrict the range of things that you could do with it; it is
the choice of the copyright holder how much to permit.

Also, C programs directly include copyrightable program code from
header files, which means that compiled binaries are frequently
derivative works of the "library" (if glibc were GPLed, this would
prohibit distribution of binaries generated from GPL-incompatible
sources, as the GPL license on the glibc components would not permit
this; it would be okay if the headers alone were licensed under the
LGPL).

Java has no comparable issue; a byte-compiled class contains nothing
copyrightable taken from the class libraries that it was "compiled"
against.

[0] DERIVATIVE WORK - A work based upon one or more preexisting works,
such as a translation, musical arrangement, dramatization,
fictionalization, motion picture version, sound recording, art
reproduction, abridgment, condensation, or any other form in which a
work may be recast, transformed, or adapted. A work consisting of
editorial revisions, annotations, elaborations, or other modifications
which, as a whole, represent an original work of authorship, is a
'derivative work'.

  -- from title 17 of the United States Code. Other jurisdictions are
 very similar.

[1] I'm skipping the rationale for this; it's just a list of all the
things involved in the creation of the work under discussion, and
classification of whether or not their use can constitute copyright
infringement. Implementation of a specification does not usually
constitute copyright infringement of the specification, for example,
because there's no copying/distribution involved.

-- 
  .''`.  ** Debian GNU/Linux ** | Andrew Suffield
 : :' :  http://www.debian.org/ |
 `. `'  |
   `- -><-  |


signature.asc
Description: Digital signature