[sane-devel] Sane API

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


Hello,

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
https://openprinting.github.io/upcoming-technologies/02-ipp-scan/
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