Monday, April 23, 2007

addressing the GPL data loophole

The GPL is a powerful tool to promote free software. In essence it's a social contract - "You may use, modify, and redistribute this software so long as you give everyone else these same rights." If a game is released under the GPL others may extend it, improve it, or change it to suit their tastes.

These changes may be accepted and adopted by the original author or the 3rd party may release it on her own provided these rights and restrictions remain. The license extends to software which uses GPL covered libraries or other software within the same executable so, for example, if someone implements a PySoy-based game that game must be under the GPL as well.

However, a loophole exists in this license: while artwork and other software data may be covered itself by the license it need not do so in order to use or be used by GPL covered software even when such data is core to that software's function. It is, thus, possible to create a modified GPL application which relies on proprietary data.

In terms of games, this makes the anti-social licensing practices of some acceptable under the GPL. This loophole could also, potentially, be exploited for any number of applications. Envision corporations such as IBM and Motorola releasing modified GPL software bundled with proprietary data blocks enabling that software to function on their devices. As long as said data does not contain clearly-defined "instructions", merely data as numbers and strings used by the GPL-covered code, this is in full compliance with the GNU GPL.

It doesn't trouble me that such loopholes exist. What does trouble me is, now in the process of drafting the GPLv3, the principal authors of this document (whom I have a great deal of respect for) fail to see this as a problem in need of addressing.

1 comment:

Rick said...

Arc: I just finished discussing the exact same issue with a friend about the CDDB privatization. If the CDDB was licensed under a " Free Database License" (hey, GDBL doesn't sound bad!), we shouldn't be worried about developers closing their data like the CDDB guys.

I mailed RMS about the issue. Let's see what he says.