[sane-devel] External backend advice
olaf.meeuwissen at avasys.jp
Thu May 12 23:32:55 UTC 2011
"scanf @dslextreme.com" <scanf at dslextreme.com> writes:
> Hi sane-devel,
> I'm sure most of you are developers, not lawyers but I'm hoping
> someone can point me in the right direction. I'm trying to figure out
> the best way to release a SANE backend that complies with the GPL
> while protecting the proprietary code it relies on.
> Instead, I have proposed we develop a SANE backend that uses our
> driver library to control the scanner. It would not contain any
> proprietary code so we could release the backend portion as source
> code. Reliance on binary code excludes it from the SANE distribution
> but that's not a problem. The main issue is the software license. I
> have read the license, copyright notice and Information for
> Manufacturers page but our situation is still unclear.
Have you gone through the GPL FAQ? Especially the bit about the
legal issues that come up if you use GPL-incompatible libraries with GPL
software and writing free software that uses non-free libraries?
> Here's the big question: If we release our backend as source, does
> that expose our driver library to the GPL so its sources would also
> have to be released? In case it matters, the proposed backend would
> use runtime dynamic linking for the library.
The way I understand it, you own the copyright of this SANE backend you
proposed so you get to pick the license. If you really want to go with
the GPL (which I think is great!), you can add an exception that allows
linking with your proprietary code. You could also look at other, more
lax licenses. The list of GPL-compatible licenses is a good start.
> I looked for existing external backends with binary code to see how
> other companies handled the licensing issue. The links I checked on
> the External Backends list were broken or outdated. Can you refer me
> to an existing backend similar to what I've proposed?
The epkowa backend did the same and still does something similar. In
the past it linked dynamically against proprietary interpreters for a
scanner model of two. The number of interpreters grew (we've got ~15
now :-(), so we switched to on-demand dynamic loading instead. This
doesn't really make a difference for the licensing issues but it made
the backend free-as-in-freedom for those users that have scanner models
that do not need an interpreter.
Hope this helps,
Olaf Meeuwissen, LPIC-2 FLOSS Engineer -- AVASYS CORPORATION
FSF Associate Member #1962 Help support software freedom
More information about the sane-devel