[sane-devel] Epson non-free backend

Olaf Meeuwissen olaf.meeuwissen at avasys.jp
Thu Aug 28 23:51:27 UTC 2008

Julien BLACHE <jb at jblache.org> writes:

> Martin Rehn <martinrehn at inbox.com> wrote:
> Hi,
> The following contains information I gathered about epkowa in the last
> years. It's all from memory so hopefully Olaf will correct/complete as
> needed :)

Maybe I'd better ;-)

>> This is a newbie question. I'm looking for some insight into why some of the 
>> Avasys/epkowa drivers for Epson rely on a proprietary and binary-only 
>> plug-in, while many others do not? Are there particular chipsets that have 
> Some scanners were presumably sub-contracted to a third party by
> Epson; as a result they do not implement the Epson protocol for
> scanners natively. As it seems Epson really wants to use this
> protocol, they came up with interpreter libraries that do the
> conversion.
> As you can see in the SANE list of supported scanners, some Epson
> scanners are supported by the snapscan backend and not the
> epson/epson2 backends.

Protocol wise (chipset wise, if you wish), Epson scanners, all-in-ones
and MFPs can be divided into four categories.  The largest category of
these "speak" (variants of) the ESC-I protocol that forms the basis of
the SANE epson backend.  The SANE epson2 backend and Image Scan! for
Linux' epkowa backend are forks of the epson backend.

Then there are a few (old) models that speak a protocol that is mostly
handled by the SANE plustek backend, some that can be made to do your
bidding with the SANE snapscan backend and, of late, a bunch that are
not supported by any SANE backend (yet).

Why these models speak protocols other than ESC-I is something that I
don't know.  You should ask Epson.

>> restrictions, preventing Epson from releasing free drivers? What exactly is 
> Epson does not have the rights to the IP contained in the interpreter
> libraries that are the property of the sub-contractor or another.
>> the non-free portion of the driver doing; is that essentially the entire 
>> driver or just a small part? Is there any will on the part of Epson to free 
> It's a small part, but it's the part that talks to the scanner, so...

The interpreter plugins, eh, well, interpret.  They translate the
non-ESC-I protocol spoken by the models in the latter three groups to
the ESC-I protocol and back the best they can.  Using these plugins
Image Scan! for Linux can continue using the epkowa backend and does
not have to accommodate other SANE backends.
# iscan makes certain assumptions about what the backend can do ...

Why use the interpreters and not write a new (non-free) backend to
cater to the needs of Image Scan! for Linux?  Well, if there already
is an interpreter, why write a new backend?
# Ignoring any issues of freedom, that is.

Why non-free?  I can speculate and think up a few reasons but in the
end I really just don't know (nor quite understand).

>> any of those drivers? Anyone else here who is working on free replacements? 

For two of the three categories, yes.  See the plustek and snapscan
backends.  For the last category, not to the best of my knowledge.

> We've tried to talk to Epson over the years, and so far that did not
> succeed to the best of my knowledge.
> As for a free replacement, it was my understanding that the epson2
> backend would maybe try to support those scanners, but I may be wrong
> here.

IMNSHO, that'd be the wrong way to go about it.  It'd be better to
write a native backend than glue an interpreter onto the epson2
backend.  IIRC, Alessandro (epson2 backend maintainer) mentioned the
possibility of adding support for the existing interpreters but
considering the amount of flack you can get here on the list for
supporting non-free plugins ...

>> My question boils down to asking whether the Epsons with non-free drivers 
>> should be avoided or not, given that I would be fine with using a non-free 
>> driver for the moment, but would rather not be bound to it in the long run.  
> As anything undocumented that ships only with a proprietary,
> binary-only driver, yes, it should be avoided. Relying on the epkowa
> backend will come back in your face at the worst possible moment.

Like when you buy a 64bit machine ;-(

> Newer versions of iScan! require newer versions of the interpreter
> libraries that are only available for some of the latest models. So
> far Epson has not committed to providing updated libraries for the
> older models. (though Olaf told me he was trying to obtain that)
> Olaf is generally helpful and does everything he can possibly do to
> help, including forwarding feedback to his management. But there's
> only so much he can do, unfortunately. He's not responsible for the
> binary-only bits which are provided by third parties he has no control
> over.
> (that was the "do not pester Olaf" disclaimer - I did so already :)

Thanks! :-)

Hope that 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