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

Olaf Meeuwissen olaf@zen.epkowa.co.jp
Wed, 23 Jul 2003 13:47:48 +0900

Hi Frank,

Thanks for your prompt feedback.  I would like to point out though that 
include/lalloca.h, include/lassert.h and sanei/linux_sg3_err.h were NOT 
written specifically for SANE.  Furthermore, one could argue that some 
of the #define's count as code because the preprocessor substitutes the 
I guess, looking at the amount of "code" involved, that you could make a 
case for "fair use" though.

The README (huh? I assume you mean the LICENSE file) can state whatever 
it wants, if a backend links against GPL'd code the exception is void.  
BTW, the LICENSE file explicitly says that copyright information in each 
file overrides whatever it says.

I would certainly appreciate it if sane-backends-1.0.13 includes a SANE 
exception in the files I listed, if only to avoid confusing people like 
myself ;-)
For include/lalloca.h, include/lassert.h and sanei/linux_sg3_err.h this 
is probably not feasible though.  Permission to add the exception from 
the copyright holder is required or appropriate replacements need to be 
provided.  In the case of lalloca.h you could probably use the example 
from the autoconf info pages (citing "fair use" of the manual).

On Tue, Jul 22, 2003 at 05:53:58PM -0500, Frank Zago wrote:
> 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.
> Frank.
> 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?

Olaf Meeuwissen                            EPSON KOWA Corporation, ECS
GnuPG key: 6BE37D90/AB6B 0D1F 99E7 1BF5 EB97  976A 16C7 F27D 6BE3 7D90
Penguin's lib!       -- I hack, therefore I am --               LPIC-2