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

Olaf Meeuwissen olaf.meeuwissen at avasys.jp
Fri Jun 6 00:24:25 UTC 2008

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

> On Thu, Jun 5, 2008 at 3:49 AM, Johannes Meixner <jsmeix at suse.de> wrote:
>> Hello,
>> On Jun 4 21:02 m. allan noah wrote (shortened):
>>> SANE is GPL, with an added exception to allow proprietary front-end
>>> programs to link against it. What you are suggesting is the opposite-
>>> you wish to have a free 'middleware' layer, which loads closed
>>> backends to do that actual work? I think this is in violation of the
>>> spirit of the license exception, though perhaps not the letter. Please
>>> read the file LICENSE in the sane-backends source, it attempts to
>>> clarify the situation, by specifically referring to the 'licensing
>>> status of the _program_ that uses the libraries', not the status of a
>>> library.
>> The issue was also mentioned in the "SANE2, what do we want ?"
>> mail thread, see for example
>> http://lists.alioth.debian.org/pipermail/sane-devel/2008-April/021642.html
>> Could you explain what the reason behind is that proprietary
>> frontends are allowed but no proprietary plugins/modules
>> for free backends?
> Please note that I was not around when the SANE license exception was
> added, but i have tried to research the spirit of the decision. I
> think the idea was that proprietary frontends were considered a
> value-add by some (and a necessary evil by others), but proprietary
> backends specifically remove the freedom of the user. It is
> unfortunate that the wording of the exception does not make this more
> clear.

Actually, the same value-add logic applies to backends and the same
removal of freedom argument holds for the frontends.  However, in the
case of frontends, we already have unencumbered alternatives.  With
backends this is (somewhat?) less likely to be the case.  Maybe that
explains the attempt at exerting more pressure on backend writers?

>> I have another question:
>> Assume because of whatever reason a scanner manufacturer
>> cannot make a free backend (e.g. because of third-party
>> license stuff, or just because the upper management at the
>> manufacturer is full of fear that another manufacturer might
>> "steal" their one-and-only-best-way-to-drive-a-scanner)
>> but nevertheless wants to provide a SANE compatible driver.
>> How could he do it?
> Simple- he must recreate any parts of sane that are not in the public
> domain, which he wishes to use in his backend. Sane is not here to
> provide sanei for proprietary backends to steal.
>> Would it be in compliance with the SANE license to do it
>> like HP does it for their proprietary ZJStream printers
>> (because of a third-party JBIG license issue):
> Not in my opinion, since this requires more than an installer, there
> must be some free code somewhere that does a dlopen on some
> proprietary code, which could be interpreted to violate the GPL.

If GPL'd code uses a non-compatible library via dlopen that's just as
much a violation as linking to it directly.  The code runs in the same
process space.  That makes the combined work a derivative, so, all the
terms of the GPL need to be met.

# If the GPL'd code is really GPL with an exception that allows this
# particular scenario, then that is not a violation.

> <snip>
>> As far as I know the GPL does not forbid that an end-user
>> installs and runs whatever proprietary stuff on his machine.
> no, but it seems to forbid that _code_ under the GPL load proprietary
> code in order to function.

The GPL does not explicitly forbid this.  It merely requires that any
such proprietary code meets the conditions spelt out in the GPL ;-)
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