[sane-devel] Please give me some help to solve the license issues in using sane
Olaf Meeuwissen
olaf.meeuwissen at avasys.jp
Sun Jun 8 23:31:25 UTC 2008
Johannes Meixner <jsmeix at suse.de> writes:
> Hello,
>
> [snip]
> On Jun 6 Olaf Meeuwissen wrote (shortened):
>> 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.
> ...
>> A good rule of thumb is to look at what happens at run-time. If GPL
>> incompatible binary stuff and binary bits built from GPL'd source code
>> are used by a _single_ process (as jugded by PID), then that's a big
>> fat violation. However, if both parts run as separate processes (so
>> they have different PIDs) and communicate via a socket or some other
>> IPC mechanism, using a trivial or open, well-documented protocol, then
>> that is not a violation.
> [snip]
> Nevertheless I like to try a proposal how it might be done.
>
> When the backend uses SANE I/O functionality (sanei),
> it must be under GPL.
>
> Because the license issue is at least not very clear,
> the backend cannot link with proprietary stuff.
>
> But the backend could fork a separated process which runs
> whatever proprietary executable and communicate with it
> via whatever IPC mechanism e.g. a socket or even via
> traditional pipes, see for example the IJS interface
> http://hplip.sourceforge.net/tech_docs/hpijs.html
HPIJS was designed explicitly to solve the licensing issue.
> Therefore only the part which does the basic I/O must be
> under GPL but e.g. data compression algorithms could run
> as proprietary executable in a separated process.
If you don't mind reimplementing the basic I/O yourself, there is no
need to put that under the GPL.
> A different case are image processing algorithms which
> should run in the frontend. Because of the exception in SANE
> this can be done in a proprietary frontend executable.
But only if the particular backend you use extends that exception. If
I were to write a GPL'd backend ...
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