[sane-devel] Please give me some help to solve the license issues in using sane

Olaf Meeuwissen olaf.meeuwissen at avasys.jp
Mon Jun 9 01:09:59 UTC 2008

"m. allan noah" <kitno455 at gmail.com> writes:

> On 6/8/08, Olaf Meeuwissen <olaf.meeuwissen at avasys.jp> wrote:
>> "m. allan noah" <kitno455 at gmail.com> writes:
>>  > [snip]
>> >>
>>  >>  this means that the sane I/O facilities cannot be used. however
>>  >>   it may be the cleanest thing.
>>  >>
>>  >>   that's similar to the epkowa way, which uses sane io facilities
>>  >>   iirc?
>>  >
>>  > well, if epkowa dynamically links and uses sanei, then it is not using
>>  > #3- it might be violating the license? Olaf- can you describe the
>>  > mechanism?
>> As anyone can infer from the epkowa sources, it dlopen()s interpreters
>>  and passes two callbacks for USB I/O.  These callbacks ultimately call
>>  the sanei_usb read and write functions.
>>  The fact that epkowa dlopen()s instead of dynamically linking does not
>>  make any difference license wise.  It is a convenience that allows for
>>  the separate distribution of non-free plugins.
>>  # Older versions of the epkowa backend would segfault without them!
> dlopen v/s dynamic link certainly makes no difference from a license
> perspective.
>>  Also, the epkowa backend started out life as a clone of the epson
>>  backend (around sane-1.0.3).  As a result, it relies on sanei to take
>>  care of a few things (I/O, config, etc) and most of the epkowa backend
>>  code is licensed under the GPL + SANE exception.  The bits that are
>>  under a (slightly) different license, the epkowa_ip* files, are GPL +
>>  an exception that is more restrictive than the SANE exception.
> have you forgotten to mention the license on the closed source parts,
> or are those the epkowa_ip* files?

The interpreter plugins themselves are provided under the terms of the
AVASYS PUBLIC LICENSE[1].  This license has been carefully drafted to
make linking with LGPL'd code possible and took away whatever concerns
the FSF had with regards to the possible violation of the licenses on
their code (as included with SANE).

[1] http://avasys.jp/hp/menu000001100/hpg000001092.htm

>>  WRT the possibility of violating the license, you've stated[1] that
>>  the way in which components are combined (as in who uses who) does not
>>  make a difference.
> ahh, but that thread continued, with much more specific examples being
> found in the FAQ. taking it out of context and calling it canon is a
> bit much, particularly when the question at issue revolves mostly
> around the exception, not the GPL itself.

I did not intend to call it canon.  I realize the issue revolves
around the exception which reads:

  As a special exception, the authors of SANE give permission for
  additional uses of the libraries contained in this release of SANE.

  The exception is that, if you link a SANE library with other files
  to produce an executable, this does not by itself cause the
  resulting executable to be covered by the GNU General Public
  License.  Your use of that executable is in no way restricted on
  account of linking the SANE library code into it.

  This exception does not, however, invalidate any other reasons why
  the executable file might be covered by the GNU General Public

The epkowa backend is built from a collection of source code files
that all carry this (or a less sweeping) exception.  This SANE library
is linked (at run-time) with other files, i.c. non-free interpreters,
to produce an executable.

That's exactly what the SANE exception allows one to do.  What other
reasons can you think of that the executable might be covered by the

>> Also, in personal communication, you've mentioned
>>  that you think the SANE exception is ambiguous enough to work in both
>>  directions (even though the LICENSE file tries to clarify the issue).
>>  So, I would think that the epkowa backend is in the clear here.
> i would not use the word 'clear' to describe the situation. i think
> epkowa backend is in very muddy waters. You are relying solely on the
> ambiguity of the wording of the exception, and waving around your FSF
> membership to make us feel better about it...

I am NOT waving my FSF membership around to make anyone feel better.
Get that silly idea out of your head and let's stick to the licensing
issues in the epkowa backend.

While I may personally not like the epkowa backend's use of non-free
bits at all, from a license point of view, I can not find fault with
it.  If you can, I'd like to know so we can fix things.

Hope this helps,
Olaf Meeuwissen                   FLOSS Engineer -- AVASYS Corporation
FSF Associate Member #1962           sign up at http://member.fsf.org/

More information about the sane-devel mailing list