--- ajit_cus <[EMAIL PROTECTED]> wrote:
> David wrote:
> >>Those who claim that loading a JDBC/ODBC driver on the basis of a string
> >>specifier at runtime does not invoke the GPL are wrong, according to both
> >>the "shared address space" clause above, and the following statement from
> >>the GNU GPL FAQ:
> >>"""
> >>If the program dynamically links plug-ins, and they make function calls
> >>to each other and share data structures, we believe they form a single
> >>program, so plug-ins must be treated as extensions to the main program.
> >>"""
>
>       I'm not sure I understand this argument. 
>       If I used MSAccess to access data from an ODBC source say ORACLE by no
> strech of the imagination can I claim that the oracle driver is an
> extension to MSAccess.

I was not addressing whether the argument is reasonable, but whether the GPL
and the official GPL FAQ set forth the argument.  My interpretation of the
GPL and the official GPL FAQ is that they *do* indeed set forth this
argument.

Perhaps I'm wrong, but let's examine the evidence again.  Are the following
statements true in the situation you described (I sprinkle quotes from the
GPL and the GPL FAQ throughout)?

1) Is MSAccess "designed to run linked together in a shared address space"
with the Oracle ODBC driver?
  Yes, it is designed to run linked with any ODBC driver, including Oracle's.
 Therefore, as far as the GPL is concerned, "that almost surely means
combining them into one program".
http://www.gnu.org/licenses/gpl-faq.html#MereAggregation

2) Does MSAccess use dynamic plug-ins?  Yes, ODBC drivers can be loaded
dynamically, and they are plug-ins because they all implement a common API: 
they are "plugged in" depending on which backend database you want to access.
 This is analagous to the way we literally "plug in" IDE cables to connect
the mainboard's bus (MSAccess) to hard drives (database storage backends) so
that we can manipulate the data stored therein.
  According to the GPL FAQ, "If the program dynamically links plug-ins"
(MSAccess does) "and they make function calls to each other" (MSAccess and
the Oracle ODBC driver do) "and share data structures" (MSAccess and the
Oracle ODBC driver do) "we believe they form a single program, so plug-ins
must be treated as extensions to the main program.  This means that linking
the GPL-covered plug-in with the main program would violate the GPL."
  In the paragraph above, of course, the "we believe" refers to a belief on
the part of GNU, not necessarily you or me.  You and I don't have to accept
their argument to accept that they are making it.
http://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF


>        To expand on the point I'm trying to make lets assume I write a C program
> that uses commercial MySql ODBC drivers and someother dlls. Do I need to
> make these dlls GPL and release their code?

No.  The fact that you're using "commercial MySql ODBC drivers" implies that
you've negotiated a commercial license with MySQL, and thus are not using
their ODBC drivers under the terms of the GPL.

I think you meant to ask about the situation if you were using MySQL ODBC
drivers under the terms of the GPL.  According to the GPL and GPL FAQ quotes
that I cited in the MSAccess discussion above, I think that GNU claims that
you would indeed have to "make these dlls GPL [or at least GPL-compatible]
and release their code".

Again, from the GPL FAQ:
Q: "You have a GPL'ed program that I'd like to link with my code to build a
proprietary program. Does the fact that I link with your program mean I have
to GPL my program?"
A: "Yes."
http://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL


> The other dlls could even be third party stuff (MSVCRT.dll!!!).

As for MSVCRT.dll (and libc, etc.), it's covered by a special exception in
the GPL:
"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."

MSVCRT.dll "is normally distributed... with the... operating system on which
the executable runs".

>       Also by that argument any driver manager that was configured to use a
> MySql ODBC driver would have to be GPL bcos they make function calls to
> each other and definitely share data structures.

If my interpretation of the GPL and the official GPL FAQ is correct, the
driver manager would have to be GPL-compatible, at least.

__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general

Reply via email to