[sane-devel] SANE2, what do we want ?

m. allan noah kitno455 at gmail.com
Wed Apr 2 13:39:51 UTC 2008

On 4/2/08, Olaf Meeuwissen <olaf.meeuwissen at avasys.jp> wrote:
> "m. allan noah" <kitno455 at gmail.com> writes:
>  > On 4/1/08, Olaf Meeuwissen <olaf.meeuwissen at avasys.jp> wrote:
>  >> Julien BLACHE <jb at jblache.org> writes:
>  >>
>  >>  > Johannes Meixner <jsmeix at suse.de> wrote:
>  >>
>  >> >> For example the epkowa driver from IScan is free software.
>  >>  >
>  >>  > No, epkowa is not free software. A large part of the scanners it
>  >>  > supports actually rely on proprietary, binary-only protocol
>  >>  > interpreters shipped as Linux/i386 shared libraries.
>  >>
>  >>
>  >> The epkowa backend is free-as-in-freedom software.  It is licensed
>  >>  under the terms of the GPL and carries an exception that allows for
>  >>  the use of non-free extensions.
>  >
>  > well, i just heard RMS speak again a few days ago, and i can tell you
>  > for sure that this exception means the backend is decidedly NOT
>  > free-as-in-freedom. we could take it up with him if you like...
> If you want to interpret it like that fine, but all the SANE backends
>  that use the exception mechanism explained in the LICENSE file are per
>  same token decidedly NOT free-as-in-freedom.  That includes, at least,
>  the dll, net and epson backends as well as all the backends that you
>  contributed to.

agreed. if i were to make sane2 myself, i would change the license to
straight GPL3.

>  FYI, the LICENSE file says:
>     Backend libraries are protected by the GNU General Public License (see
>     file COPYING), but as an exception, it is permissible to link against
>     such a library without affecting the licensing status of the program
>     that uses the libraries.  For details, see the copyright notice at the
>     head of the backend files (e.g., backend/dll.c).
>  and it is this mechanism that the epkowa backend uses.

IMHO, that exception was to allow proprietary front-ends, not backend
pieces. Specifically the use of the the term 'link against such a
library', implies that proprietary code could dlopen a backend, but
not that the backend could dlopen a proprietary library, which we see
with various external backends.

i suppose you could get around that by having iscan do the opening of
the binary 'translator', and then _that_ could dlopen the backend, but
reversing the order would seem to violate the license.

this ambiguity would be removed (and user's freedoms better protected)
if that license exception was dropped. If we still wish to support
proprietary front-ends, a defined network protocol would be the safest
method. Proprietary backends could then be a separate debate, perhaps
with something like the linux kernel's 'tainted' mechanism? (or my
preference, to refuse to load them ;)



"The truth is an offense, but not a sin"

More information about the sane-devel mailing list