[sane-devel] sane-backends effectively GPL'd in disguise?

Henning Meier-Geinitz henning@meier-geinitz.de
Wed, 23 Jul 2003 10:25:15 +0200


On Wed, Jul 23, 2003 at 11:36:57AM +0900, Olaf Meeuwissen wrote:
> I have been upgrading "Image Scan! for Linux" to use SANE internals from 
> sane-backends-1.0.12.  Ever since the FSF slapped us on the wrist for an 
> unintentional violation of the GPL, we have a little allergic to license 
> issues so I combed through the include/, lib/ and sanei/ directories for 
> license problems.
> The following files in include/ and sanei/ are GPL'd *without* the SANE 
> exception:


>   include/sane/sanei.h
>   include/sane/sanei_codec_ascii.h
>   include/sane/sanei_codec_bin.h
>   include/sane/sanei_scsi.h
>   include/sane/sanei_thread.h
>   include/sane/sanei_usb.h
>   include/sane/sanei_wire.h
>   include/sane/saneopts.h

I guess that's a simple omission from the days when GPL was changed to
GPL+SANE exception (Jun 14 1997). Most of them don't seem to contain
copyrightable code but I'll ask the authors anyway.

>   include/lalloca.h
>   include/lassert.h

Well, have I already said that I hate AIX for forcing us to do that
ugly stuff? Is anyone using AIX for scanning at all? Anyway, I'll put
it on the TODO list to either remove this files (if possible), check
if we can find another solution.

>   sanei/linux_sg3_err.h

Well, I'm not sure how to understan this line in the file:
/* Feel free to copy and modify this GPL-ed code into your
   applications. */

If it says "it's GPLed", I could copy and modify it anyway if the
resulting file is GPLed. So maybe this was inetnded to mean "you can
use this code even in non GPL programs?"

Anyway, if that's not the case, rewriting this file only using the
values we need doesn't seem to be too complicated.

> Even though I have read the GPL twenty+ times over, I am still not sure 
> whether this means that files including any of these would effectively 
> void their SANE exception (assuming they have one).

If the code in these files are copyrightable, the SANE exception would
be void. Otherwise I could get e.g. the XSane code, write add a few
lines of my own GPL+SANE code and the complete code would be GPL+SANE.

> Ergo, files like sanei/sanei_scsi.c and sanei/sanei_usb.c, which include 
> their counterpart header files, might in effect be released under the 
> GPL and the GPL only without any SANE exception.  The same logic applies 
> to backends including files from the above list.

Basically yes. But only if the "code" in the headers is copyrightable.

> The TODO notes that the getopt*.c and md5.c files have been checked for 
> (and replaced by LGPL'd versions) precisely the reasons cited above.

Yes, but these files do contain quite some code and not only
definitions and simple macros.