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

Frank Zago fzago@austin.rr.com
Tue, 22 Jul 2003 17:53:58 -0500

Hi Olaf,

IANAL but I'll try to answer anyway.
None of these contain code. Just prototype and APIs. I don't think that the 
omission of the SANE exception would propagate to the rest of the code. Besides 
the README states that the backends are under GPL+exception. It is also quite 
clear that the authors of these files didn't intend to put these files under GPL 
only since they were written specifically for SANE.
The files should be fixed though.


Olaf Meeuwissen wrote:
> Dear all,
> 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/lalloca.h
>   include/lassert.h
>   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
>   sanei/linux_sg3_err.h
> 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).  After all the SANE 
> exception explicitly states:
>   This exception does not, however, invalidate any other reasons why
>   the executable file might be covered by the GNU General Public
>   License.
> 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.
> 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.
> Could anyone shed any light on this?