[sane-devel] Sane API

Johannes Meixner jsmeix at suse.de
Tue Oct 20 10:03:27 BST 2020


On 2020-10-19 15:04, Alexander Pevzner wrote (excerpts):
> On 10/19/20 3:41 PM, Johannes Meixner wrote:
> What is much more important and much harder to fix, is to prevent loss
> of existent ~100 SANE 1.0 drivers (backends). Most of them are not
> maintained and nobody will bother to rewrite them to support SANE 2.0
> API.
>> To avoid that I think it is mandatory in practice that SANE 1 
>> frontends
>> will continue to work as they did all the time so that for the users
>> there is no noticeable disruption in how things work for them.

I think it was confusing what I wrote about SANE 1 frontends.
What I actually meant was that SANE 1 backends should continue
to work as they did all the time.
Because a SANE 2 frontend would not work when used/linked directly
with an unchanged SANE 1 backend I wrote about SANE 1 frontends.

Simply put what I liked to say was:
For the user there should not be two separated frontends
like /usr/bin/scanimage for SANE 1 backends
and /usr/bin/scanimage2 for SANE 2 backends
but only one same frontend /usr/bin/scanimage that works
both with SANE 1 backends and with SANE 2 backends
so that for users there is no disruption how things behave.

Regarding old and unmaintained SANE 1 backends:
I fear many existing external/third-party SANE 1 backends
(in particular proprietary backends from scanner manufacturers)
are also unmaintained in practice and I fear many users use them
which makes some backward-compatibility-layer (e.g. a meta backend)
more or less mandatory in practice to keep SANE as THE standard.

Or perhaps the ultimate way out are IPP-Scan Scanner Applications
which encapsulate each individual scanner device driver into
a separated Scanner Application that presents the scanner device
as a virtual/emulated IPP scanner to user applications?

This way scanner devices with a SANE 1 backend as driver would be
encapsulated in a Scanner Application based on a SANE 1 backend
while scanner devices with a SANE 2 backend as driver would be
encapsulated in a Scanner Application based on a SANE 2 backend
and for the user all scanner devices appear as IPP scanners
that can be used with one same IPP scanner user application.

Kind Regards
Johannes Meixner
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5 - 90409 Nuernberg - Germany
(HRB 36809, AG Nuernberg) GF: Felix Imendoerffer

More information about the sane-devel mailing list