Re: PHP4 And GPL mixing, what is linking?
On Fri, 2003-02-07 at 09:04, James Michael DuPont wrote:
> Dear all,
> What about SQL database, can I prevent non-free software from using the
> database of a GPled application?
I don't particularly know about the rest, but this one is just plain
pure evil. Don't do it. Don't think about it. Don't even try it.
Leave this one for the Dark Side.
There are a couple of minor practical problems in the way you phrased
that, but those could probably be overcome with some work. The part
that can't be overcome is that you are considering a restriction on
usage, rather than on modification or redistribution, and the GPL only
considers modification and redistribution, not usage.
One thing I'm not clear on is whether the database in question is
intended to be a static database supplied with the application and never
altered afterwards, or whether said database includes any user input.
If the database is built from user input, you have no legal standing to
demand that the user may not do as they please with their data. In the
GPL, there is an explicit statement that the output of the program is
not covered unless its contents constitute a work based on the Program,
and whether that is true depends on what the Program does. Such a claim
must be made carefully, because otherwise the author of any program
capable of writing arbitrary bits to disk could claim copyright over
every work written since. Even with the restriction that the output
file needs to contain some copyright-able work from the author,
Microsoft might be able to claim copyright over every Word document in
existence, which would be a poor precedent to support. Do not feed the
Cthulhu. I note also that gcc and bison, in particular, disclaim
copyright on the output.
Whether the database includes user data or not, restricting the fashion
in which data may be used fails other things. For instance, may one use
a non-free program to back up the data from such a program? What about
restoring the data? Restructuring the database for optimal performance
/ space usage / etc.? Displaying usage statistics or other summaries
of the database? May it be stored on a non-free filesystem? May the
disk format be checked by a non-free program? May the data be
compressed by a non-free archiving program? Written to CD by a non-free
program? Transferred by a non-free ftp program? May the network
packets containing that data be passed through a non-free network router
(the source for most appliance-type routers is very definitely
proprietary)? May I write a Free application which simply dumps the
data to stdout and provide a "hint" to the user that the non-free
application might do something useful with the output? What if someone
else provides the "hint"? What about two layers of indirection?
Obviously, these questions extend to the absurd, and yet some of these
show up in actual practice - e.g., I have actually written a backup
script for an Oracle database at work which dumps all fields of all
tables to a SQL script which would recreate the database.
While I was googling for details on some of the licenses, I noticed that
you have been asking questions like this for a year; I'm afraid that
there are no easy answers to these questions. Obviously, it grates to
think that Free software could be subverted into being used by non-Free
software, but the act of restricting that would make the (formerly) Free
software into something which is less Free than the non-Free.
"He who fights with monsters might take care lest he thereby become a
monster." -- Nietzsche
Stephen Ryan Debian Linux 3.0
Center for Educational Outcomes
at Dartmouth College