[sane-devel] Sane API

Olaf Meeuwissen paddy-hack at member.fsf.org
Wed Oct 14 12:12:49 BST 2020

Hi Johannes,

Johannes Meixner writes:

> Hello,
> On 2020-10-13 11:02, Olaf Meeuwissen wrote:
>> Following semantic versioning, we are at liberty to (completely) break
>> the API's backward compatibility although I realize that the draft has
>> different ideas about that.  Seeing how many years have passed since it
>> was drafted, I guess a more radical approach _might_ be in order.
> I don't know any details here so I could totally misunderstand things
> but "break ... backward compatibility" looks a bit scaring to me
> so I like to ask if I understand things at least basically right:
> Would it mean that existing frontends could no longer work
> because of "broken backward compatibility"?

Assuming for simplicity's sake that the backward compatibility breaking
version is SANE 2 and what we use now is SANE 1, breaking backward
compatibility means that

 - SANE 1 frontends will continue to work with SANE 1 backends
 - SANE 1 frontends will not work with SANE 2 backends
 - SANE 2 frontends will work with SANE 2 backends
 - SANE 2 frontends will not work with SANE 1 backends

> Could it mean that new frontends (for the new API) would
> no longer work with old backends that implement the old API?

So, yes.

Of course, if someone bothers to write a SANE 2 backend that uses one,
some or even all of the SANE 1 backends, SANE 2 frontends can use that
backend to access devices that are only supported by a SANE 1 backend.

Hope this helps,
Olaf Meeuwissen, LPIC-2            FSF Associate Member since 2004-01-27
 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13  F43E B8A4 A88A F84A 2DD9
 Support Free Software                        https://my.fsf.org/donate
 Join the Free Software Foundation              https://my.fsf.org/join

More information about the sane-devel mailing list