Francis Litterio said:
But to execute a GPL'ed binary, it must be copied (page by page) from
persistent storage to RAM (and then again from RAM into the cache and
into the CPU). Granted, the copy is made _by_ your computer, but it is
the result of a command given directly or indirectly by you.
So the end-user is restricted by the GPL? That doesn't really work.
The GPL covers the distribution of copies of a work. IANAL, but making
a temporary copy of a work, for temporary use, that is subsequently
discarded, does not fall askew of copyright law even if you posess no
license whatsoever. Or do you mean that the developer is liable for the
copying actions of the end-user?
Now here's the whole storyt. The reason that there is ambiguity about
the GPL applying to programs that link to a GPLed library is this. The
linking process has historically involved the compiler making use of
some information from the library. In C, certain declarations of data
structures, functions, constants, etc. are even textually included into
the program via the preprocessor #include directive. Linkers also make
use of information from the binary form of the library when building the
executable.
In Java, this phenomenon is less obvious. The Java compiler does
include the values of compile-time constants in other classes, however,
when compiling against them. It also still makes use of certain
information in the library code to determine the meaning of application
code; for example, it data will be converted from an int to a double
automatically if a method is declared with a double parameter.
Interestingly, in Java, it's quite possible to work around that problem
by using (or building) a generic interface to a piece of functionality,
and then plugging in an implementation at runtime. However, because
people have gotten used to the idea that the GPL means what certain
influential people (particularly Richard Stallman) would like it to
mean, we end up with weird situations like MySQL, where the MySQL AB
informed me once that if I distribute an application that gets its JDBC
driver from a config file, and some customer of mine uses it with MySQL,
then they feel that they could sue me over the issue. They appear to be
(1) making the same mistake that Francis made above, confusing
distribution with use; and (2) assuming that the GPL applies, even when
none of their code has made its way into my source or object code. How
could I violate their license agreement when I don't even have a copy of
any of their code on any of the machines I use for development?
--
www.designacourse.com
The Easiest Way To Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation