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? Three? 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 Technology Coordinator Center for Educational Outcomes at Dartmouth College

